O que tem haver action com creaturescript?
- Fórum
- OTServ
- Suporte
- Resolvidos
- Resolvido ajudem a retirar bug desse script??
Resolvido ajudem a retirar bug desse script??
Por wevertonvrb, 17 de abr. de 2017 em Resolvidos
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

14 horas atrás, wevertonvrb disse:talvez uma creaturescript
pode ser, não sei se entendi direito...
mas você pode criar uma creaturescript para adicionar uma uniqueid ou actionid, em todo corpse..
e em action colocar a tag com a mesm actionid que é adicionado nos corpse, e dentro do codigo lua a condição do nome...
entendeu?
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

7 horas atrás, Ed'Specter disse:
pode ser, não sei se entendi direito...
mas você pode criar uma creaturescript para adicionar uma uniqueid ou actionid, em todo corpse..
e em action colocar a tag com a mesm actionid que é adicionado nos corpse, e dentro do codigo lua a condição do nome...
entendeu?
sim entendi mas não tenho conhecimento suficiente para criar tal script
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Em 26/04/2017 at 17:29, wevertonvrb disse:sim entendi mas não tenho conhecimento suficiente para criar tal script
function onDeath(cid, corpse, deathList) if corpse.uid > 0 then doItemSetAttribute(corpse.uid, "aid", 12526) endreturn trueend
fiz essa base pra você, coloca em creaturescripts
e em action coloca a mesma action id que está ai na parte
doItemSetAttribute(corpse.uid, "aid", 12526)
se quiser pode mudar.
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

13 horas atrás, Ed'Specter disse:
function onDeath(cid, corpse, deathList) if corpse.uid > 0 then doItemSetAttribute(corpse.uid, "aid", 12526) endreturn trueendfiz essa base pra você, coloca em creaturescripts
e em action coloca a mesma action id que está ai na parte
doItemSetAttribute(corpse.uid, "aid", 12526)
se quiser pode mudar.
ok entendido mas surgiu uma duvida
eu tenho q adicionar essa tag em todos os corpos??
<attribute key="corpseType" value="blood" />
pois os corpos dos pokes não tem isso
<item id="9867" article="a" name="fainted magcargo">
<attribute key="containerSize" value="10" />
<attribute key="decayTo" value="0" />
<attribute key="duration" value="55" />
</item>
oque faz o corpo ser identificado como corpo é a palavra fainted no nome
Editado Abril 28 por wevertonvrb
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Em 28/04/2017 at 18:55, wevertonvrb disse:ok entendido mas surgiu uma duvida
eu tenho q adicionar essa tag em todos os corpos??
<attribute key="corpseType" value="blood" />
pois os corpos dos pokes não tem isso
<item id="9867" article="a" name="fainted magcargo">
<attribute key="containerSize" value="10" />
<attribute key="decayTo" value="0" />
<attribute key="duration" value="55" />
</item>
oque faz o corpo ser identificado como corpo é a palavra fainted no nome
não mano, nem sei da onde você tirou essa tag..
esse script ai que respondi, vai adicionar uma actionid para todo corpse
e em actions vc usa o mesmo actionid para rodar o script..
não estou mais entendendo oq vc quer
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

Em 03/05/2017 at 10:52, Ed'Specter disse:
não mano, nem sei da onde você tirou essa tag..
esse script ai que respondi, vai adicionar uma actionid para todo corpse
e em actions vc usa o mesmo actionid para rodar o script..
não estou mais entendendo oq vc quer
desisto, n estou conseguindo Man o script q tu passou n funcionou de nenhuma forma também n gerou erro
eu queria que esse script funcionasse em todos os corpos ou items que tenha a palavra fainted no nome
sem a necessidade de fazer algo assim no action.xml
<action itemid="11826-11837;11737-11748;10975-10977;12621-12623;12826-12831;12861-13781;13797-13823;13836-13861;13902-13904;13919-13930;13933-13935;13937-13939;14020-14022;14015-14017;14033-14035;14038-14040;14043-14045;14141-14143;14157-14159;14163-14165;14173-14175;14081-14083;14190-14192;14178-14180;14193-14195;14086-14088;14091-14093;14096-14098;14121-14123;14131-14133;14136-14138;14200-14202;14206-14208;14210-14212;14106-14108;14111-14113;14116-14118;14234-14248;14076-14078;14066-14068;14061-14063;14056-14058;14071-14073;14168-14170;14101-14103;14285-14305;14310-14318;14343-14402;14617-14925;14927-14935;14942-14944;15000-15128;15224-15232;15508-15525;2260-2280" event="script" value="script.lua"/>
sim eu quero que eles funcionem em corpos mas como eu defino se o item é um corpo ou não?
como o script vai saber definir se o item é um corpo??
aquela tag eu tirei no item.xml
<item id="7926" article="a" name="dead troll champion">
<attribute key="containerSize" value="10" />
<attribute key="decayTo" value="7927" />
<attribute key="duration" value="10" />
<attribute key="corpseType" value="blood" />
<attribute key="fluidSource" value="blood" />
</item>
o meu corpo não tem essa tag em outra paravras os corpos do meu é como se foce uma backpack com decay & oque define se é corpo é a palavra fainted no nome
a não ser que o xml do monstro registre o item como corpise
<item id="9867" article="a" name="fainted magcargo">
<attribute key="containerSize" value="10" />
<attribute key="decayTo" value="0" />
<attribute key="duration" value="55" />
</item>
o script que voce me passou não funcionou nem deu erro
em um outro script tenho isso
if getTopCorpse(topos) == null then
return true
end
talvez sirva para algo
Editado Maio 4 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

