Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 07/26/22 em todas áreas

  1. Leoxtibia

    Npc Teleporter

    ===NPC=== Crie um arquivo.lua em data/npcs/scripts e cole isto dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local t = { --- posições para level menor que 40 ["cyclops"] = {pos = {x=1,y=1,z=1}}, ["templo"] = {pos = {x=100,y=40,z=7}}, ["troll"] = {pos = {x=1,y=1,z=1}}, ["dwarf"] = {pos = {x=1,y=1,z=1}}, ["elf"] = {pos = {x=1,y=1,z=1}}, ["amazon"] = {pos = {x=1,y=1,z=1}}, ["orc"] = {pos = {x=1,y=1,z=1}} } local x = { -- posições para level maior que 40 ["templo"] = {go = {x=100,y=40,z=7}}, ["dragon"] = {go = {x=1,y=1,z=1}}, ["scarab"] = {go = {x=1,y=1,z=1}}, ["vampire"] = {go = {x=1,y=1,z=1}}, ["giant spider"] = {go = {x=1,y=1,z=1}}, ["hydra"] = {go = {x=1,y=1,z=1}}, ["dragon lord"] = {go = {x=1,y=1,z=1}} } local min = "Escolha para onde quer ser teleportado: {cyclops}, {templo}, {troll}, {dwarf}, {orc}, {elf}, {amazon}." --- msg para lvl menor q 40 local max = "Escolha para onde quer ser teleportado: {templo}, {dragon}, {scarab}, {vampire}, {giant spider}, {hydra}, {dragon lord}." -- msg para lvl maior que 40 if msgcontains(msg, "travel") or msgcontains(msg, "Travel") then if getPlayerLevel(cid) <= 40 then selfSay(min, cid) talkState[talkUser] = 1 elseif getPlayerLevel(cid) > 40 and getPlayerLevel(cid) <= 80 then selfSay(max, cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 1 then if t[msg] then doTeleportThing(cid, t[msg].pos) doSendMagicEffect(getCreaturePosition(cid), 10) selfSay("Boa viagem.", cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 2 then if x[msg] then doTeleportThing(cid, x[msg].go) doSendMagicEffect(getCreaturePosition(cid), 10) selfSay("Boa viagem.", cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em data/npcs, crie um arquivo.xml e cole isto dentro: <npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOSEUARQUIVO.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 {travel}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> ===TALKACTION=== Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: local maxlevel = 80 -- abaixo desse level os players poderão ir local npc = {x=1, y=1, z=1} --- local que o npc estará function onSay(cid, words, param) if getPlayerLevel(cid) < 80 then doTeleportThing(cid, npc) doSendMagicEffect(npc, 10) else doPlayerSendTextMessage(cid, 22, "Apenas players com level abaixo de ".. maxlevel .." tem acesso ao npc.") end return true end Em talkactions.xml cole a tag: <talkaction words="!teleport" script="NOMEDOSEUARQUIVO.lua"/> ===CREATURESCRIPTS=== Em data/creaturescripts/scripts crie um arquivo.lua e cole isto dentro: function onAdvance(cid, skill, oldLevel, newLevel) if getPlayerLevel(cid) >= 70 and getPlayerLevel(cid) <= 80 then doPlayerSendTextMessage(cid, 18, "Lembre-se que depois do level 80 você não poderá usar o comando !teleport") end return true end Em creaturescripts/scripts/login.lua cole antes do return true: registerCreatureEvent(cid, "Notice") Em creaturescripts.xml cole a tag: <event type="advance" name="Notice" event="script" value=NOMEDOSEUARQUIVO.lua"/> Vlw, espero ter ajudado, abraços. @edit Percebi que level 80+ podiam se teleportar com o npc,agora já resolvi isso.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...