Postado Outubro 26, 2011 13 anos Este é um post popular. Warp System[1.0] Olá a todos do TibiaKing! Já estou a um tempo devendo mais um sisteminha para vocês e aqui está ele. Simples, eficaz e completamente editavel. Utilidade Esse sistema de Warp significa ao jogador poder teleportar para várias posições, já armazenadas no mapa, quando estiver em uma dessas posições. Mapa Estive imaginando como fazer essa posição no mapa e tive a ideia de deixa-la assim.. Porém vocês decidem, isso é só um exemplo. Warp Helper Quando o player utiliza o comando "!warp help" ou "!warp helper". Warp Locations Quando o player utiliza o comando "!warp pos" ou "!warp locations". Informações Extras Como você pode notar, quando o player utiliza o Warp Helper, aparece várias configurações extras. Por exemplo: premmium account, promotion, quest... Essas configurações você poderá editar no script para o jeito que desejar. Do mesmo jeito que vocês poderam editar essas configurações, tambem poderam adicionar novos warps para a lista, com seu relativo valor. Código warpSystem.xml Mostrar conteúdo oculto <?xml version="1.0" encoding="UTF-8"?> <mod name="Warp System" version="1.0" author="Aluccard" contact="" enabled="yes"> <config name="warp_config"><![CDATA[ configs = { needPremmy = "true", needPromotion = "false", needQuest = "false", withBattle = "false", questStorage = 22222, warpTotal = 3, warpNames = {"Carlin","Edron","Venore"} } POS = { [1] = {x=32345,y=32228,z=7}, [2] = {x=32346,y=32228,z=7}, [3] = {x=32347,y=32228,z=7} } VALUES = {150,200,350} ]]></config> <talkaction words="!warp" event="buffer"><![CDATA[ domodlib('warp_config') local t = string.explode(param, " ") if (t[1] == "help") or (t[1] == "helper") then return doPlayerPopupFYI(cid, "Helper \n\nNeed premmy: ".. configs.needPremmy .."\nNeed promotion: ".. configs.needPromotion .."\nNeed quest: ".. configs.needQuest .."\nTeleport with battle: ".. configs.withBattle .."\n\nTo teleport say \"to POS\".\nExample: \"to ".. configs.warpNames[1] .."\".\nTo see all warps say: \"!warp pos\".") end if (configs.withBattle == "false") and (getCreatureCondition(cid, CONDITION_INFIGHT) == true) then return doPlayerSendCancel(cid, "You are with battle.") end if (configs.needPremmy == "true") and (not isPremium(cid)) then return doPlayerSendCancel(cid, "You need to be premmium account.") end if (configs.needPromotion == "true") and (getPlayerVocation(cid) < 5) then return doPlayerSendCancel(cid, "You need to get promotion.") end if (configs.needQuest == "true") and (getPlayerStorageValue(cid, configs.questStorage) < 1) then return doPlayerSendCancel(cid, "You need to complete the quest.") end if ( t[1] == nill) then return doPlayerSendCancel(cid, "You need to put one parameter.") end if (t[1] == "locations") or (t[1] == "pos") then local locations = "" for i = 1, configs.warpTotal do locations = "".. locations .."\n".. i ..": ".. configs.warpNames[i] .." - Value: ".. VALUES[i] .."" end return doPlayerPopupFYI(cid, "Locations \n".. locations ..".") end local teleportNumber = 0 if (t[1] == "to") and (t[2] ~= nill) then for i = 1, configs.warpTotal do if (string.lower(t[2]) == string.lower(configs.warpNames[i])) then teleportNumber = i end end if (teleportNumber == 0) then return doPlayerSendCancel(cid, "This location doesnt exist!") end for i = 1, configs.warpTotal do local position = POS[i] if (getPlayerPosition(cid).x == position.x) and (getPlayerPosition(cid).y == position.y) and (getPlayerPosition(cid).z == position.z) then if doPlayerRemoveMoney(cid, VALUES[i]) then doTeleportThing(cid, POS[teleportNumber]) doSendMagicEffect(getPlayerPosition(cid),10) return true else return doPlayerSendCancel(cid, "You dont have this money.") end end end return doPlayerSendCancel(cid, "You need to stay in warp position.") end return doPlayerSendCancel(cid, "Wrong parameters...") ]]></talkaction> </mod> Configs Citar needPremmy = "true", -- true = precisa / false = não precisa needPromotion = "false", -- true = precisa / false = não precisa needQuest = "false", -- true = precisa / false = não precisa withBattle = "false", -- true = pode teleportar com battle. Obs¹: Se necessitas que um player tenha feito alguma quest para utilizar o sistema, basta colocar em needQuest ( true ) e em questStorage o valor do storage da quest desejada. Adicionando Warps No próprio code você encontrará as seguintes variaveis: warpTotals; warpNames; POS; VALUES; Para adicionar novas warps, precisamos somente altera-los... No código temos para três warps, adicionando mais uma: Citar warpTotal = 4, -- 3+1 warpNames = {"Carlin","Edron","Venore","Thais"} -- Thais é o novo warp } POS = { [1] = {x=32345,y=32228,z=7}, [2] = {x=32346,y=32228,z=7}, [3] = {x=32347,y=32228,z=7}, [4] = {x=32348,y=32228,z=7} -- nova posição, para Thais } VALUES = {150,200,350,400} -- novo valor para Thais Conclusões Esse é um script fácil de se manipular, porém pode haver alguns erros que não foi percebidos ainda, por isso está na versão [1.0], pois já foi corrigido vários erros e assim modificado. A versão inicial foi [0.1] e pretendo altera-lo sempre que possivel. Deixando cada vez mais perfeito o sistema. Obs²: Qualquer dúvida é só postar no tópico ou enviar uma mp. Espero que tenham gostado, Aproveitem! Atenciosamente, Aluccard. Editado Outubro 26, 2011 13 anos por Aluccard (veja o histórico de edições) The life is hard: No projects for a while.
Postado Outubro 28, 2011 13 anos Aluccard, este script até me impressionou! É o melhor deste tema de "warp, go, teletransportar..." muito bom mesmo, Reputado! @Aluccard Você joga Zezenia? Editado Outubro 28, 2011 13 anos por Doughell (veja o histórico de edições) E-mail para contato: gigo_xl@hotmail.com Quer ter um fórum mais organizado? Cumpra as regras! Regras do forum. EU VOLTEI GAROTAS! 31/12/2011 Atenciosamente, Guilherme Salviati.
Postado Outubro 30, 2011 13 anos em qual pasta (ex:mods,talkactions,npcs) ponhe esse xml esqueceu de fala isso
Postado Outubro 31, 2011 13 anos Autor Em 28/10/2011 em 17:03, Doughell disse: @Aluccard Você joga Zezenia? Olá Doughell! Sim, já joguei sim, mas parei porque ficou meio monótomo. Olá lordbug! Sobre a pasta, como o próprio titulo do tópico diz, "MODS"... o XML é para ser colocado na pasta MODs. Grato, Aluccard. The life is hard: No projects for a while.
Postado Novembro 19, 2011 13 anos Mas e se o cara estiver em X quest e usar o comando, se estiver envolvido em algum "evento" ele pode acabar bugando o servidor ou pelo menos a quest. We are anonymous.
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.