Postado Julho 5, 2014 10 anos Para quem não sabe como funciona o script : O player usa um comando para salvar uma coordenada do mapa,ele poderá usar um comando para abrir uma lista onde irão ter todos os lugares salvos e o player poderá se teleportar para os lugares que foram marcados,podendo ser configurado o maximo de lugares para serem salvos,se precisa estar em protection zone para usar o comando e se precisa de premium para usar. Imagens caso não tenha entendido como funciona o script (clique em spoiler) : Ao digitar !teleport abrirá uma caixa com todos os locais salvos pelo player,imagem da caixa vazia : Para adicionar um local a sua lista de teleportes,você deve executar o comando "!saveTeleport nomedolocal".Imagem da caixa com um local adicionado : Ao selecionar o local e clicar em Teleport o player será teleportado para coordenada marcada no test1. Você pode adicionar mais locais a sua lista de teleports.Imagem com mais locais adicionados : Para configurar quantos locais podem ser adicionado a lista de teleports você pode alterar este número no script : maxPortPoints = 10 Caso o player tenha alcançado o número maximo de locais adicionados na lista de teleports ele poderá deletar executando o comando "!deleleTeleport nomedolocal".Exemplo : Ao digitar "!deleteTeleport shop" o local que está com o nome shop na lista será deletado : • Adicionando o script • Adicione está tabela na sua database : CREATE TABLE IF NOT EXISTS `player_teleport` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player_id` int(11) NOT NULL, `slot` int(11) NOT NULL, `posx` int(11) NOT NULL DEFAULT '0', `posy` int(11) NOT NULL DEFAULT '0', `posz` int(11) NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL COMMENT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB; Em "data/creaturescripts/scripts/login.lua" : player:registerEvent("Teleport") Em "data/creaturescripts/creaturescripts.xml" : <event type="modalWindow" name="Teleport" script="teleport.lua"/> Em "data/creaturescripts/scripts/teleport.lua" : function onModalWindow(cid, modalWindowId, buttonId, choiceId) local player = Player(cid) local playerGuid = player:getGuid() if modalWindowId == 1 then if buttonId == 0x00 then -- Select if not teleport.canTeleportWhileInfight and getCreatureCondition(cid, CONDITION_INFIGHT) == false then local posx = db.storeQuery("SELECT `posx` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. choiceId .."") local posX = result.getDataString(posx, "posx") local posy = db.storeQuery("SELECT `posy` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. choiceId .."") local posY = result.getDataString(posy, "posy") local posz = db.storeQuery("SELECT `posz` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. choiceId .."") local posZ = result.getDataString(posz, "posz") local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. choiceId .."") local portName = result.getDataString(slot, "name") doTeleportThing(cid, {x = posX, y = posY, z = posZ}, true) doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para ".. portName ..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) result.free(posx); result.free(posy); result.free(posz); result.free(slot) else doPlayerSendCancel(cid, "Voce nao pode se teleportar com battle.") end end if buttonId == 0x01 then -- Cancel return false end elseif modalWindowId == 2 then if buttonId == 0x00 then -- Delete local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. choiceId .."") local portName = result.getDataString(slot, "name") db.query("DELETE FROM `player_teleport` WHERE `player_id` = " .. playerGuid .. " AND slot = ".. choiceId .."") doPlayerSendTextMessage(cid, 22, "Voce removeu ".. portName .." da lista de teleportes.") result.free(slot) end if buttonId == 0x01 then -- Cancel return false end end return true end Em "data/talkactions/talkactions.xml" : <talkaction words="!teleport" separator=" " script="teleport.lua"/> <talkaction words="!saveTeleport" separator=" " script="teleport.lua"/> <talkaction words="!deleteTeleport" separator=" " script="teleport.lua"/> Em "data/talkactions/scripts/teleport.lua" : function onSay(cid, words, param) local player = Player(cid) if teleport.premiumOnly and getPlayerPremiumDays(cid) < 1 and getPlayerGroupId(cid) < 4 then return doPlayerSendCancel(cid, "Voce precisar ser premium account para usar este comando.") end if words == "!saveTeleport" then if Tile(getThingPos(cid)):getHouse() and getTilePzInfo(getThingPos(cid)) then savePortPosition(cid, string.lower(param)) else doPlayerSendCancel(cid, "Voce so pode salvar em uma house ou em protection zone") end elseif words == "!teleport" then local modal = ModalWindow(1, "Lista de Teleportes", "Escolha seu destino:") playerGuid = player:getGuid() local ret = false for var = 1, teleport.maxPortPoints do local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. var .."") if slot ~= false then local portName = result.getDataString(slot, "name") modal:addChoice(var, "".. portName .."") result.free(slot) ret = true end end if ret then modal:addButton(0x00, "Teleportar") modal:setDefaultEnterButton(0x00) end modal:addButton(0x01, "Cancelar") modal:setDefaultEscapeButton(0x01) modal:sendToPlayer(player) elseif words == "!deleteTeleport" then local modal = ModalWindow(2, "Lista de Teleportes", "Escolha qual voce quer deletar:") playerGuid = player:getGuid() local ret = false for var = 1, teleport.maxPortPoints do local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. var .."") if slot ~= false then local portName = result.getDataString(slot, "name") modal:addChoice(var, "".. portName .."") result.free(slot) ret = true end end if ret then modal:addButton(0x00, "Deletar") modal:setDefaultEnterButton(0x00) end modal:addButton(0x01, "Cancelar") modal:setDefaultEscapeButton(0x01) modal:sendToPlayer(player) end return false end Em "data/talkactions/scripts/global.lua" : teleport = { maxPortPoints = 10, canTeleportWhileInfight = false, premiumOnly = false } function savePortPosition(cid, description) local playerGuid = getPlayerGUID(cid) local pos = getCreaturePosition(cid) local port = 0 for i = 1, teleport.maxPortPoints do local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. i .."") if slot == false then port = i ret = true break end result.free(slot) end if ret then db.query("INSERT INTO `player_teleport` (`player_id`, `slot`, `posx`, `posy`, `posz`, `name`) VALUES (".. playerGuid ..", ".. port ..", ".. pos.x ..", ".. pos.y ..", ".. pos.z ..", '".. description .."');") doPlayerSendTextMessage(cid, 22, "Voce salvou o local de teleporte. ".. description ..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendCancel(cid, "Voce nao pode ter mais que ".. teleport.maxPortPoints .." locais salvos.") end end • Configurando • maxPortPoints = 10, canTeleportWhileInfight = false, premiumOnly = false Máximo de locais que podem ser salvos. Pode teleportar com battle ou não. (false = não / true = sim) Precisa ser premium para usar o sistema ou não. (false = não / true = sim) • Comandos • !saveTeleport = Salva o local na lista de teleportes. !deleteTeleport = Deleta um local que está salvo na lista de teleportes. !teleport = Abre a lista de locais salvos. Creditos : Evil Hero(outro fórum). Victor.G pela tradução do script e pelo tópico/tutorial em português. Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
Postado Julho 5, 2014 10 anos O.O Rep+ Vou testar aqui É um sistema de waypoint top.. Antica Global - Server Online SITE: http://anticaglobal.com/ IP: anticaglobal.com EXP: 999x [sTAGES] ML: 300x SKILL: 500x LOOT: 10x VERSÃO: 10.77 PORTA: 7171 Stages: 1 - 8 level, 999x 9 - 20 level, 950x 21 - 50 level, 800x 51 - 100 level, 750x 101 - 130 level, 650x 131 - 180 level, 550x 181 - 230 level, 450x 231 - 300 level, 350x 301+ level, 300x
Postado Julho 7, 2014 10 anos Pô mano, perfeito achei interessante,uma vez vi um pedido parecido como esse script, obrigado por contribuir! Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui Muitos querem aquilo que você tem, mas vão desistir quando souberem o preço que você pagou. lu.lukinha [email protected]
Postado Julho 7, 2014 10 anos muito interessante e completo; porem nao perfeito; como é para 1.0 deveria ser feito usando meta methods; que o padrao do novo tfs facebook.com/PokeJota
Postado Julho 7, 2014 10 anos Autor @eskylo o script está funcionando perfeitamente,foi testado em dois servidores e nos dois tiveram o mesmo resultado,funcionou perfeitamente então antes de comentar que não está perfeito tente pelo menos testar o script,se o seu comentario fosse sobre algum erro no script eu até concordaria com você mas como eu ja disse,o script está funcionando perfeitamente com TFS 1.0 então acho que não tem necessidade de comentar que não está perfeito. Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
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.