Postado Novembro 16, 2016 8 anos Boa noite seus lindos Eu to aqui montando meu servidor e me deparei com uma coisa que eu nem sei fazer por ser mapper. Scripts e sprites eu tou ferrado, ai eu recorro voces, mas meu mapa ta iradooo. O caso eh o seguinte, eu preciso de um The Oracle que teleporte a vocation escolhida para um respectivo local ... O cara vai la, escolhe por exemplo sorcerer, logo apos fala que ele sera teleportado para o local dos sorcerer e ele diz yes Mesma coisa com Knight, ele escolhe ser Knight no the Oracle e o npc fala que ele sera movido para o Quartel dos Knights ... Eu tentei mesclar umas scripts que faziam isso mas deu merda, nao sei mesmo, se tiver como me ajudar, vai ser bem legal ... Oq pega tambem que ele tem que ganhar a vocation e ser teleportado na mesma hora, pq pode ocorrer dele escolher uma vocacao e ficar na ilha, ele tem que falar a vocation e ja ser teleportado para o local respectivo da sua vocation ... Amo voces! VlW!! Editado Novembro 16, 2016 8 anos por Tryaron (veja o histórico de edições)
Postado Novembro 16, 2016 8 anos Autor Em 16/11/2016 em 02:24, login12 disse: Resumindo: cada vocação teria seu próprio destino é isso? Isso ai =]
Postado Novembro 16, 2016 8 anos Autor local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local vocation = {} local town = {} local destination = {} 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 local function greetCallback(cid) local level = getPlayerLevel(cid) if level < 8 then npcHandler:say("CHILD! COME BACK WHEN YOU HAVE GROWN UP!", cid) return false elseif level > 8 then npcHandler:say(getCreatureName(cid) .. ", I CAN'T LET YOU LEAVE - YOU ARE TOO STRONG ALREADY! YOU CAN ONLY LEAVE WITH LEVEL 8 OR LOWER.", cid) return false elseif getPlayerVocation(cid) > 0 then npcHandler:say("YOU ALREADY HAVE A VOCATION!", cid) return false end return true end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 0 then npcHandler:say("Your initial destination {Kaytan Island}, you will become stronger.", cid) npcHandler.topic[cid] = 1 elseif npcHandler.topic[cid] == 1 then if msgcontains(msg, "kaytan island") then town[cid] = 2 destination[cid] = {x = 159, y = 387, z = 6} npcHandler:say("You have to choose your vocation.: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid) npcHandler.topic[cid] = 2 else npcHandler:say("What you want?", cid) end elseif npcHandler.topic[cid] == 2 then if msgcontains(msg, "sorcerer") then npcHandler:say("A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid) npcHandler.topic[cid] = 3 vocation[cid] = 1 elseif msgcontains(msg, "druid") then npcHandler:say("A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid) npcHandler.topic[cid] = 3 vocation[cid] = 2 elseif msgcontains(msg, "paladin") then npcHandler:say("A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid) npcHandler.topic[cid] = 3 vocation[cid] = 3 elseif msgcontains(msg, "knight") then npcHandler:say("A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid) npcHandler.topic[cid] = 3 vocation[cid] = 4 else npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid) end elseif npcHandler.topic[cid] == 3 then if msgcontains(msg, "yes") then npcHandler:say("SO BE IT!", cid) doPlayerSetVocation(cid, vocation[cid]) doPlayerSetTown(cid, town[cid]) local destination = destination[cid] npcHandler:releaseFocus(cid) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, destination) doSendMagicEffect(destination, CONST_ME_TELEPORT) else npcHandler:say("THEN WHAT? {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid) npcHandler.topic[cid] = 2 end end return true end local function onAddFocus(cid) town[cid] = 0 vocation[cid] = 0 destination[cid] = 0 end local function onReleaseFocus(cid) town[cid] = nil vocation[cid] = nil destination[cid] = nil end npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus) npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus) npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Aquela parte ali na qual fala Kaytan Island que eu queria que nao existisse, e que fosse substutuida por uma nova coordenada de acordo com a vocation que o jogador escolher na hora.
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.