53 minutos atrás, wevertonvrb disse:desisto, n estou conseguindo Man
Desistir é para os fracos, os fortes vão a luta.
Tu já testou o script que o ed postou?
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

sim testei mas não acontece nada, sem erro tambem
Editado Maio 4 por wevertonvrb
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Em 03/05/2017 at 21:57, wevertonvrb disse:
sim testei mas não acontece nada, sem erro tambem
o script que eu te enviei é em creaturesctips, você colocou a tag em creaturescripts.xml e registro em onlogin?
pq dessa forma ai, com o script que te postei, todo player ou monster que morrer, ao criar o corpse, o script vai adicionar uma actionid no corpse.
dai você só vai ter que colocar essa actionid em action.xml e pronto..
entendeu?
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

Em 03/05/2017 at 21:14, Poccnn disse:Desistir é para os fracos, os fortes vão a luta.
Tu já testou o script que o ed postou?
sim testei mas não acontece nada, sem erro tambem
Agora, Ed'Specter disse:
o script que eu te enviei é em creaturesctips, você colocou a tag em creaturescripts.xml e registro em onlogin?
pq dessa forma ai, com o script que te postei, todo player ou monster que morrer, ao criar o corpse, o script vai adicionar uma actionid no corpse.
dai você só vai ter que colocar essa actionid em action.xml e pronto..
entendeu?
sim fiz tudo isso aee e não deu erro mas também n funcionou
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Agora, wevertonvrb disse:sim testei mas não acontece nada, sem erro tambem
sim fiz tudo isso aee e não deu erro mas também n funcionou
é pokemon né?
talvez o parametro corpse não retorne nada ;s
vamos para os teste..
quando alguém morre, e o corpse ta no chão, vc da look com o god e não tem nenhuma actionid no corpse? o correto é aparecer a actionid
substitui por esse...
function onDeath(cid, corpse, deathList)print("morreu") if corpse.uid > 0 then print("entrou no if do corpse") doItemSetAttribute(corpse.uid, "aid", 12526) endreturn trueend
e vê oq printa na distro quando alguém morre
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

21 horas atrás, Ed'Specter disse:
é pokemon né?
talvez o parametro corpse não retorne nada ;s
vamos para os teste..
quando alguém morre, e o corpse ta no chão, vc da look com o god e não tem nenhuma actionid no corpse? o correto é aparecer a actionid
substitui por esse...
function onDeath(cid, corpse, deathList)print("morreu") if corpse.uid > 0 then print("entrou no if do corpse") doItemSetAttribute(corpse.uid, "aid", 12526) endreturn trueende vê oq printa na distro quando alguém morre
não printou nada na distro
em creaturescript
<event type="death" name="autoloot" event="script" value="autoloot.lua"/>
autoloot.lua
function onDeath(cid, corpse, deathList)
print("morreu")
if corpse.uid > 0 then
print("entrou no if do corpse")
doItemSetAttribute(corpse.uid, "aid", 12526)
end
return true
end
em loguin.lua
registerCreatureEvent(cid, "autoloot")
em actions.xml
<action actionid="12526" event="script" value="autoloot.lua"/>
OBS: essa função é usada para verificar se é um corpse
function getTopCorpse(position)
local pos = position
for n = 1, 255 do
pos.stackpos = n
local item = getTileThingByPos(pos)
if item.itemid >= 2 and (string.find(getItemNameById(item.itemid), "fainted ") or string.find(getItemNameById(item.itemid), "defeated ")) then
return getTileThingByPos(pos)
end
end
return null
end
quando morre um player
22:58 You see a dead human. (Vol:10).
ItemID: [3058]
Position: [X: 990][Y: 1042][Z: 7]
quando morre um monstro
22:57 You see a fainted abra. (Vol: 10) It is genderless.
23:00 You see a fainted kadabra. (Vol: 10)
It is genderless.
acredito q seria melhor adicionar essa aid em todos os itens que tenha a palavra fainted no nome pois o catch funciona assim
isso esta presente no catch
local name = string.lower(getItemNameById(item2.itemid))
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")
name = doCorrectPokemonName(name)
Editado Maio 5 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Eu não sei como é que funciona pokelixo, mas como está mechendo com monstros, não deveria por o evento no xml do monstro?



info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25
talvez uma creaturescript