pbottrinks 29 Postado Março 20, 2012 Share Postado Março 20, 2012 Tipo do script: SPELL Protocolo (versão do Tibia): 8.60 Servidor utilizado: TFS Nível de experiência: MÉDIO Adicionais/Informações: Bom, abaixo irei mostrar o Script da Spell, ela é uma spell de summon, é arrumadinha e tal, mas tem um problema, pode summonar mais de um. Eu queria que assim, enquanto o monstro tiver vivo, nao possa summonar outro, assim que o mosntro desaparecer, o player ja pode voltar a summonar. Se puder colocar a seguinte mensagem: Você já fez seu Cyber Protector. Conto com a colaboração de vocês meus amigos. function onTargetTile(cid, position) position.stackpos = 255 doConvinceCreature(cid, doCreateMonster("protector", position, false)) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {0, 0, 0}, {0, 2, 0}, {0, 1, 0}, } local removeTime = 30.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("Protector", pos) doCreatureAddMana(cid, -1500) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 3000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/ Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 20, 2012 Share Postado Março 20, 2012 tenta assim function onTargetTile(cid, position) position.stackpos = 255 doConvinceCreature(cid, doCreateMonster("protector", position, false)) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {0, 0, 0}, {0, 2, 0}, {0, 1, 0}, } local removeTime = 30.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("Protector", pos) doCreatureAddMana(cid, -1500) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 3000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) m = {} s = getCreatureSummons(cid) for k = 1 , #s do table.insert(m, getCreatureName(s[k]) end if table.find(m, ""protector" ) then doPlayerSendCancel(cid, "Você já fez seu Cyber Protector.") return false end return doCombat(cid, combat, var) end Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221061 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 20, 2012 Autor Share Postado Março 20, 2012 Vish maninho, não deu. porquê será? :S Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221080 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 20, 2012 Share Postado Março 20, 2012 printo algum erro no comsole? de qualquer jeito temta assim function onTargetTile(cid, position) position.stackpos = 255 doConvinceCreature(cid, doCreateMonster("protector", position, false)) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {0, 0, 0}, {0, 2, 0}, {0, 1, 0}, } local removeTime = 30.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("Protector", pos) doCreatureAddMana(cid, -1500) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 3000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) m = {} s = getCreatureSummons(cid) for k = 1 , #s do table.insert(m, getCreatureName(s[k]) end if table.find(m, ""protector" ) then doPlayerSendCancel(cid, "Você já fez seu Cyber Protector.") return false else return doCombat(cid, combat, var) end end Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221084 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 20, 2012 Autor Share Postado Março 20, 2012 Ainda não deu, olha a print. Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221088 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 20, 2012 Share Postado Março 20, 2012 (editado) editado tinha uma aspas(") a mais function onTargetTile(cid, position) position.stackpos = 255 doConvinceCreature(cid, doCreateMonster("protector", position, false)) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {0, 0, 0}, {0, 2, 0}, {0, 1, 0}, } local removeTime = 30.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("Protector", pos) doCreatureAddMana(cid, -1500) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 3000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) m = {} s = getCreatureSummons(cid) for k = 1 , #s do table.insert(m, getCreatureName(s[k])) end if table.find(m, "protector" ) then doPlayerSendCancel(cid, "Você já fez seu Cyber Protector.") return false else return doCombat(cid, combat, var) end end Editado Março 20, 2012 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221100 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 20, 2012 Autor Share Postado Março 20, 2012 (editado) Maninho de Deus, ainda ta dando o erro Agora funfou mas continua dando pra fazer mais de um :S [ EDIT ] Editado Março 20, 2012 por TrinksOTReturned Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221104 Compartilhar em outros sites More sharing options...
0 RHCP 24 Postado Março 20, 2012 Share Postado Março 20, 2012 Muda no config.lua pra sumonar só 1 monster. Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221123 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 20, 2012 Share Postado Março 20, 2012 o nome do bixo é protector mesmo,ou isso é so o nome pra sumona? Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221128 Compartilhar em outros sites More sharing options...
0 Kindred 38 Postado Março 20, 2012 Share Postado Março 20, 2012 Se com a script deu mais foi mais de um tenta arrumar la no conf.lua. Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221133 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 20, 2012 Share Postado Março 20, 2012 o problema pode ser que o nome da tag do bixo pode ser diferente do nome dele exemplo:so subwat absolute tem um bixo que chama vanpire cash,mas a tag dele é eclipse,dai pra sumona é /m eclipse Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221141 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 21, 2012 Autor Share Postado Março 21, 2012 (editado) Nem o nome ta igual, mas vou ver no config lua. Se nao der, ficarei mt triste .. [EDIT] Continua dando pra summonar mais de um . Me ajudem, por favor. Nem a mensagem ta aparecendo. (VOCE JA FEZ~). Fico grato se conseguirem. Claro, reputareii. Editado Março 21, 2012 por TrinksOTReturned Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221214 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 21, 2012 Share Postado Março 21, 2012 tenta assim function onTargetTile(cid, position) position.stackpos = 255 doConvinceCreature(cid, doSummonCreature("protector", position)) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {0, 0, 0}, {0, 2, 0}, {0, 1, 0}, } local removeTime = 30.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("Protector", pos) doCreatureAddMana(cid, -1500) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 3000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) m = {} s = getCreatureSummons(cid) for k = 1 , #s do table.insert(m, getCreatureName(s[k])) end if table.find(m, "protector" ) then doPlayerSendCancel(cid, "Você já fez seu Cyber Protector.") return false else return doCombat(cid, combat, var) end end Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221474 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 22, 2012 Autor Share Postado Março 22, 2012 (editado) Continua dando pra summonar mais de um. Creio que não tem geito, mas obrigada pelo esforço! REP+ Atenciosamente, Jacques [ EDIT ] Aí Parceiro, arrumei uma melhorsinha aqui. Ela summona só um e tal. Mas quando vc loga, ela flaa: Você já fez o Protector. ve se consegue me ajudar local removeTime = 1.0 --time to remove the cloneslocal mana = 1000 local HAVE_CLONE = 655370 --storage to know if you have clones or not local arr = { { {0, 0, 0}, {0, 2, 0}, {0, 1, 0} } } local function removeCreatures(cid, creature) setPlayerStorageValue(cid, HAVE_CLONE, 0) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("protector", pos) doCreatureAddMana(cid, -2000) doCreatureSay(cid, "Utevo Aura", TALKTYPE_ORANGE_1) doConvinceCreature(cid, creature) addEvent(removeCreatures, removeTime * 30000, cid, creature) return TRUE end local combat = {} for i = 1, 1 do combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_POFF) setCombatArea(combat, createCombatArea(arr)) _G["onTargetTile" .. i] = onTargetTile setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. i) end function onCastSpell(cid, var) local level = getPlayerLevel(cid) if getPlayerStorageValue(cid, HAVE_CLONE) < 1 then if level > 350 then doCombat(cid, combat[1], var) else doCombat(cid, combat[1], var) end setPlayerStorageValue(cid, HAVE_CLONE, 1) else doPlayerSendCancel(cid, "Voce ja fez o Crystal Protector.") end end Editado Março 22, 2012 por TrinksOTReturned Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1221757 Compartilhar em outros sites More sharing options...
0 Vinc 101 Postado Março 22, 2012 Share Postado Março 22, 2012 vai em creaturescript/script abre login.lua e antes do ultimo end coloca setPlayerStorageValue(cid, 655370, 0) Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1222056 Compartilhar em outros sites More sharing options...
0 pbottrinks 29 Postado Março 23, 2012 Autor Share Postado Março 23, 2012 (editado) Não apareceu nenhum erro no Console. Porém ainda aparece. Você já fez o Cyber Protector. Oq será que deu errado? [EDIT] QUANDO COLOQUEI ISSO. MEU LOGIN.LUA BUGOU TODO ;S Editado Março 23, 2012 por TrinksOTReturned Link para o comentário https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/#findComment-1222280 Compartilhar em outros sites More sharing options...
Pergunta
pbottrinks 29
Tipo do script: SPELL
Protocolo (versão do Tibia): 8.60
Servidor utilizado: TFS
Nível de experiência: MÉDIO
Adicionais/Informações:
Bom, abaixo irei mostrar o Script da Spell, ela é uma spell de summon, é arrumadinha e tal, mas tem um problema, pode summonar mais de um.
Eu queria que assim, enquanto o monstro tiver vivo, nao possa summonar outro, assim que o mosntro desaparecer, o player ja pode voltar a summonar.
Se puder colocar a seguinte mensagem: Você já fez seu Cyber Protector.
Conto com a colaboração de vocês meus amigos.
Link para o comentário
https://xtibia.com/forum/topic/182866-pedido-ajuda-com-spell-para-summonar-apenas-um-monstro/Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados