-
Total de itens
4 -
Registro em
-
Última visita
Posts postados por ZeusMnc
-
-
11 horas atrás, lSainty disse:
Não testei, mas creio que assim deva dar certo:
function onUse(cid, item, fromPosition, itemEx, toPosition) local dolls = { [13708] = {pet = "Fly Summon"}, [13711] = {pet = "Dragon Summon"}, -- ID DO ITEM E NOME DO MONSTRO QUE IRÁ SUMONAR [13712] = {pet = "Dog Summon"}, [13714] = {pet = "Cat Summon"}, [13713] = {pet = "Gregory Summon"}, [13781] = {pet = "Power Oozaru Summon"}, [13715] = {pet = "Ghost Summon"}, [13717] = {pet = "Golden Power Summon"}, [13718] = {pet = "Mini Summon"}, [13716] = {pet = "Mini Golden Summon"}, [13782] = {pet = "Red Ghost Summon"}, [13707] = {pet = "Black Power Summon"}, [13709] = {pet = "Orc Summon"}, [13783] = {pet = "Karin Summon"}, [13706] = {pet = "Anjo Summon"}, [13710] = {pet = "Wolf God Helper"}, [13784] = {pet = "Patinho Summon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) local waittime = 600 -- Tempo de exhaustion em segundos local strtime = 250663 -- Storage, nunca usar a mesma em outra Script do mesmo tipo. Ex: mesmo creaturescript, mesmo action e etc... if exhaustion.check(cid, strtime) then doPlayerSendTextMessage(cid, 19, "Aguarde " .. exhaustion.get(cid, strtime) .. " segundos para usar pet novamente .") return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid then doPlayerSendCancel(cid, "Voce deve colocar Contrato no lugar do escudo.") return true end --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já tem criatura summonada") exhaustion.set(cid, strtime, waittime) -- checar time end return true end if item.itemid == 13708 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13711 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13712 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13714 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13713 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13781 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13782 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13716 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13717 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13718 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13715 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13707 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13706 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13709 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13783 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13710 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end if item.itemid == 13784 then -- ID DO ITEM doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") return true end end
Acredito que dê para melhorar o código tirando todos esses 'ifs' também, pois se você já sabe o monstro que vai ser summonado e seu respectivo item dentro da tabela 'dolls', e posteriormente na variável 'go', não é necessário ficar checando pelo itemid infinitas vezes, dessa forma:
function onUse(cid, item, fromPosition, itemEx, toPosition) local dolls = { [13708] = {pet = "Fly Summon"}, [13711] = {pet = "Dragon Summon"}, -- ID DO ITEM E NOME DO MONSTRO QUE IRÁ SUMONAR [13712] = {pet = "Dog Summon"}, [13714] = {pet = "Cat Summon"}, [13713] = {pet = "Gregory Summon"}, [13781] = {pet = "Power Oozaru Summon"}, [13715] = {pet = "Ghost Summon"}, [13717] = {pet = "Golden Power Summon"}, [13718] = {pet = "Mini Summon"}, [13716] = {pet = "Mini Golden Summon"}, [13782] = {pet = "Red Ghost Summon"}, [13707] = {pet = "Black Power Summon"}, [13709] = {pet = "Orc Summon"}, [13783] = {pet = "Karin Summon"}, [13706] = {pet = "Anjo Summon"}, [13710] = {pet = "Wolf God Helper"}, [13784] = {pet = "Patinho Summon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) local waittime = 600 -- Tempo de exhaustion em segundos local strtime = 250663 -- Storage, nunca usar a mesma em outra Script do mesmo tipo. Ex: mesmo creaturescript, mesmo action e etc... if exhaustion.check(cid, strtime) then doPlayerSendTextMessage(cid, 19, "Aguarde " .. exhaustion.get(cid, strtime) .. " segundos para usar pet novamente .") return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid then doPlayerSendCancel(cid, "Voce deve colocar Contrato no lugar do escudo.") return true end --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já tem criatura summonada") exhaustion.set(cid, strtime, waittime) -- checar time end return true end doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350) addEvent(function(playerSummons) if (#playerSummons >= 1) then doRemoveCreature(playerSummons[1]) end end, 120000, getCreatureSummons(cid)) exhaustion.set(cid, strtime, waittime) else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") return true end end
@lSainty
Realizei o teste do segundo script e realmente foi bem otimizado/Resumido, porem acaba com o mesmo erro!
[20:25:54.116] [Error - Action Interface]
[20:25:54.117] In a timer event called from:
[20:25:54.117] data/actions/scripts/Petsystemm.lua:onUse
[20:25:54.118] Description:
[20:25:54.118] (luaDoRemoveCreature) Creature not found
-
Salve Xtibia tenho um Script de Summon!
e utilizo o Addevent para fazer ele sumir depois de 2 minutos!addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
Porem caso ele morra, antes do evento sobe um retorno de erro na Distro!Erro:
Spoiler[17:34:36.353] [Error - Action Interface]
[17:34:36.354] In a timer event called from:
[17:34:36.355] data/actions/scripts/Petsystemm.lua:onUse
[17:34:36.355] Description:
[17:34:36.356] (luaDoRemoveCreature) Creature not found
Qual seria a forma de passar por isso ? sem tomar esse retorno de erro ?
Script.
Spoilerfunction onUse(cid, item, fromPosition, itemEx, toPosition)
local dolls = {
[13708] = {pet = "Fly Summon"},
[13711] = {pet = "Dragon Summon"}, -- ID DO ITEM E NOME DO MONSTRO QUE IRÁ SUMONAR
[13712] = {pet = "Dog Summon"},
[13714] = {pet = "Cat Summon"},
[13713] = {pet = "Gregory Summon"},
[13781] = {pet = "Power Oozaru Summon"},
[13715] = {pet = "Ghost Summon"},
[13717] = {pet = "Golden Power Summon"},
[13718] = {pet = "Mini Summon"},
[13716] = {pet = "Mini Golden Summon"},
[13782] = {pet = "Red Ghost Summon"},
[13707] = {pet = "Black Power Summon"},
[13709] = {pet = "Orc Summon"},
[13783] = {pet = "Karin Summon"},
[13706] = {pet = "Anjo Summon"},
[13710] = {pet = "Wolf God Helper"},
[13784] = {pet = "Patinho Summon"},
}local go = dolls[item.itemid]
local summon = getCreatureSummons(cid)
local waittime = 600 -- Tempo de exhaustion em segundos
local strtime = 250663 -- Storage, nunca usar a mesma em outra Script do mesmo tipo. Ex: mesmo creaturescript, mesmo action e etc...if exhaustion.check(cid, strtime) then
doPlayerSendTextMessage(cid, 19, "Aguarde " .. exhaustion.get(cid, strtime) .. " segundos para usar pet novamente .")
return true
endif item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid then
doPlayerSendCancel(cid, "Voce deve colocar Contrato no lugar do escudo.")
return true
end---------------------------------------------------
if not (getTilePzInfo(getCreaturePosition(cid))) then
if #summon >= 1 then
for _, pid in ipairs(summon) do
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já tem criatura summonada")
exhaustion.set(cid, strtime, waittime) -- checar time
end
return true
endif item.itemid == 13708 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13711 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13712 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13714 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
end
if item.itemid == 13713 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
end
if item.itemid == 13781 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13782 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13716 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13717 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13718 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13715 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13707 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13706 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13709 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13783 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13710 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endif item.itemid == 13784 then -- ID DO ITEM
doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))
doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) -- MENSAGEM AO SUMONAR O PET
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 350)
addEvent(doRemoveCreature, 120000, (getCreatureSummons(cid)[1]))
exhaustion.set(cid, strtime, waittime)
endelse
doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!")
return true
end
endE teria como implementar um sandCancel ? para ele checar o storage e ficar posicionando quanto tempo falta para o summon sumir ? ( e qual seria a forma se possivel detalhar para meu melhor aprendizado)
-
Hello Xtibia! TFS 0.4 8.60
Estou com um problema no script e gostaria de uma ajuda!
Ele funciona da Seguinte forma apos matar x Creatures Spawn Boss na Regiao!
Porem nao esta contabilizando as creatures no chat!
Acredito que tenho que alterar algo nafunction para identificar o player e soltar o aviso para ele! (Pelo oque entendi o script n consegue verificar quem e o player que esta matando a creature!
Error Distro:Spoiler[11:34:38.369] [Error - CreatureScript Interface]
[11:34:38.371] data/creaturescripts/scripts/BossCreature.lua:onDeath
[11:34:38.372] Description:
[11:34:38.372] (luaGetCreatureName) Creature not found[11:34:38.373] [Error - CreatureScript Interface]
[11:34:38.373] data/creaturescripts/scripts/BossCreature.lua:onDeath
[11:34:38.374] Description:
[11:34:38.374] data/creaturescripts/scripts/BossCreature.lua:39: attempt to concatenate a boolean value
[11:34:38.374] stack traceback:
[11:34:38.375] data/creaturescripts/scripts/BossCreature.lua:39: in function <data/creaturescripts/scripts/BossCreature.lua:16>Script : BossCreature.Lua (CreatureScript)
Spoilerfunction doCreateMonsterWalkableAreaPosition(name, from, to)
local pos = {x=math.random(from.x, to.x), y=math.random(from.y, to.y), z=math.random(from.z, to.z)}
if isWalkable(pos, false, false, false) then
doSummonCreature(name, pos)
else
doCreateMonsterWalkableAreaPosition(name, from, to)
end
endlocal t = {
[{"Dragon", "Dragon lord"}] = {storage = 741320, amount = 10, boss = "Boss Dragon", from = {x = 80, y = 187, z = 8}, to = {x = 85, y = 191, z = 8}},
[{"Black Dragon", " Black Dragon lord"}] = {storage = 741321, amount = 10, boss = "Boss Black Dragon", from = {x = 800, y = 1817, z = 8}, to = {x = 851, y = 1911, z = 8}},
}
function onDeath(cid, corpse, deathList)
local killer = deathList[1]
if not isMonster(cid) or not isPlayer(killer) then
return true
end
for v , r in pairs(t) do
if isInArray(v, getCreatureName(cid)) then
local contador = getGlobalStorageValue(r.storage) <= 0 and 0 or getGlobalStorageValue(r.storage)
if contador >= r.amount then
for x = r.from.x - 1, r.to.x + 1 do
for y = r.from.y - 1, r.to.y + 1 do
local pos = {x=x, y=y, z=r.from.z}
local m = getTopCreature(pos).uid
if m ~= 0 and isMonster(m) then
doRemoveCreature(m)
end
end
end
doCreateMonsterWalkableAreaPosition(r.boss, r.from, r.to)
setGlobalStorageValue(r.storage, 0)
doBroadcastMessage("O monstro ".. r.boss .." nasceu!", 20)
else
setGlobalStorageValue(r.storage, contador + 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Boss Spawning: '..(getGlobalStorageValue(r.storage)+1)..' of '..r.amount..' '..getCreatureName(target)..'s killed to spawn boss.')
end
end
end
return true
endCreature Script xml
<event type="Death" name="BossSpawn" event="script" value="BossCreature.lua"/>Login.lua
registerCreatureEvent(cid, "BossSpawn")
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Summon que some depois de um perido! Erro Distro!
em Scripts
Postado
Resolvido. Obrigado!