
Tudo que YanRenat postou
-
NPC Vendedor de Spells (OTServ 8.1)
Eae pessoal, tranquilo? Estou precisando de ajuda em um script de NPC que vende spells. Basicamente o problema consiste no seguinte: eu falo hi, ele responde sem problemas, daí eu falo o nome da spell que eu quero comprar e ele simplesmente não reage de forma alguma. Tudo isso sem dar erro nenhum no distro. Já tentei mudar o nome da spell, já tentei mudar a function pra doPlayerLearnSpell e nada. Se alguém puder me dar uma luz nisso seria de bom grado. Servidor: Aries Server to Tibia 8.10 - Version 3.0 (OTServ SVN 0.6.0). E o script é esse: focus = 0 talk_start = 0 target = 0 following = false attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then if getPlayerVocation(cid) == 2 then selfSay('Hello ' .. creatureGetName(cid) .. '! What spell do you want to learn?') focus = cid talk_start = os.clock() else selfSay('Sorry, I sell spells for druids.') end elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'light healing') then learnSpell(cid,'exura',50) elseif msgcontains(msg, 'create food') then learnSpell(cid,'exevo pan', 100) elseif msgcontains(msg, 'force strike') then learnSpell(cid,'exori mort',600) elseif msgcontains(msg, 'heavy magic missle') then learnSpell(cid,'adori gran',600) elseif msgcontains(msg, 'energy strike') then learnSpell(cid,'exori vis',800) elseif msgcontains(msg, 'flame strike') then learnSpell(cid,'exori flam',800) elseif msgcontains(msg, 'magic shield') then learnSpell(cid,'utamo vita',450) elseif msgcontains(msg, 'intense healing rune') then learnSpell(cid,'adura gran',600) elseif msgcontains(msg, 'intense healing') then learnSpell(cid,'exura gran',350) elseif msgcontains(msg, 'heal friend') then learnSpell(cid,'exura sio',800) elseif msgcontains(msg, 'strong haste') then learnSpell(cid,'utani gran hur',1300) elseif msgcontains(msg, 'haste') then learnSpell(cid,'utani hur',600) elseif msgcontains(msg, 'great fireball') then learnSpell(cid,'adori gran flam',1200) elseif msgcontains(msg, 'ultimate healing rune') then learnSpell(cid,'adura vita',1500) elseif msgcontains(msg, 'ultimate healing') then learnSpell(cid,'exura vita',1000) elseif msgcontains(msg, 'explosion') then learnSpell(cid,'adevo mas hur',1800) elseif msgcontains(msg, 'mass healing') then learnSpell(cid,'exevo gran mas res',2200) elseif msgcontains(msg, 'poison storm') then learnSpell(cid,'exevo gran mas pox',3400) elseif msgcontains(msg, 'ultimate light') then learnSpell(cid,'utevo vis lux',1600) elseif msgcontains(msg, 'greater light') then learnSpell(cid,'utevo gran lux',500) elseif msgcontains(msg, 'light') then learnSpell(cid,'utevo lux',100) elseif msgcontains(msg, 'invisible') then learnSpell(cid,'utana vid',1000) elseif msgcontains(msg, 'summon') then learnSpell(cid,'utevo res',2000) elseif msgcontains(msg, 'find person') then learnSpell(cid,'exiva',80) elseif msgcontains(msg, 'magic rope') then learnSpell(cid,'exani tera',200) elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end
-
(Resolvido)Alavanca de Monstros (OTServ 8.10)
-
(Resolvido)Alavanca de Monstros (OTServ 8.10)
@Storm PS: Encontrei também na pasta do server um arquivo chamado Funções para usar em arquivos LUA. Dentre várias, selecionei essas funções pois foram as que deram problema no distro. getPlayerStorageValue(uid,valueid) -- Returns the value of the value id of a player setPlayerStorageValue(uid,valueid, newvalue) -- Adds a new value-id to the storage map of player getGlobalStorageValue(valueid) -- Returns the value of the value id setGlobalStorageValue(valueid, newvalue) -- Adds a new value-id to the storage map luascript.cpp
-
(Resolvido)Alavanca de Monstros (OTServ 8.10)
-
(Resolvido)Alavanca de Monstros (OTServ 8.10)
-
(Resolvido)Alavanca de Monstros (OTServ 8.10)
Eae pessoal, beleza? Pesquisei no fórum antes de fazer esse tópico e encontrei vários scripts de alavanca de monstros, mas nenhum deles funcionou no meu servidor e eu não consegui resolver o problema Diante disso venho com humildade pedir a ajuda de vocês... O problema é o seguinte: A alavanca summona o monstro tranquilamente, no entanto, não há nenhum tipo de tempo para usá-la novamente. Dessa forma, o player pode usá-la quantas vezes quiser, invocando vários monstros seguidamente. Eu preciso que tenha um tempo que pode ser de 1 minuto ou mais para usar a alavanca novamente. Servidor: Aries Server to Tibia 8.10 - Version 3.0 (OTServ SVN 0.6.0) E o script é esse: Se alguém puder me ajudar nisso, ficarei muito grato.
-
[PEDIDO] Ajustar o meu script da alavanca dos rats em rookgaard
Caro TibiaParadise, este código é um script de uma action. Primeiramente devo avisar que o testei em um servidor 8.6 - T.F.S 0.4, pois não estava funcionando em um server de um amigo meu, desta forma não tenho certeza se funcionará em outras versões. Diante disso, é bem simples solucionar. Se você já tem este script no seu otserver, porém ele está bugado, basta encontrar este script na pasta actions e alterar por este código. Geralmente fica na pasta actions/scripts/other/rats. Se você não tem este script, mas deseja adicioná-lo no seu servidor deverá fazer o seguinte: 1° Você deverá acessar a pasta actions/scripts e fazer uma cópia de qualquer arquivo .lua desta pasta. 2° Apague tudo desta cópia e cole este código lá. 3° Renomeie para rats. 4° Vá até actions.xml e coloque este código: <action actionid="1133" event="script" value="rats.lua" /> 5° Vá até seu mapa editor e adicione 1133 no action id de cada alavanca.
-
[PEDIDO] Ajustar o meu script da alavanca dos rats em rookgaard
De antemão, peço perdão por reviver este tópico. Mas como não encontrei outro tópico solucionando isto eu disponibilizo a solução que encontrei. É simples, mas acredito que pode economizar o tempo de alguém que esteja passando por este problema:
-
Training Monk que não se movimenta para versão 7.6
Fala man, valeu por responder. Bom eu já tinha explicado lá em cima "Já consegui encontrar o script em outras versões mais atuais. Basicamente os tutoriais explicavam que bastava colocar a speed ="0" no script do monster." Já tinha tentado, no entanto não está funcionando fazer isso.
-
Training Monk que não se movimenta para versão 7.6
Olá pessoal, venho pedir a vocês um script de um Training Monk que ficasse parado na versão 7.6. Já consegui encontrar o script em outras versões mais atuais. Basicamente os tutoriais explicavam que bastava colocar a speed ="0" no script do monster. No entanto eu testei na versão 7.6 e não funcionou. Os trainers continuam andando de um lado pro outro... O engraçado é que a function speed funciona, pois quando coloco a mesma em 1, por exemplo, os monks ficam andando bem lentamente... Mas quando coloco a speed no 0 parece que o script não funciona e o Training Monk anda em uma velocidade normal. O ideal pra mim era que eles ficassem completamente parados no sqm onde estão spawnados. Quem puder me mostrar como fazer pra esse trainer parar de andar eu agradeceria muito. Valeu! PS: A foto anexada pode ajudar a entender a situação... Nesta eles estão com a speed 0 no script.