What's new

Przedmiot dajacy addon !

Status
Not open for further replies.

Nezoea

User
Joined
Dec 29, 2009
Messages
49
Reaction score
0
Witam. Napisalem sam w 101% ten skrypt. Dziala on na zasadzie klikajac na przedmiot dostajemy addon. Ja bralem pod uwage DemonHunter mozna sobie wybrac inny addon. Przedmiot dziala tylko jeden 1 raz po kliknieciu znika. Teraz wytlumacze jak mozecie przerobic skrypt.
Robicie nowy plik addon.lua w data\actions\scripts i wklejacie to :
-------------------Ares-------------
local itemup = 8981
function onUse(cid, item, frompos, item2, topos)
if item.itemid == itemup then
tppos = {x=321, y=250, z=7, stackpos=1}
doTeleportThing(cid, tppos)
doPlayerAddOutfit(cid,288,2)
doPlayerAddOutfit(cid,289,2)
local playerpos = getCreaturePosition(cid)
doRemoveItem(item.uid,8981)
doSendMagicEffect(playerpos, 12)
doCreatureSay(cid, "Gratulacie! Teraz jestes posiadaczem Second DemonHunter Addon !", TALKTYPE_ORANGE_1)
end
return 1
end
Potem otwieracie w data\actions plik actions.xml i wklajacie tam :
<action itemid="8981" script="addon.lua" />
- ID Items do addonu
- Pozycja gdzie teleportuje po kliknieciu (Ja mam temple)
- ID Addonu
- Cyfry oznaczaja : 1-First Addon, 2- Second Addon, 3- Caly addon
- Tekst- Pokazuje po kliknieciu na item
____________________________________________________________
Moje Skrypty :
First DemonHunter Addon
-------------------Ares-------------
local itemup = 9004
function onUse(cid, item, frompos, item2, topos)
if item.itemid == itemup then
tppos = {x=321, y=250, z=7, stackpos=1}
doTeleportThing(cid, tppos)
doPlayerAddOutfit(cid,288,1)
doPlayerAddOutfit(cid,289,1)
local playerpos = getCreaturePosition(cid)
doRemoveItem(item.uid,9004)
doSendMagicEffect(playerpos, 12)
doCreatureSay(cid, "Gratulacie! Teraz jestes posiadaczem First DemonHunter Addon !", TALKTYPE_ORANGE_1)
end
return 1
end
Second DemonHunter Addon
-------------------Ares-------------
local itemup = 8981
function onUse(cid, item, frompos, item2, topos)
if item.itemid == itemup then
tppos = {x=321, y=250, z=7, stackpos=1}
doTeleportThing(cid, tppos)
doPlayerAddOutfit(cid,288,2)
doPlayerAddOutfit(cid,289,2)
local playerpos = getCreaturePosition(cid)
doRemoveItem(item.uid,8981)
doSendMagicEffect(playerpos, 12)
doCreatureSay(cid, "Gratulacie! Teraz jestes posiadaczem Second DemonHunter Addon !", TALKTYPE_ORANGE_1)
end
return 1
end
 

Ldrozd

Senior User
Joined
Nov 26, 2008
Messages
572
Reaction score
44
Odp: Przedmiot dajacy addon !

Mozna to krocej zapisac i to w jednym skrypcie.

PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local tppos, playerpos = {x=321, y=250, z=7}, getCreaturePosition(cid)
if item.itemid == 9004 then
	doPlayerAddOutfit(cid, 288, 1)
	doCreatureSay(cid, "Gratulacie! Teraz jestes posiadaczem First DemonHunter Addon!", TALKTYPE_ORANGE_1)
elseif item.itemid == 8981 then
	doPlayerAddOutfit(cid, 288, 2)
	doCreatureSay(cid, "Gratulacie! Teraz jestes posiadaczem Second DemonHunter Addon!", TALKTYPE_ORANGE_1)
end
	doTeleportThing(cid, tppos)
	doRemoveItem(item.uid, 1)
	doSendMagicEffect(playerpos, CONST_ME_MAGIC_BLUE)
	return true
