Postado Abril 17, 2020 5 anos Autor @L3K0T Então , tipo Te falar o histórico de erros que eu tive com o Script. Na primeira vez que adiconei o script tive um problema grave. No char do GOD se eu adicionasse o monstro , ele alterava minha ID pra 1 e me matava kkkk.. Na segunda vez que alterei , ele invocou até 3 , porém o PLAYER vira foco do monstro Eu só queria que ele não matasse o player., VOu conferir as FLAGS
Postado Abril 17, 2020 5 anos Diretor 1 minuto atrás, mateuscorrea disse: @L3K0T Então , tipo Te falar o histórico de erros que eu tive com o Script. Na primeira vez que adiconei o script tive um problema grave. No char do GOD se eu adicionasse o monstro , ele alterava minha ID pra 1 e me matava kkkk.. Na segunda vez que alterei , ele invocou até 3 , porém o PLAYER vira foco do monstro Eu só queria que ele não matasse o player., VOu conferir as FLAGS Tabom, qualquer coisa tamo ai ? Tem o comando no god /m e o /s O /m e pra monstro mals que mata os outros. O /s e pra sumonar o monstro bonzinho que não vai matar ninguém a não vc dando Target em algo, olha esses scripts no talkactions e tira uma base la, pode ajudar muito vc. Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Abril 17, 2020 5 anos Autor @L3K0T @LeoTK @Rayo Resolvi o problema, obrigado pela ajuda de vocês. Vou explicar os passos de arrumar o erro, caso alguém também tenha no futuro. Primeiro , você precisa achar no paste itens.xml um item que não tenha funcionalidade no jogo e que possa atribuir uma função de script. Fui na pasta ITEMS.Xml e fiz o seguinte: <item id="9077" article="an" name="Red Demon Bag" /> Pronto , ja havia atribuido uma funcionalidade ao item 9077 (Antiga Bag de demon evento) Segundo , você deve criar um monstro dentro da pasta Monster ( ja entenderão o motivo), então usei o seguinte script: ?xml version="1.0" encoding="UTF-8"?> <monster name="Red Demon" nameDescription="a red demon" race="fire" experience="0" speed="300" manacost="10000"> <health now="8200" max="8200"/> <look type="35" corpse="5995"/> <targetchange interval="5000" chance="8"/> <strategy attack="200" defense="100"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> Importe seu monstro na pasta monster.xml monster name="Red Demon" file="Monstros Danger/Red Demon.xml"/> Após Criar o monstro , deverá fazer o script que vai atribuir o monstro a ser invocado na pasta actions com o seguinte nome : smonster.lua local config = { name = "Red Demon", -- Nome do Summon max = 1, -- Máximo de summons exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 2 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if not exhaustion.check(cid, config.exaust_sto) then if table.maxn(getCreatureSummons(cid)) <= config.max then local target = doCreateMonster(config.name, pos) doConvinceCreature(cid, target) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro ".. config.name .."!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) exhaustion.set(cid, config.exaust_sto, config.exaust_time) return true else doPlayerSendTextMessage(cid, 27, "Você ja tem a quantidade máxima de summons ativos!") doSendMagicEffect(pos, POFF) return false end else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end return true end Terceiro , colocar esse script dentro da pasta do actions : <action itemid="9076" script="smonster.lua"/> Quarto passo abrir o Mapa do jogo e importar o monstro! A explicação sobre a criação do monstro é simples . Normalmente os monstros vem com atribuições dentro do seu script sobre atacar , summonar e etc. Se você simplesmente pegar um monstro do seu mapa que ja existe e altera-lo , vai interferir em todos os monstros que ja estão importados no game. Então o Adequeado é que se crie um monstro com as características que você quer para que ele seja seu PET , acaba que fica muito mais fácil do que PET SYSTEM E como ultimo passo Assim como foi citado pelo nosso amigo @L3K0T existe um pequeno problema ao adicionar esse sistema de monstros . Deve ir nas FLAGS do monstro e alterar para: <flags> <flag summonable="0"/> (Atribua um valor 1 ) - Para que possa ser sumonado = <flag summonable="1"/> <flag attackable="1"/> (Caso queira que o Pet possa ser atacado deixe como esta) <flag hostile="1"/> (Chegamos ao problema , HOSTIL = 1 significa que o monstro também mata quem somona , então coloque 0) <flag illusionable="0"/> <flag convinceable="0"/> (E para finalizar Convinceable deve ter o valor 1 , para você conseguir controlar o monstro) = <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> Obrigado por todos que me deram essa idéia , ja testei em outros mapas e funcionou ! Valeu gente . Repp++ pra todos Editado Abril 17, 2020 5 anos por mateuscorrea Diminuir conteúdo escrito (veja o histórico de edições)
Postado Abril 17, 2020 5 anos Diretor 5 horas atrás, mateuscorrea disse: @L3K0T @LeoTK @Rayo Resolvi o problema, obrigado pela ajuda de vocês. Vou explicar os passos de arrumar o erro, caso alguém também tenha no futuro. Primeiro , você precisa achar no paste itens.xml um item que não tenha funcionalidade no jogo e que possa atribuir uma função de script. Fui na pasta ITEMS.Xml e fiz o seguinte: <item id="9077" article="an" name="Red Demon Bag" /> Pronto , ja havia atribuido uma funcionalidade ao item 9077 (Antiga Bag de demon evento) Segundo , você deve criar um monstro dentro da pasta Monster ( ja entenderão o motivo), então usei o seguinte script: ?xml version="1.0" encoding="UTF-8"?> <monster name="Red Demon" nameDescription="a red demon" race="fire" experience="0" speed="300" manacost="10000"> <health now="8200" max="8200"/> <look type="35" corpse="5995"/> <targetchange interval="5000" chance="8"/> <strategy attack="200" defense="100"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> Importe seu monstro na pasta monster.xml monster name="Red Demon" file="Monstros Danger/Red Demon.xml"/> Após Criar o monstro , deverá fazer o script que vai atribuir o monstro a ser invocado na pasta actions com o seguinte nome : smonster.lua local config = { name = "Red Demon", -- Nome do Summon max = 1, -- Máximo de summons exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 2 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if not exhaustion.check(cid, config.exaust_sto) then if table.maxn(getCreatureSummons(cid)) <= config.max then local target = doCreateMonster(config.name, pos) doConvinceCreature(cid, target) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro ".. config.name .."!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) exhaustion.set(cid, config.exaust_sto, config.exaust_time) return true else doPlayerSendTextMessage(cid, 27, "Você ja tem a quantidade máxima de summons ativos!") doSendMagicEffect(pos, POFF) return false end else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end return true end Terceiro , colocar esse script dentro da pasta do actions : <action itemid="9076" script="smonster.lua"/> Quarto passo abrir o Mapa do jogo e importar o monstro! A explicação sobre a criação do monstro é simples . Normalmente os monstros vem com atribuições dentro do seu script sobre atacar , summonar e etc. Se você simplesmente pegar um monstro do seu mapa que ja existe e altera-lo , vai interferir em todos os monstros que ja estão importados no game. Então o Adequeado é que se crie um monstro com as características que você quer para que ele seja seu PET , acaba que fica muito mais fácil do que PET SYSTEM E como ultimo passo Assim como foi citado pelo nosso amigo @L3K0T existe um pequeno problema ao adicionar esse sistema de monstros . Deve ir nas FLAGS do monstro e alterar para: <flags> <flag summonable="0"/> (Atribua um valor 1 ) - Para que possa ser sumonado = <flag summonable="1"/> <flag attackable="1"/> (Caso queira que o Pet possa ser atacado deixe como esta) <flag hostile="1"/> (Chegamos ao problema , HOSTIL = 1 significa que o monstro também mata quem somona , então coloque 0) <flag illusionable="0"/> <flag convinceable="0"/> (E para finalizar Convinceable deve ter o valor 1 , para você conseguir controlar o monstro) = <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> Obrigado por todos que me deram essa idéia , ja testei em outros mapas e funcionou ! Valeu gente . Repp++ pra todos Que bom que seu problema foi resolvido, eu fico feliz por você!!! Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.