Ir para conteúdo

lukas13on

Artesão
  • Total de itens

    138
  • Registro em

  • Última visita

Tudo que lukas13on postou

  1. Tente agora assim: troque os XXX local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'teleports'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Teleports of City for 10 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, IfgetstorageID(XXXX), destination = {x=117, y=53, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'depot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Depot of City for 10 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, IfgetstorageID(XXXX), destination = {x=131, y=54, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'Teleports\', \'Depot\' for just a small fee.'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new())
  2. tente esse local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'teleports'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Teleports of City for 10 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, StorageIDcost=XXXX, destination = {x=117, y=53, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'depot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Depot of City for 10 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, StorageIDcost=XXXX, destination = {x=131, y=54, z=7} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to \'Teleports\', \'Depot\' for just a small fee.'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new())
  3. Valeu por ajeita minha script sou meio novatinho de vez enquando nos erra, mas aprendemos com nossos erros
  4. Onde tive em vermelho coloque o unique id
  5. vc coloco o unqueid no bau?
  6. ARQUIVO.lua ACTIONS.xml --------------------------------------------------------- Esquece aquele outro que eu postei USE ESSE -Troque os " XXXX " POR um valor numerico que seja o uniqueid, maximo de 5 caracteres (5) Numeros -Vocations estão em data/xml/vocations/ encontre a que quiser colocar aqui e ache o id e mude.
  7. NPC.XML <!--?xml version="1.0"?--> <npc name="Guild Master" script="data/npc/scripts/guild.lua" access="3" lookdir="1"> <health now="1" max="1"> <look type="57" head="20" body="30" legs="40" feet="50" corpse="3128"> </look></health></npc> SCRIPT.LUA local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false local talk_state = 0 local gstat = 0 -- guild status local grank = '' -- guild rank local gname = '' -- guild name local cname = '' -- name of player who talks to us local pname = '' -- name of some other player local maxnamelen = 30 local maxranklen = 20 local maxnicklen = 20 local leaderlevel = 50 local NONE = 0 local INVITED = 1 local MEMBER = 2 local VICE = 3 local LEADER = 4 local allow_pattern = '^[a-zA-Z0-9 -]+$' 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) cname = creatureGetGuildLeadernamecid) function getGuildLeaderName(GuildName) -- local leader = db.getResult("SELECT `players`.`name` FROM `players` WHERE `players`.`id` = (SELECT `guilds`.`ownerid` FROM `guilds` WHERE `guilds`.`name` = ".. db.escapeString(GuildName) .. ")") if(leader:getID() ~= -1) then return leader:getDataString("name") end return nilend if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. cname .. '! You can create a guild talking "!createguild ...and the name...". When you create go for the Guild-Chat, and talk ') talk_state = 0 focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. cname .. '! I talk to you in a minute.') elseif msgcontains(msg, 'bye') and (focus == cid) and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. cname .. '!') talk_state = 0 focus = 0 talk_start = 0 elseif focus == cid then if talk_state == 0 then msg = string.lower(msg) if msgcontains(msg, 'found') then -- found a new guild level = getPlayerLevel(cid) if level >= leaderlevel then gstat = getPlayerGuildStatus(cname) if gstat == NONE or gstat == INVITED then selfSay('What name your guild should have?') talk_state = 1 elseif gstat == MEMBER or gstat == VICE or gstat == LEADER then selfSay('Sorry, you are member of a guild.') talk_state = 0 end else selfSay('Sorry, you need level ' .. leaderlevel .. ' to found a guild.') end talk_start = os.clock() elseif msgcontains(msg, 'join') then -- join a guild when invited gstat = getPlayerGuildStatus(cname) if gstat == NONE then selfSay('Sorry, you are not invited to any guild.') talk_state = 0 elseif gstat == INVITED then gname = getPlayerGuildName(cname) selfSay('Do you want to join ' .. gname .. '?') talk_state = 3 elseif gstat == MEMBER or gstat == VICE or gstat == LEADER then selfSay('Sorry, you are a member of a guild.') talk_state = 0 end talk_start = os.clock() elseif msgcontains(msg, 'exclude') or msgcontains(msg, 'kick') then -- kick player from a guild gstat = getPlayerGuildStatus(cname) if gstat == VICE or gstat == LEADER then selfSay('Who do you want to kick today?') talk_state = 4 else selfSay('Sorry, only leader and vice-leaders can kick players from a guild.') talk_state = 0 end talk_start = os.clock() elseif msgcontains(msg, 'invite') then -- invite player to a guild gstat = getPlayerGuildStatus(cname) if gstat == VICE or gstat == LEADER then selfSay('Who do you want to invite to your guild?') talk_state = 5 else selfSay('Sorry, only leader and vice-leaders can invite players to a guild.') talk_state = 0 end talk_start = os.clock() elseif msgcontains(msg, 'leave') then -- leave a guild gstat = getPlayerGuildStatus(cname) if gstat == NONE or gstat == INVITED then selfSay('You are not in a guild.') talk_state = 0 elseif gstat == MEMBER or gstat == VICE then gname = getPlayerGuildName(cname) selfSay('Do you want to leave ' .. gname .. '?') talk_state = 7 elseif gstat == LEADER then selfSay('You are a leader of a guild. If you leave, no one can invite new players. Are you sure?') talk_state = 7 end elseif msgcontains(msg, 'pass') then -- pass leadership gstat = getPlayerGuildStatus(cname) if gstat == LEADER then selfSay('Who do you want to be a new leader?') talk_state = 8 else selfSay('Sorry, only leader can resign from his position.') talk_state = 0 end elseif msgcontains(msg, 'vice') then -- set vice leader gstat = getPlayerGuildStatus(cname) if gstat == LEADER then selfSay('Which member do you want to promote to vice-leader?') talk_state = 9 else selfSay('Sorry, only leader can promote member to vice-leader.') talk_state = 0 end elseif msgcontains(msg, 'member') then -- remove vice-leader gstat = getPlayerGuildStatus(cname) if gstat == LEADER then selfSay('Which vice-leader do you want to demote to regular member?') talk_state = 10 else selfSay('Sorry, only leader can demote vice-leaders to members.') talk_state = 0 end elseif msgcontains(msg, 'nick') or msgcontains(msg, 'title') then -- set nick gstat = getPlayerGuildStatus(cname); if gstat == LEADER then selfSay('Whom player do you want to change nick?') talk_state = 11 else selfSay('Sorry, only leader can change nicks.') talk_state = 0 end end else -- talk_state != 0 talk_start = os.clock() if talk_state == 1 then -- get name of new guild gname = msg if string.len(gname) <= maxnamelen then if string.find(gname, allow_pattern) then if foundNewGuild(gname) == 0 then selfSay('Sorry, there is already a guild with that name.') talk_state = 0 else selfSay('And what rank do you wish to have?') talk_state = 2 end else selfSay('Sorry, guild name contains illegal characters.') talk_state = 0 end else selfSay('Sorry, guild name cannot be longer than ' .. maxnamelen .. ' characters.') talk_state = 0 end elseif talk_state == 2 then -- get rank of leader grank = msg if string.len(grank) <= maxranklen then if string.find(grank, allow_pattern) then setPlayerGuild(cname,LEADER,grank,gname) selfSay('You are now leader of your new guild.') talk_state = 0 else selfSay('Sorry, rank name contains illegal characters.') talk_state = 0 end else selfSay('Sorry, rank name cannot be longer than ' .. maxranklen .. ' characters.') talk_state = 0 end elseif talk_state == 3 then -- join a guild if msg == 'yes' then setPlayerGuildStatus(cname, MEMBER) selfSay('You are now member of a guild.') talk_state = 0 else selfSay('What else can I do for you?') talk_state = 0 end elseif talk_state == 4 then -- kick player pname = msg gname = getPlayerGuildName(cname) gname2 = getPlayerGuildName(pname) if cname == pname then selfSay('To kick yourself say leave.') talk_state = 0 elseif gname == gname2 then gstat2 = getPlayerGuildStatus(pname) if gstat > gstat2 then clearPlayerGuild(pname) selfSay('You kicked ' .. pname .. ' from your guild.') talk_state = 0 else selfSay('Sorry, vice-leaders can kick only regular members.') talk_state = 0 end else selfSay('Sorry, ' .. pname .. ' is not in your guild.') talk_state = 0 end elseif talk_state == 5 then -- get invited name pname = msg gstat = getPlayerGuildStatus(pname) if gstat == MEMBER or gstat == VICE or gstat == LEADER then selfSay('Sorry, ' .. pname .. ' is in another guild.') talk_state = 0 else selfSay('And what rank do you wish to give him/her?') talk_state = 6 end elseif talk_state == 6 then -- get invited rank grank = msg if string.len(grank) <= maxranklen then if string.find(grank, allow_pattern) then gname = getPlayerGuildName(cname) setPlayerGuild(pname, INVITED, grank, gname) selfSay('You have invited ' .. pname .. ' to your guild.') talk_state = 0 else selfSay('Sorry, rank name contains illegal characters.') talk_state = 0 end else selfSay('Sorry, rank name cannot be longer than ' .. maxranklen .. ' characters.') talk_state = 0 end elseif talk_state == 7 then -- leave a guild if msg == 'yes' then clearPlayerGuild(cname) selfSay('You have left your guild.') talk_state = 0 else selfSay('What else can I do for you?') talk_state = 0 end elseif talk_state == 8 then -- pass leadership pname = msg level = getPlayerLevel(pname) if level >= leaderlevel then gname = getPlayerGuildName(cname) gname2 = getPlayerGuildName(pname) if gname == gname2 then setPlayerGuildStatus(cname,MEMBER) setPlayerGuildStatus(pname,LEADER) gname = getPlayerGuildName(cname) selfSay(pname .. ' is a new leader of ' .. gname .. '.') talk_state = 0 else selfSay('Sorry, ' .. pname .. ' is not in your guild.') talk_state = 0; end else selfSay('Sorry, ' .. pname .. ' is not online.') talk_state = 0 end elseif talk_state == 9 then -- set vice-leader pname = msg gname = getPlayerGuildName(cname) gname2 = getPlayerGuildName(pname) if cname == pname then selfSay('To resign from leadership say pass.') talk_state = 0 elseif gname == gname2 then gstat = getPlayerGuildStatus(pname) if gstat == INVITED then selfSay('Sorry, ' .. pname .. ' hasn\'t joined your guild yet.'); talk_state = 0 elseif gstat == VICE then selfSay(pname .. ' is already a vice-leader.') talk_state = 0 elseif gstat == MEMBER then setPlayerGuildStatus(pname, VICE) selfSay(pname .. ' is now a vice-leader of your guild.') talk_state = 0 end else selfSay('Sorry, ' .. pname .. ' is not in your guild.') talk_state = 0 end elseif talk_state == 10 then -- set member pname = msg gname = getPlayerGuildName(cname) gname2 = getPlayerGuildName(pname) if cname == pname then selfSay('To resign from leadership say pass.') talk_state = 0 elseif gname == gname2 then gstat = getPlayerGuildStatus(pname) if gstat == INVITED then selfSay('Sorry, ' .. pname .. ' hasn\'t joined your guild yet.'); talk_state = 0 elseif gstat == VICE then setPlayerGuildStatus(pname, MEMBER) selfSay(pname .. ' is now a regular member of your guild.') talk_state = 0 elseif gstat == MEMBER then selfSay(pname .. ' is already a regular member.') talk_state = 0 end else selfSay('Sorry, ' .. pname .. ' is not in your guild.') talk_state = 0 end elseif talk_state == 11 then -- get name of player to change nick pname = msg gname = getPlayerGuildName(cname) gname2 = getPlayerGuildName(pname) if gname == gname2 then selfSay('And what nick do you want him to have (say none to clear)?') talk_state = 12 else selfSay('Sorry, ' .. pname .. ' is not in your guild.') talk_state = 0 end elseif talk_state == 12 then -- get nick if msg == 'none' then setPlayerGuildNick(pname, '') selfSay(pname .. ' now has no nick.') talk_state = 0 else if string.len(msg) <= maxnicklen then if string.find(msg, allow_pattern) then setPlayerGuildNick(pname, msg) selfSay('You have changed ' .. pname .. '\'s nick.') talk_state = 0 else selfSay('Sorry, nick contains illegal characters.') talk_state = 0 end else selfSay('Sorry, nick cannot be longer than ' .. maxnicklen .. ' characters.') talk_state = 0 end end end end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 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
  8. lukas13on

    Monstro

    Tentei arrumar para você vou dizer uma coisa nunca vi uma XML tão editada e sem elemento como a sua . Oo' <?xml version="1.0" encoding="UTF-8"?> <monster name="Aventador" nameDescription="Aventador" race="fire" experience="20000" speed="275" manacost="10000"> <health now="85000" max="85000"/> <look type="254" corpse="6080"/> <targetchange interval="5000" chance="8"/> <strategy attack="90" defense="10"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="100" attack="5000"/> <attack type="instant" name="flash_light" chance="12"range="7" radius="1" target="1"> <attack type="rune" name="exevo gran mas pox" chance="12" range="7" target="1"> <attack name="death" interval="2000" chance="15" range="7" target="1" min="-2000" max="-3000"> <attribute key="shootEffect" value="death"/> <attribute key="areaEffect" value="mortarea"/> </attack> </attacks> <defenses armor="20" defense="50"> </defense> </defenses> <elements> <element physicalPercent="0"/> <element energyPercent="0"/> <element earthPercent="0"/> <element icePercent="0"/> <element holyPercent="0"/> <element deathPercent="0"/> </elements> <immunities> <immunity fire="1"/> <immunity drown="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <summons maxSummons="1"> <summon name="Chicken" chance="100"/> </summons> <voices interval="5000" chance="10"> <voice sentence="Rmmm, Rmmmm, Rmmm"/> <voice sentence="Rmm Rmmmmmmmmmmmm Rmmmmmmmmmmm"/> <voice sentence="Lamborghini Aventador"/> </voices> <loot> <item id="2160" countmax="98" chance="40000"/> </item> </loot> </monster>
  9. Troque o itemID por STORAGEID ----------------------------------------- pode pega a script, ajeitei para você
  10. Pronto di update agora ele vai teleportar quando tiver o storage. Va em npc/scripts e crie um arquivo itemtravel.lua e bote isto dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local pos = {x=152,y=58,z=7} -------------- Pos para onde o player sera levado local storageid = 2468 ----------------- Id do storage function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, "offer") or msgcontains(msg, "help") then selfSay("Eu posso te levar a TAL lugar por um "..getstorageNameById(storageid).." item, fale {travel} se quizer viajar.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'travel') then if doPlayerStorageid(cid, storageid, 1) then selfSay("Boa viagem.", cid) doTeleportThing(cid, pos) else selfSay("Voce nao tem acesso.", cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Depois crie um arquivo NOMEDONPC.lua e bote isto dentro: <npc name="NOMEDONPC" script="data/npc/scripts/itemtravel.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> <parameters> <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {offer}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> NÃO ESQUEÇA DE CONFIGURAR! FONTE: LINK
  11. lukas13on

    Spell De Atack

    Crie um arquivo na pasta spells/script/kunai.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_THROWINGKNIFE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, -90, 0.7, -50) function onCastSpell(cid, var) return doCombat(cid, combat, var) end agora vá em spell/spells.xml e adicione essa linha abaixo na tag <!-- Attack Spells --> <instant name="Kunai aiai" words="kunai aiai" lvl="15" mana="100" prem="0" range="7" casterTargetOrDirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/kunai.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="3"/> <vocation id="7"/> <vocation id="6"/> <vocation id="4"/> <vocation id="8"/> </instant> Obs: basta configurar as vocations e a mana o exaustion e as words eu coloquei kunai aiai para teste ' kkkkkkkkkkkk Script eu que fiz Ataque baseado em Skill, mesmo dano que o "Exori" dependendo do skill do personagem ele varia Obs:o efeito é mto parecido com kunai
  12. lukas13on

    Npc Script

    Não é tipo um npc que ataca os monstros que estiverem perto dele. exemplo: vai ter invasão de mobs, dai ele vai lá e ajuda a atacar
  13. Aqui estão dois sistemas tente um por vez... Link 1 Link 2
  14. NPC/Script/Oracle.lua focus = 0 talk_start = 0 target = 0 following = false attacking = false talk_state = 0 cname = '' vocation = 0 mainlevel = 8 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Tchau.') 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) cname = creatureGetName(cid) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Ola ' .. cname .. '! Voce esta preparado para encarar o seu destino?') talk_state = 0 focus = cid talk_start = os.clock() elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. cname .. '! I talk to you in a minute.') elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then selfSay('Tchau, ' .. cname .. '!') talk_state = 0 focus = 0 talk_start = 0 elseif focus == cid then talk_start = os.clock() if talk_state == 0 then if msgcontains(msg, 'sim') then -- confirmando decisao level = getPlayerLevel(cname) if level >= mainlevel then selfSay('Otimo! O que voce quer ser? Um knight, um paladin, um sorcerer ou um druid?') talk_state = 1 else selfSay('Lamento, voce precisa de level ' .. mainlevel .. ' para ir para mainland.') talk_state = 0 end else selfSay('Entao volte quando estiver preparado.') talk_state = 0 end elseif talk_state == 1 then -- telling vocation talk_state = 2 if msgcontains(msg, 'sorcerer') then selfSay('Um mistico sorcerer! Tem certeza?') vocation = 1 elseif msgcontains(msg, 'druid') then selfSay('Um misterioso druid! Tem certeza?') vocation = 2 elseif msgcontains(msg, 'paladin') then selfSay('Um certeiro paladin! Tem certeza?') vocation = 3 elseif msgcontains(msg, 'knight') then selfSay('Um incrivel knight! Tem certeza?') vocation = 4 else selfSay('Sorry, there is no such vocation.') vocation = 0 talk_state = 1 end elseif talk_state == 2 then -- confirmando voc if msgcontains(msg, 'sim') then selfSay('Otimo! Posso te mandar pra City. Para onde voce quer ir?') talk_state = 3 else selfSay('Que vocacao voce quer entao?') talk_state = 1 end elseif talk_state == 3 then -- telling city name if msgcontains(msg, 'city') then selfSay('Boa sorte, jovem aventureiro!') setPlayerVocation(cid,vocation) setPlayerMasterPos(cid,160,54,7) selfSay('/send ' .. cname .. ', 160 54 7') talk_state = 0 focus = 0 talk_start = 0 else selfSay('Desculpe, nao existe essa cidade.') talk_state = 3 end end end end function onCreatureChangeOutfit(creature) end function onThink() if (os.clock() - talk_start) > 45 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 NPC.xml <?xml version="1.0"?> <npc name="The Oracle" script="data/npc/scripts/oracle.lua" access="1" monster="1" speed="50" lookdir="2" pushable="0" level="100"> <health now="150" max="150"/> <look type="2010" head="57" body="59" legs="40" feet="76"/> </npc> Cordenadas a onde vai levar. ID da town. ------------------------------------------------------------------------------ Vá no remeres e clique em map>edit towns Coloca o ID da town o mesma do npc oracle dai você coloca o x,y,z as mesmas das definidas no id da town no oracle.
  15. Hm se alguem fizesse por "OK" seria mto mais da hora a vida HushUSHusHSUhsuHSU ' mais valeu pelo script REP+ !
  16. Então tira vai na config.lua -- Premium-related freePremium = "no"
  17. Kkkkkkkk eu tinha feito isso so que deletei pensando que estava errado Oo ' shuHSUhsuHUSHushUSHush
  18. lukas13on

    Heal Bugado

    hm essa script é para trainers? caso seja é um pouco util. pois basta modificar aqui caso você queira heal Monster: <?xml version="1.0" encoding="UTF-8"?> <monster name="xxxxx" nameDescription="xxxxxx" race="blood" experience="0" speed="0" manacost="0"> <health now="10000000" max="10000000"/> <look type="300" head="20" body="30" legs="40" feet="50" corpse="3128"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag staticattack="50"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="500" min="0" max="-1"/> <attack name="physical" interval="500" chance="100" range="7" target="1" min="0" max="0"> <attribute key="shootEffect" value="suddendeath"/> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="physical" interval="3000" chance="19" length="7" spread="3" min="0" max="0"> <attribute key="areaEffect" value="explosionarea"/> </attack> </attacks> <defenses armor="0" defense="0"> <defense name="healing" interval="100" chance="100" min="200000" max="200000"/> </defenses> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="1"/> </immunities> <voices interval="2000" chance="5"> </voices> <loot> <item id="2148" countmax="20" chance1="100000" chancemax="0"/> <item id="1949" chance="10000"/> <item id="2467" chance="10000"/> <item id="2642" chance="6666"/> <item id="1987" chance="100000"> <inside> <item id="2044" chance="6666"/> <item id="2689" countmax="3" chance1="20000" chancemax="0"/> <item id="2401" chance="3333"/> <item id="2166" chance="1428"/> </inside> </item> </loot> </monster> monsters.xml <monster name="xxxxx" file="xxxxx.xml"/> --------------------------------------- ta testado.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...