end

Code:
<action itemid="8981;9004" event="script" value="addon.lua" />
 

Szkal96

Advanced User
Joined
Jul 17, 2009
Messages
187
Reaction score
10
Odp: Przedmiot dajacy addon !

@up
Nie spamuj -.-

Omg... ;/
local itemup = 8981
...
doRemoveItem(item.uid,8981)
nie lepiej zrobi?
local itemup = 8981
...
doRemoveItem(item.uid,itemup)
skoro to ten sam item?
Nie rozumiem po co teleport, ale skoro powinno dzia?a? to nic mi do tego

Code:
tppos = {x=321, y=250, z=7, stackpos=1}
...
local playerpos = getCreaturePosition(cid)

tppos - w niekt?rych silnikach nie odczytuje bez local, ale ma?o ich jest, a po za tym, je?li jest w skrypcie (w ?rodku, mi?dzy if i end) czasami uznaje to za funkcje i jest bug, dlatego parametry (local) lepiej deklarowa? na pocz?tku (za function, przed if)
 

Ldrozd

Senior User
Joined
Nov 26, 2008
Messages
572
Reaction score
44
Odp: Przedmiot dajacy addon !

ta fraza jest niepoprawna, nie moze to byc ID itemu tylko ilosc uzytego itemu
Code:
local itemup = 8981
...
doRemoveItem(item.uid,8981)

funkcja wyglada nastepujaco:

Code:
doRemoveItem(uid[, count])
 

Nezoea

User
Joined
Dec 29, 2009
Messages
49
Reaction score
0
Odp: Przedmiot dajacy addon !

@up
Nie spamuj -.-
Omg... ;/
nie lepiej zrobi?
skoro to ten sam item?
Nie rozumiem po co teleport, ale skoro powinno dzia?a? to nic mi do tego
Code:
tppos = {x=321, y=250, z=7, stackpos=1}
...
local playerpos = getCreaturePosition(cid)
tppos - w niekt?rych silnikach nie odczytuje bez local, ale ma?o ich jest, a po za tym, je?li jest w skrypcie (w ?rodku, mi?dzy if i end) czasami uznaje to za funkcje i jest bug, dlatego parametry (local) lepiej deklarowa? na pocz?tku (za function, przed if)



Dzieki za uwagi i poprawki.
Grales kiedys na Omega OTS?
 

Iperattor

User
Joined
Nov 11, 2009
Messages
16
Reaction score
1
Odp: Przedmiot dajacy addon !

Je?li sam go robi?e? to nie potrzebnie si? tyle napracowa?e?, mo?na by by?o skr?ci? tak jak to napisa? Ldrozd, nast?pnym razem upewniaj si?, ?e skrypt dzia?a :p. Bior?c pod uwag?, ?e robi?e? go sam ocena 3/5 :p

@down
ok, w takim razie soras :)
 
Last edited:

Nezoea

User
Joined
Dec 29, 2009
Messages
49
Reaction score
0
Odp: Przedmiot dajacy addon !

Je?li sam go robi?e? to nie potrzebnie si? tyle napracowa?e?, mo?na by by?o skr?ci? tak jak to napisa? Ldrozd, nast?pnym razem upewniaj si?, ?e skrypt dzia?a :p. Bior?c pod uwag?, ?e robi?e? go sam ocena 3/5 :p

Skrypt dziala i nie wykazuje zandego bledu w silniku.
Testowane na silniku The Forgotten Server 0.2.5
 

Rangos

Active User
Joined
Nov 7, 2008
Messages
58
Reaction score
0
Odp: Przedmiot dajacy addon !

Tak Apropo o co chodzi z tym Rangos itd ; d
 

Jazper

Advanced User
Joined
Nov 22, 2009
Messages
448
Reaction score
31
Odp: Przedmiot dajacy addon !

mam pytanie czy da si? ten skrypt tak przerobi? jak np. addon dola i jak sie napisze !addon Wizard to dostaniemy full wizarda?? prosz? o odp.
 
Status
Not open for further replies.
Top