
lango rullez
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
lango rullez recebeu reputação de jeisonribas em [TFS 1.2] Teleport tile por levelBom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
Bom então vamos lá !
------------------------------------//--------------------------------------
Pasta do seu servidor --> Data --> movements --> scripts
Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
Bom no meu caso coloquei "TileLevel"
E então cole este script dentro:
------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
{´~.~´} Legenda
Vermelho: Level do player que irá poder passar no Teleport/tiler
Dourado: Posição de onde desejar colocar Teleport/tiler
-------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
Agora salve o arquivo!
-----------------------------------------------------------------//-----------------------------------------------------------------------
Agora vamos para Segunda Parte !
Me acompanhe !
---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
Vamos em:
Pasta do seu servidor --> Data --> Movements.xml
Agora adicione o seguinte código/tag:
{´~.~´} Legenda
Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
-----------------------------------//------------------------------------------
Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
Bom espero que ajudem a todos !
Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
A TAG E AS DEMAIS COISAS FEITO POR MIM !
-
lango rullez recebeu reputação de VaizardX em Mega Evolution (PxG) PDAOi.
Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande).
Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original.
Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária.
Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema).
O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções.
Nossa, que textão.
TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração.
data/lib:
cooldown bar.lua:
Troque o código da função getNewMoveTable(table, n) por este:
function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo:
table.insert(ret, "n/n,") Por:
local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por:
min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell:
elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua:
megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone:
function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque:
local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de:
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque:
if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por:
if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque:
doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por:
local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque:
if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bom pessoal é isso!
Espero que ajude !
Creditos:
zipter98 (Pela criação)
Eu Lango Rullez (Por Divulgar ^_^)
-
lango rullez recebeu reputação de Tricoder em CONTRIBUIÇÃO E DESABAFOBom vou fazer um desabafo aqui
Eu fico indignado com umas pessoas desse TK principalmente os membros! Pow nós que temos um conhecimento de script, programação etc.. e disposição pra ir ate um tópico de ajuda e ajudar um membro que tem problemas etc Só que dai: Por exemplo eu vou la e ajudo o usuário e ele faz o que ? porra nenhuma não agradece, não da um REP+ não posta que funcionou para ajudar outras pessoas que possam estar com o mesmo problemas ! Muitas pessoas não estão dando valor a isso e vai criticar quem ? o "TK" não sou advogado nem nada mais tem umas coisas que não da pra aguentar. O DITADO É CLARO: AJUDE PRA SER AJUDADO
Vamo COLABORAR ai MEMBRO E STAFF DA TK
Vale também pras pessoas que são suporte
Alguns tem umas atitudes que são desnecessárias
Alguns membro da STAFF ja tem uma atitude pra que o membro não tenha tanta facilidade para que ele se evolua pra depois ajuda uma pessoa que tenha problemas e consiga ajudar. Olha como seria bom se muitos ajudados aqui se ajuda-se pra ajudar outros que ainda estão aprendendo a resolver ?
Seria Perfeito
Mas infelizmente muitos aqui não querem ter um esforço pra aprender e nem ajudar
A minoria aprende algo e passa pro proximo..esses que nos fazem ficar aqui ajudando.
Seja ou não da STAFF ajuda é sempre bem vinda de qualquer pessoa.
Então GALERA VAMO SE AJUDAR AI VAMO EVOLUIR VAMO TER SABEDORIA FORÇA DE VONTADE NÃO ESPERE PESSOAS PARAREM DE AJUDAR PRA COMEÇAR A DAR VALOR !
PRA UNS AQUI PODE SER PERCA DE TEMPO MAIS TENHO CERTEZA QUE ISSO IRA MUDAR ALGO EM ALGUMAS CABEÇAS..
ESTOU DANDO MEUS PARABÉNS PARA AS PESSOAS QUE ME AJUDARAM
E POR ATÉ HOJE AJUDAR QUEM SEJA QUE FOR OU PRA QUAL PROBLEMA QUE FOR
-
lango rullez recebeu reputação de Bruxo Ots em CONTRIBUIÇÃO E DESABAFOBom vou fazer um desabafo aqui
Eu fico indignado com umas pessoas desse TK principalmente os membros! Pow nós que temos um conhecimento de script, programação etc.. e disposição pra ir ate um tópico de ajuda e ajudar um membro que tem problemas etc Só que dai: Por exemplo eu vou la e ajudo o usuário e ele faz o que ? porra nenhuma não agradece, não da um REP+ não posta que funcionou para ajudar outras pessoas que possam estar com o mesmo problemas ! Muitas pessoas não estão dando valor a isso e vai criticar quem ? o "TK" não sou advogado nem nada mais tem umas coisas que não da pra aguentar. O DITADO É CLARO: AJUDE PRA SER AJUDADO
Vamo COLABORAR ai MEMBRO E STAFF DA TK
Vale também pras pessoas que são suporte
Alguns tem umas atitudes que são desnecessárias
Alguns membro da STAFF ja tem uma atitude pra que o membro não tenha tanta facilidade para que ele se evolua pra depois ajuda uma pessoa que tenha problemas e consiga ajudar. Olha como seria bom se muitos ajudados aqui se ajuda-se pra ajudar outros que ainda estão aprendendo a resolver ?
Seria Perfeito
Mas infelizmente muitos aqui não querem ter um esforço pra aprender e nem ajudar
A minoria aprende algo e passa pro proximo..esses que nos fazem ficar aqui ajudando.
Seja ou não da STAFF ajuda é sempre bem vinda de qualquer pessoa.
Então GALERA VAMO SE AJUDAR AI VAMO EVOLUIR VAMO TER SABEDORIA FORÇA DE VONTADE NÃO ESPERE PESSOAS PARAREM DE AJUDAR PRA COMEÇAR A DAR VALOR !
PRA UNS AQUI PODE SER PERCA DE TEMPO MAIS TENHO CERTEZA QUE ISSO IRA MUDAR ALGO EM ALGUMAS CABEÇAS..
ESTOU DANDO MEUS PARABÉNS PARA AS PESSOAS QUE ME AJUDARAM
E POR ATÉ HOJE AJUDAR QUEM SEJA QUE FOR OU PRA QUAL PROBLEMA QUE FOR
-
lango rullez recebeu reputação de KrazzyMan em Como add a Mega StoneTo sem tempo pra fazer um tuto explicando etc...
vou te passar dois link's que irá te ajudar e será mais rápido..
1°http://www.tibiaking.com/forum/topic/39666-como-adiciona-uma-nova-stone-no-pda/
2°http://www.tibiaking.com/forum/topic/58124-help-mega-stone/
-
lango rullez recebeu reputação de pokemon765 em Como add a Mega StoneTo sem tempo pra fazer um tuto explicando etc...
vou te passar dois link's que irá te ajudar e será mais rápido..
1°http://www.tibiaking.com/forum/topic/39666-como-adiciona-uma-nova-stone-no-pda/
2°http://www.tibiaking.com/forum/topic/58124-help-mega-stone/
-
lango rullez recebeu reputação de Heyron em CONTRIBUIÇÃO E DESABAFOBom vou fazer um desabafo aqui
Eu fico indignado com umas pessoas desse TK principalmente os membros! Pow nós que temos um conhecimento de script, programação etc.. e disposição pra ir ate um tópico de ajuda e ajudar um membro que tem problemas etc Só que dai: Por exemplo eu vou la e ajudo o usuário e ele faz o que ? porra nenhuma não agradece, não da um REP+ não posta que funcionou para ajudar outras pessoas que possam estar com o mesmo problemas ! Muitas pessoas não estão dando valor a isso e vai criticar quem ? o "TK" não sou advogado nem nada mais tem umas coisas que não da pra aguentar. O DITADO É CLARO: AJUDE PRA SER AJUDADO
Vamo COLABORAR ai MEMBRO E STAFF DA TK
Vale também pras pessoas que são suporte
Alguns tem umas atitudes que são desnecessárias
Alguns membro da STAFF ja tem uma atitude pra que o membro não tenha tanta facilidade para que ele se evolua pra depois ajuda uma pessoa que tenha problemas e consiga ajudar. Olha como seria bom se muitos ajudados aqui se ajuda-se pra ajudar outros que ainda estão aprendendo a resolver ?
Seria Perfeito
Mas infelizmente muitos aqui não querem ter um esforço pra aprender e nem ajudar
A minoria aprende algo e passa pro proximo..esses que nos fazem ficar aqui ajudando.
Seja ou não da STAFF ajuda é sempre bem vinda de qualquer pessoa.
Então GALERA VAMO SE AJUDAR AI VAMO EVOLUIR VAMO TER SABEDORIA FORÇA DE VONTADE NÃO ESPERE PESSOAS PARAREM DE AJUDAR PRA COMEÇAR A DAR VALOR !
PRA UNS AQUI PODE SER PERCA DE TEMPO MAIS TENHO CERTEZA QUE ISSO IRA MUDAR ALGO EM ALGUMAS CABEÇAS..
ESTOU DANDO MEUS PARABÉNS PARA AS PESSOAS QUE ME AJUDARAM
E POR ATÉ HOJE AJUDAR QUEM SEJA QUE FOR OU PRA QUAL PROBLEMA QUE FOR
-
lango rullez recebeu reputação de Tricoder em Mega Evolution (PxG) PDAOi.
Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande).
Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original.
Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária.
Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema).
O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções.
Nossa, que textão.
TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração.
data/lib:
cooldown bar.lua:
Troque o código da função getNewMoveTable(table, n) por este:
function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo:
table.insert(ret, "n/n,") Por:
local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por:
min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell:
elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua:
megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone:
function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque:
local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de:
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque:
if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por:
if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque:
doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por:
local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque:
if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bom pessoal é isso!
Espero que ajude !
Creditos:
zipter98 (Pela criação)
Eu Lango Rullez (Por Divulgar ^_^)
-
lango rullez recebeu reputação de Tricoder em [TFS 1.0] Teleport ao matar monsterBom Galera
Hoje vejo trazer a vocês um script que muitos procuram, mas acham os que não funciona ou acham em post's individuais
E resolvi criar um Tópico pra facilitar na busca
Chega de papo né ! Vamos ao que interessa !
--------------------------------------------------------------------------------//------------------------------------------------------------------------------------
1º - Vai na pasta creaturescripts e add isso quer está aqui em baixo.
Vamos ir em
Pasta do ot --> Data --> creaturescripts xml
E cole esse código/tag:
Feito isso vamos em:
Pasta do ot --> Data --> Creaturescripts --> Scripts
copia e cola qualquer arquivo .lua e depois renomeá para tpmonster depois coloque isso quer está aqui em baixo no tpmonster.lua
Ps:É obrigatoriamente ser arquivo .LUA
{´~~´} Legenda
Azul: nome do monstro
vermelho: Posição onde irá aparecer o portal
Roxo: Posição para onde o player será teletransportado
-------------------------------------------------//--------------------------------------------
Agora vai na pasta monster do seu ot e procura pelo monstro que você quer e adicione isso quer está aqui em baixo antes do </monster> da pasta lua do bicho.
E por aqui terminamos !
Espero que isso ajude a todos que estavam com problemas etc...
Ps: Foi testado na TFS 1.0
Caso queira testar nas versões 0.3.6/0.4 e funcionar poste aqui
Agradeço Desde de Já !
Créditos Script: Trypox
Eu: Post
-
lango rullez recebeu reputação de vankk em [TFS 1.0] Teleport ao matar monsterBom Galera
Hoje vejo trazer a vocês um script que muitos procuram, mas acham os que não funciona ou acham em post's individuais
E resolvi criar um Tópico pra facilitar na busca
Chega de papo né ! Vamos ao que interessa !
--------------------------------------------------------------------------------//------------------------------------------------------------------------------------
1º - Vai na pasta creaturescripts e add isso quer está aqui em baixo.
Vamos ir em
Pasta do ot --> Data --> creaturescripts xml
E cole esse código/tag:
Feito isso vamos em:
Pasta do ot --> Data --> Creaturescripts --> Scripts
copia e cola qualquer arquivo .lua e depois renomeá para tpmonster depois coloque isso quer está aqui em baixo no tpmonster.lua
Ps:É obrigatoriamente ser arquivo .LUA
{´~~´} Legenda
Azul: nome do monstro
vermelho: Posição onde irá aparecer o portal
Roxo: Posição para onde o player será teletransportado
-------------------------------------------------//--------------------------------------------
Agora vai na pasta monster do seu ot e procura pelo monstro que você quer e adicione isso quer está aqui em baixo antes do </monster> da pasta lua do bicho.
E por aqui terminamos !
Espero que isso ajude a todos que estavam com problemas etc...
Ps: Foi testado na TFS 1.0
Caso queira testar nas versões 0.3.6/0.4 e funcionar poste aqui
Agradeço Desde de Já !
Créditos Script: Trypox
Eu: Post
-
lango rullez recebeu reputação de Marcio Santos em (Resolvido)Como Tirar Premium Pra Usar Promotion Free@Marcio Santos
----------//------------
Vai no seu config.lua
Procura por isto:
newPlayerSpawnPosX = 160
newPlayerSpawnPosY = 50
newPlayerSpawnPosZ = 8
newPlayerTownId = 1
{´~~´} Legenda
vermelho para a position desejada
azul e o ID da cidade
Ex: 1 rookgaard
" " 2 thais
Assim vai...
-
lango rullez recebeu reputação de AndreAzevedo em [AJUDA] Monstro Morre Aparece Portal.@Andre Felipe de Azev Agr vi tudo.. aquele topico q você criou do erro falta é isso q impede de você abrir o ot vem desse script..
-
lango rullez recebeu reputação de Axion Nitron em Poke tibia dando erro ;-;Talvez reinstalando o jogo você resolva esse problema. Ou baixe e instale a última versão!
-
lango rullez recebeu reputação de Axion Nitron em Erro para criar poketibiatenta liberar a porta 7171/7172 no modem e firewall.
-
lango rullez recebeu reputação de Axion Nitron em Erro em uma parte pequena do meu websiteIsso não é um erro, é porque as funções mysql_* estão deprecadas (velhas) e não são mais usadas. Você pode procurar como remover mensagens de erro do PHP (leia: http://drupal-br.org/node/6870) ou tentar mudar todos os mysql_ por mysqli_.
-
lango rullez recebeu reputação de thelifeofpbion em [HELP] Permissão de QuestRemover os que estão em vermelho?
Linha toda ?
-
lango rullez recebeu reputação de thelifeofpbion em [HELP] Permissão de QuestQueria remover as missões da quest inquisiton ou uma que seja mais fácil.
Só pra eu saber como faz pra eu ir tirando de todas. Pra eu dar meus primeiros passos !
Agradeço a quem ajudar !
[REP+]
-
lango rullez recebeu reputação de Tricoder em [TFS 1.2] Teleport tile por levelBom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
Bom então vamos lá !
------------------------------------//--------------------------------------
Pasta do seu servidor --> Data --> movements --> scripts
Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
Bom no meu caso coloquei "TileLevel"
E então cole este script dentro:
------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
{´~.~´} Legenda
Vermelho: Level do player que irá poder passar no Teleport/tiler
Dourado: Posição de onde desejar colocar Teleport/tiler
-------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
Agora salve o arquivo!
-----------------------------------------------------------------//-----------------------------------------------------------------------
Agora vamos para Segunda Parte !
Me acompanhe !
---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
Vamos em:
Pasta do seu servidor --> Data --> Movements.xml
Agora adicione o seguinte código/tag:
{´~.~´} Legenda
Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
-----------------------------------//------------------------------------------
Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
Bom espero que ajudem a todos !
Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
A TAG E AS DEMAIS COISAS FEITO POR MIM !
-
lango rullez recebeu reputação de drmasters em SCRIPT de TRANSFORMBom não sei se eu entendi direito mas espero que seja isto ! Obs: Não foi testado
legenda:
[itemid] -> é o item que o cara precisa usar para mudar de vocaçao
newVoc -> id da nova vocação
newOut -> apenas mude o numero da nova outfit
needLevel -> level necessário para mudar de vocaçao
CREDITOS: @Orochi Elf
-
lango rullez recebeu reputação de bkmadara em Magia Sem DanoMANDA OS SCRIPTS DAS MAGIAS !
-
lango rullez deu reputação a jeffersonpetrolina em [PEDIDO] Quest que dê 8000 mil moedas de ouroVá em data\actions\scripts crie um aquivo com o nome saco de dinheiro.lua adicione isso \/
Vá em data\actions abra o aquivo action.xml e adicione isso
Agora só é ir no seu rme e adicionar no rme essa actionid no baú
Ajudei ? REP+
-
lango rullez deu reputação a Tricoder em [TFS 1.x] AutoLoot SystemSCREENSHOT
http://3.1m.yt/Zwo99Sdx.png
http://4.1m.yt/oG_cwli8u.png
______________________________________________ COMANDOS
!autoloot add, itemId ou name -- Adicionando um item na lista !autoloot remove, itemId or name -- Remover um item da lista !autoloot show -- Mostrar a lista do autoLoot !autoloot clear -- Limpar a lista do autoLoot ______________________________________________ SCRIPT data/global.lua
-- AutoLoot config AUTO_LOOT_MAX_ITEMS = 5 -- Reserved storage AUTOLOOT_STORAGE_START = 10000 AUTOLOOT_STORAGE_END = AUTOLOOT_STORAGE_START + AUTO_LOOT_MAX_ITEMS -- AutoLoot config end talkactions/talkactions.xml
<talkaction words="!autoloot" separator=" " script="autoloot.lua"/> talkactions/scripts/autoloot.lua
function onSay(player, words, param) local split = param:split(",") local action = split[1] if action == "add" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getId() == 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.") return false end end local itemName = tonumber(split[2]) and itemType:getName() or item local size = 0 for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do local storage = player:getStorageValue(i) if size == AUTO_LOOT_MAX_ITEMS then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The list is full, please remove from the list to make some room.") break end if storage == itemType:getId() then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." is already in the list.") break end if storage <= 0 then player:setStorageValue(i, itemType:getId()) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been added to the list.") break end size = size + 1 end elseif action == "remove" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getId() == 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.") return false end end local itemName = tonumber(split[2]) and itemType:getName() or item for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do if player:getStorageValue(i) == itemType:getId() then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been removed from the list.") player:setStorageValue(i, 0) return false end end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." was not founded in the list.") elseif action == "show" then local text = "-- Auto Loot List --\n" local count = 1 for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do local storage = player:getStorageValue(i) if storage > 0 then text = string.format("%s%d. %s\n", text, count, ItemType(storage):getName()) count = count + 1 end end if text == "" then text = "Empty" end player:showTextDialog(1950, text, false) elseif action == "clear" then for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do player:setStorageValue(i, 0) end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The autoloot list has been cleared.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Use the commands: !autoloot {add, remove, show, clear}") end return false end creaturescripts/creaturescripts.xml
<event type="kill" name="AutoLoot" script="autoloot.lua" /> creaturescripts/scripts/autoloot.lua
local function scanContainer(cid, position) local player = Player(cid) if not player then return end local corpse = Tile(position):getTopDownItem() if not corpse then return end if corpse:getType():isCorpse() and corpse:getAttribute(ITEM_ATTRIBUTE_CORPSEOWNER) == cid then for i = corpse:getSize() - 1, 0, -1 do local containerItem = corpse:getItem(i) if containerItem then for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do if player:getStorageValue(i) == containerItem:getId() then containerItem:moveTo(player) end end end end end end function onKill(player, target) if not target:isMonster() then return true end addEvent(scanContainer, 100, player:getId(), target:getPosition()) return true end creaturescripts/scripts/login.lua
player:registerEvent("AutoLoot") ______________________________________________ CRÉDITOS
Printer -
lango rullez deu reputação a vankk em Addondoll e Moundoll tfs 1.2local config = { ['citizen'] = { male = 128, female = 136 }, ['hunter'] = { male = 129, female = 137 }, ['mage'] = { male = 130, female = 141 }, ['knight'] = { male = 131, female = 139 }, ['noble'] = { male = 132, female = 140 }, ['summoner'] = { male = 133, female = 138 }, ['warrior'] = { male = 134, female = 142 }, ['barbarian'] = { male = 147, female = 143 }, ['druid'] = { male = 148, female = 144 }, ['wizard'] = { male = 149, female = 145 }, ['oriental'] = { male = 150, female = 146 }, ['pirate'] = { male = 151, female = 155 }, ['assassin'] = { male = 152, female = 156 }, ['beggar'] = { male = 153, female = 157 }, ['shaman'] = { male = 154, female = 158 }, ['norseman'] = { male = 251, female = 252 }, ['nightmare'] = { male = 268, female = 269 }, ['jester'] = { male = 273, female = 270 }, ['brotherhood'] = { male = 278, female = 279 }, ['demonhunter'] = { male = 289, female = 288 }, ['yalaharian'] = { male = 325, female = 324 }, ['wedding'] = { male = 328, female = 329 }, ['warmaster'] = { male = 335, female = 336 }, ['wayfarer'] = { male = 367, female = 366 }, ['afflicted'] = { male = 430, female = 431 }, ['elementalist'] = { male = 432, female = 433 }, ['deepling'] = { male = 463, female = 464 }, ['insectoid'] = { male = 465, female = 466 }, ['entrepreneur'] = { male = 472, female = 471 }, ['crystal warlord'] = { male = 512, female = 513 }, ['soil guardian'] = { male = 516, female = 514 }, ['demon'] = { male = 541, female = 542 }, ['cave explorer'] = { male = 574, female = 575 }, ['dream warden'] = { male = 577, female = 578 }, ['glooth engineer'] = { male =610, female =618 }, ['jersey'] = { male = 619, female = 620 }, ['champion'] = { male =633 , female = 632 }, ['conjurer'] = { male = 634, female = 578 }, ['beastmaster'] = { male = 637, female =636 }, ['chaos acolyte'] = { male = 664, female = 665 }, ['death herald'] = { male = 667, female = 578 }, ['ranger'] = { male = 684, female = 683 }, ['ceremonial grab'] = { male = 695, female = 694 }, ['puppeteer'] = { male = 697, female = 696 }, ['spirt caller'] = { male = 699, female = 698 }, } function onSay(cid, words, param) local targetOutfit = config[param:lower()] if not targetOutfit then return false end local player = Player(cid) if player:getSex() == 0 then if param == 'mage' then targetOutfit.female, targetOutfit.male = 138, 133 elseif param == 'summoner' then targetOutfit.female, targetOutfit.male = 141, 130 end end if player:hasOutfit(player:getSex() == 0 and targetOutfit.female or targetOutfit.male, 3) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have already obtained the ' .. param .. ' addons.') return false end if not player:removeItem(8982, 1) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You need an addon doll.') return false end player:addOutfitAddon(targetOutfit.female, 3) player:addOutfitAddon(targetOutfit.male, 3) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have received the ' .. param .. ' addons!') player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW) return false end function onSay(cid, words, param) local mounts = { ["widow"] = {id = 1}, ["bird"] = {id = 2}, ["bear"] = {id = 3}, ["sheep"] = {id = 4}, ["panther"] = {id = 5}, ["draptor"] = {id = 6}, ["titanica"] = {id = 7}, ["lizzard"] = {id = 8}, ["blazebringer"] = {id = 9}, ["rapidboar"] = {id = 10}, ["stampor"] = {id = 11}, ["undeadcavebear"] = {id = 12}, ["donkey"] = {id = 13}, ["slug"] = {id = 14}, ["uniwheel"] = {id = 15}, ["crystalwolf"] = {id = 16}, ["panda"] = {id = 19}, ["dromedary"] = {id = 20}, ["kingscorpion"] = {id = 21} } local p = Player(cid) if(p:getItemCount(9019) > 0) then local t = mounts[string.lower(param)] if(param ~= "" and t) then if(t and not p:hasMount(t.id)) then p:removeItem(9019, 1) p:sendTextMessage(MESSAGE_INFO_DESCR, "Sua mount foi adicionada!") p:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) p:addMount(t.id) else p:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem esta mount.") end else p:sendTextMessage(MESSAGE_INFO_DESCR, "Digite novamente, algo está errado!") end else p:sendTextMessage(MESSAGE_INFO_DESCR, "Voce não tem um mount doll!") end return true end Edite os addons/mounts que voce queira..
-
lango rullez deu reputação a Caronte em (Resolvido)Como faz pra checar storage em tabela?local config = { [3001] = {HP = 900}, -- [Storage] = {HP = Quantidade} [3002] = {HP = 780}, } function onUse(cid, item, frompos) local valor = config[getPlayerStorageValue(cid)] if valor then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) +valor.HP) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doSendMagicEffect(frompos, 10) doPlayerSendTextMessage(cid, 20, "Congratulations!") end return true end
Só colocar o valor em questão
if tabela[x] then print("foi") else print("n foi") end se X corresponder a algum índice da tabela, vai retornar algo, se não, nil, e nil é interpretado como false, no if do lua.
@Flaah, não esqueça de remover o item, ou modificar o storage, para que o player não possa usar de novo quantas vezes quiser.
-
lango rullez deu reputação a Flavio S em [AJUDA] Erro nesse scriptTroca :
local tile = toPosition:getTile() por :
local tile = Player(cid):getTile()