-
Total de itens
2553 -
Registro em
-
Última visita
-
Dias Ganhos
73
Tudo que zipter98 postou
-
[Encerrado] Transformar o passive em spell
tópico respondeu ao MaxxSilva de zipter98 em Tópicos Sem Resposta
lib/configuration.lua, procure nas tabelas de moveset dos pokémons pela passive que deseja transformar em spell. Tomemos como exemplo o Psyduck, Você talvez encontrará algo assim: ["Psyduck"] = {move1 = {name = "Water Gun", level = 9, cd = 15, dist = 1, target = 0, f = 55, t = "water"}, move2 = {name = "Aqua Tail", level = 10, cd = 15, dist = 1, target = 1, f = 50, t = "water"}, move3 = {name = "Confusion", level = 13, cd = 25, dist = 1, target = 0, f = 50, t = "psychic"}, move4 = {name = "Headbutt", level = 15, cd = 15, dist = 1, target = 1, f = 70, t = "normal"}, passive1 = {name = "Stunning Confusion", level = 1, cd = 0, dist = 6, target = 0, f = 10, t = "psychic"}, }, Basta mudar esse passive1 para uma spell "normal", seguindo como base as outras. Ficando, por exemplo, assim: ["Psyduck"] = {move1 = {name = "Water Gun", level = 9, cd = 15, dist = 1, target = 0, f = 55, t = "water"}, move2 = {name = "Aqua Tail", level = 10, cd = 15, dist = 1, target = 1, f = 50, t = "water"}, move3 = {name = "Confusion", level = 13, cd = 25, dist = 1, target = 0, f = 50, t = "psychic"}, move4 = {name = "Headbutt", level = 15, cd = 15, dist = 1, target = 1, f = 70, t = "normal"}, move5 = {name = "Stunning Confusion", level = 1, cd = 15, dist = 1, target = 0, f = 10, t = "psychic"}, }, Assim, o Stunning Confusion seria o m5/move5. Depois, procure por esta tabela (ainda em configuration.lua): ["Stunning"] = { ["Golduck"] = 20, ["Psyduck"] = 15, ["Santa Psyduck"] = 17, ["Wobbuffet"] = 26, }, Retire-a. Agora, em data/creaturescripts/scripts/exp2.0.lua, procure por if passivesChances["Stunning"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Stunning"][getCreatureName(cid)] then docastspell(cid, "Stunning Confusion") end Retire essa parte. -
pedido [Encerrado] Tutorial de como adicionar Shiny Ditto no PDA
tópico respondeu ao Alkimista de zipter98 em Tópicos Sem Resposta
No PDA os arquivos já estão configurados pro Shiny Ditto poder se transformar. Portanto, basta, como o GuhPk mencionou, adicioná-lo ao jogo como qualquer outro pokémon (porém, lembre-se, seu nome precisa ser exatamente Shiny Ditto).- 6 respostas
-
- pda
- shiny ditto
-
(e 2 mais)
Tags:
-
Dei umas arrumadas no script, http://www.xtibia.com/forum/topic/224682-shiny-stone-mais-simples/?p=1587075
-
Opa, parece estar bem legal seu servidor. Boa sorte com ele!
-
Terá que ter o level exato? Ou poderá, tomando como exemplo o level 300, falar com o NPC sendo lv 310? E o quê o player ganhará? Exp? Items? Poderia dar mais informações sobre isso? E qual será o propósito do NPC? Missão?
-
Tenta esse aqui, qualquer erro, só postar. Ah, sabe fazer a tag?
-
Talvez esse erro que você mencionou seja da sprite do item. Poderia dar mais informações sobre a shiny stone que você quer? Por exemplo, se vai ser apenas 1 stone para evoluir os pokémons; ou se terá exceções, que evoluirão com mais, por exemplo, Snorlax para Shiny Snorlax [7 stones], etc. As proteções que terão no script, por exemplo, se o pokémon estiver 4 SQMs longe do jogador, não poderá evoluir; se o player estiver em battle, não poderá evoluir o pokémon, etc. Em geral, informações do script.
-
dúvida [Encerrado] Como Fazer uma Box?
tópico respondeu ao wreymar de zipter98 em Tópicos Sem Resposta
Em data/actions/scripts, crie um arquivo com extensão .lua, com nome newbox, e adicione neste o seguinte conteúdo: local box = {balltype = "normal", ballid = 11826, pokemons = {"Moltres", "Articuno", "Zapdos", "Entei", "Raikou", "Mew", "Mewtwo", "Lugia", "Ho-oh", "Celebi", "Ancient Blastoise"}} local happy = 220 function onUse(cid, item, frompos, item2, topos) local pokemon = box.pokemons[math.random(#box.pokemons)] local btype = box.balltype doPlayerSendTextMessage(cid, 27, "Você abriu uma PokeBox e recebeu um "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) addPokeToPlayer(cid, pokemon, 0, nil, btype) doRemoveItem(item.uid, 1) return true end Em data/actions, abra o arquivo actions.xml e adicione neste a seguinte tag: <action itemid="13078" event="script" value="newbox.lua"/> -
dúvida [Encerrado] Como colocar boost no nome do pokemon
tópico respondeu ao Malusz de zipter98 em Tópicos Sem Resposta
data/lib/level system.lua, procure por: setPlayerStorageValue(pk, 1007, nick) doCreatureSetNick(pk, nick) e adicione, entre eles, if not hideBoost then boost = getItemAttribute(item, "boost") or 0 nick = nick.." [+"..boost.."]" end ficando setPlayerStorageValue(pk, 1007, nick) if not hideBoost then boost = getItemAttribute(item, "boost") or 0 nick = nick.." [+"..boost.."]" end doCreatureSetNick(pk, nick) -
[Encerrado] Alguns problemas e dúvidas
tópico respondeu ao grievous de zipter98 em Tópicos Sem Resposta
1ª - data/creaturescripts/spaw.lua 2ª - data/talkactions/scripts function onSay(cid, words, param, channel) local t = string.explode(param, ",") local player = getPlayerByName(t[1]) local clan = t[2] local rank = tonumber(t[3]) local artigo = getPlayerSex(player) == 0 and "a" or "o" local nome = getPlayerSex(player) == 0 and "jogadora" or "jogador" if getPlayerGroupId(cid) <= 5 then return doPlayerSendCancel(cid, "Você precisa ser GOD para usar esse comando!") end if param == "" then return doPlayerSendCancel(cid, "Estão faltando os parâmetros!") end if not isPlayer(player) then return doPlayerSendCancel(cid, "Use esse comando apenas em jogadores!") end local clans = {'Volcanic', 'Seavell', 'Orebound', 'Wingeon', 'Malefic', 'Gardestrike', 'Psycraft', 'Naturia', 'Raibolt'} if not isInArray(clans, t[2]) then return doPlayerSendCancel(cid, ""..clan.." não é um clan válido.") elseif not tonumber(t[3]) then return doPlayerSendCancel(cid, "Parâmetros incorretos. [name], [clan name], [rank]") end if getCreatureName(cid) ~= getCreatureName(player) then doPlayerSendTextMessage(cid, 27, "Agora, "..artigo.." "..nome.." "..getCreatureName(player).." é do clan "..clan..", rank: "..rank..".") doPlayerSendTextMessage(player, 27, "Você foi promovido por "..getCreatureName(cid).." para o clan "..clan..", rank: "..rank..".") doSendMagicEffect(getThingPos(player), 14) doSendMagicEffect(getThingPos(cid), 14) setPlayerClan(player, clan) setPlayerClanRank(player, rank) else doPlayerSendTextMessage(cid, 27, "Agora você pertence ao clan "..clan..", rank: "..rank..".") doSendMagicEffect(getThingPos(cid), 14) setPlayerClan(cid, clan) setPlayerClanRank(cid, rank) end return true end Modo de uso: /comando nomedoplayer,nomedoclan,rank 3ª - Tenta retirar da tabela das cidades, no arquivo do teleport, a storage delas, e a proteção da Nurse Joy. Se não souber fazer a tag dessa talkaction, só falar aqui que eu te mando. -
dúvida [Encerrado] Como Fazer uma Box?
tópico respondeu ao wreymar de zipter98 em Tópicos Sem Resposta
local box = {balltype = "normal", ballid = 11826, pokemons = {"Moltres", "Articuno", "Zapdos", "Entei", "Raikou", "Mew", "Mewtwo", "Lugia", "Ho-oh", "Celebi", "Ancient Blastoise"}} local happy = 220 function onUse(cid, item, frompos, item2, topos) local pokemon = box.pokemons[math.random(#box.pokemons)] local btype = box.balltype doPlayerSendTextMessage(cid, 27, "Você abriu uma PokeBox e recebeu um "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) addPokeToPlayer(cid, pokemon, 0, nil, btype) doRemoveItem(item.uid, 1) return true end <action itemid="13078" event="script" value="nome do arquivo com o conteúdo acima /\.lua"/> -
Tenta assim: function onUse(cid, item, fromPosition, item2, toPosition) local nonremskulls = {red = SKULL_RED, white = SKULL_WHITE, black = SKULL_BLACK} if getPlayerStorageValue(cid,1800) == 10 then doCreatureSay(cid, "You can not remove your frags and their skulls.", TALKTYPE_ORANGE_1) else if getPlayerLevel(cid) >= 10 then doCreatureSay(cid, "Your Frags were successfully removed.", TALKTYPE_ORANGE_1) db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid,0) doSendMagicEffect(fromPosition, 37) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid,1800,20) return TRUE else doCreatureSay(cid, "Only people level 10 can use this item.", TALKTYPE_ORANGE_1) end end end
-
[Encerrado] Alguem explica essa parte do spells
tópico respondeu ao xmaster0 de zipter98 em Tópicos Sem Resposta
O primeiro, 4*400, é daqui a quanto tempo a storage 3644587 do jogador será setada -1. (no caso, 1 segundo e 600 milésimos.) Já o segundo, i*400, por i assumir os valores 0, 1, 2, 3 e 4, a função doMoveInArea2 será repetida 5 vezes, num intervalo de 400 milésimos. -
Primeiramente, você deve verificar a sprite das spells em seu Dat Editor. O ID que você usará nos scripts é o Itemtype do Dat Editor. Tomando este script do Barrier como exemplo: verifique no seu Dat Editor se em seu client você têm a sprite do Barrier. Se sim, verifique seu Itemtype. Aí, com este já em mente, você procura por todas as funções que usam o Itemtype, e edita lá. Por exemplo, doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 192) Onde 192 é o Itemtype. Se no seu Dat Editor a sprite do Barrier (ou outro sprite desejado) tiver Itemtype, por exemplo, 32, você deveria mudar para: doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 32) Resumindo: o Itemtype do Dat Editor é o ID que você usará nos scripts. Agora, em data/spells; copie um arquivo qualquer de data/spells/scripts/ps, e nomeie para o nome da spell. Aí, neste, você provavelmente verá algo como: function onCastSpell(cid, var) if isSummon(cid) then return true end docastspell(cid, "Nome da spell") return true end Em Nome da spell, você colocar o nome da spell (hue). Se a spell for o Barrier, então, arquivo com nome Barrier, conteúdo: function onCastSpell(cid, var) if isSummon(cid) then return true end docastspell(cid, "Barrier") return true end Novamente em data/spells; abra spells.xml, e coloque, antes de </spells>, a tag da spell. A base seria assim: <instant name="Nome da spell" words="palavras que o god dirá para usar a spell" lvl="1000" mana="0" event="script" value="ps/Nome do arquivo da spell.lua"></instant> No caso do Barrier, ficaria assim: <instant name="Barrier" words="barrierspell" lvl="1000" mana="0" event="script" value="ps/Barrier.lua"></instant> Agora, vamos para a parte mais fácil: configuration.lua. Em data/lib/configuration.lua, procure pela configuração de moveset do(s) pokémon(s) que deseja que tenha a spell. Provavelmente, você sabe editar essa parte. Tomando como a Mr. Mime e o Barrier como exemplo, você procuraria pela configuração da Mr. Mime. No caso, ["Mr. Mime"] = {move1 = {name = "Doubleslap", level = 35, cd = 10, dist = 1, target = 1, f = 25, t = "normal"}, move2 = {name = "Psywave", level = 35, cd = 15, dist = 1, target = 0, f = 75, t = "psychic"}, move3 = {name = "Magical Leaf", level = 35, cd = 15, dist = 4, target = 1, f = 35, t = "grass"}, move4 = {name = "Confusion", level = 35, cd = 35, dist = 1, target = 0, f = 50, t = "psychic"}, move5 = {name = "Psychic", level = 37, cd = 30, dist = 1, target = 0, f = 90, t = "psychic"}, move6 = {name = "Psyusion", level = 35, cd = 60, dist = 1, target = 0, f = 70, t = "psychic"}, move7 = {name = "Reflect", level = 38, cd = 35, dist = 1, target = 0, f = 0, t = "psychic"}, move8 = {name = "Mimic Wall", level = 36, cd = 5, dist = 1, target = 0, f = 0, t = "psychic"}, move9 = {name = "Miracle Eye", level = 36, cd = 40, dist = 1, target = 0, f = 0, t = "psychic"}, }, Então, defina em qual "m" ficará o Barrier. Suponhamos que você queira que ele fique na posição 10 (move10/m10). Depois de definido isso, monte a "linha" de sua spell. A base seria esta: movenúmero do "m"(por exemplo, move9 para m9) = {name = "Nome da spell", level = level necessário para usar a spell, cd = tempo de cooldown da spell, dist = distância mínima para usar a spell(se for em área, deixe 1), target = 0(se deixar 1, precisará de target. 0, não.), f = defina aqui a força da spell, t = "elemento da spell que aparecerá na pokedex"}, Definido as características da spell, adicione então essa "linha" na tabela de moves do pokémon. O Mr. Mime ficaria, então, assim (configurações a meu gosto): ["Mr. Mime"] = {move1 = {name = "Doubleslap", level = 35, cd = 10, dist = 1, target = 1, f = 25, t = "normal"}, move2 = {name = "Psywave", level = 35, cd = 15, dist = 1, target = 0, f = 75, t = "psychic"}, move3 = {name = "Magical Leaf", level = 35, cd = 15, dist = 4, target = 1, f = 35, t = "grass"}, move4 = {name = "Confusion", level = 35, cd = 35, dist = 1, target = 0, f = 50, t = "psychic"}, move5 = {name = "Psychic", level = 37, cd = 30, dist = 1, target = 0, f = 90, t = "psychic"}, move6 = {name = "Psyusion", level = 35, cd = 60, dist = 1, target = 0, f = 70, t = "psychic"}, move7 = {name = "Reflect", level = 38, cd = 35, dist = 1, target = 0, f = 0, t = "psychic"}, move8 = {name = "Mimic Wall", level = 36, cd = 5, dist = 1, target = 0, f = 0, t = "psychic"}, move9 = {name = "Miracle Eye", level = 36, cd = 40, dist = 1, target = 0, f = 0, t = "psychic"}, move10 = {name = "Barrier", level = 64, cd = 45, dist = 1, target = 1, f = 0, t = "psychic"}, --coloque dist = 1, porque, neste script do Stylo Maldoso, o Barrier pode ser usado à qualquer distância. },
-
Dependendo da spell, não é algo complexo de se criar. Primeiramente, você deve saber as funções de damage, as áreas (data/lib/areas.lua), dependendo do objetivo da spell, outras informações adicionais. Com isso em mente, vá em data/lib/pokemon moves.lua; com isso, procure por: if hands == 3 then local ret = {} ret.id = target ret.cd = 9 --alterado v1.6 ret.eff = 43 ret.check = getPlayerStorageValue(target, conds["Slow"]) ret.first = true ret.cond = "Slow" doMoveDano2(cid, target, FIGHTINGDAMAGE, 0, 0, ret, spell) end OBS: Essa parte é a da passive Demon Puncher. Logo abaixo, adicione, primeiramente: elseif spell == "Nome da spell" then Agora, você começa a montar sua spell. Você pode definir variáveis, criar funções, condições, funções já existentes (como as de damage), etc. Você quer que sua spell seja chamada de Thundrs (não sou bom com nomes ._.); solte um efeito na posição do usuário da spell; desapareça; reapareça e dê um dano em área daqui 5 segundos; Assim, o corpo de sua spell seria: local time = 5 --Tempo para aplicar o damage em área/reaparecer/soltar um efeito no target. local eff_one = 14 --Efeito que aparecerá no cid. local eff_two = 13 --Efeito que aparecerá no target. doSendMagicEffect(getThingPosWithDebug(cid), eff_one) --efeito que aparecerá no cid. doDisapear(cid) --função que faz com que o cid desapareça. addEvent(function() doAppear(cid) --função que faz com que o cid reapareça. doMoveInArea2(cid, 48, thunderr, ELECTRICDAMAGE, min, max, spell) --função(cid, efeito, área, tipo do damage, min, max, spell) end, time * 1000) Ficando assim: elseif spell == "Thundrs" then local time = 5 --Tempo para aplicar o damage em área/reaparecer/soltar um efeito no target. local eff_one = 14 --Efeito que aparecerá no cid. local eff_two = 13 --Efeito que aparecerá no target. doSendMagicEffect(getThingPosWithDebug(cid), eff_one) --efeito que aparecerá no cid. doDisapear(cid) --função que faz com que o cid desapareça. addEvent(function() doAppear(cid) --função que faz com que o cid reapareça. doMoveInArea2(cid, 48, thunderr, ELECTRICDAMAGE, min, max, spell) --função(cid, efeito, área, tipo do damage, min, max, spell) end, time * 1000) Depois, configure a spell em data/spells. Aí, é só configurar no configuration.lua, e acabou. Você pode verificar funções de damage em data/lib/NewStatusSyst.lua. Realmente, não sou bom com explicações ._.
-
resolvido [Encerrado] Cores nos hits dos pokemons
tópico respondeu ao xmaster0 de zipter98 em Tópicos Sem Resposta
Se for o que entendi, tabela combats em data/creaturescripts/scripts/exp2.0.lua. -
dúvida [Encerrado] Como Fazer uma Box?
tópico respondeu ao wreymar de zipter98 em Tópicos Sem Resposta
Tentou o arquivo que eu passei acima? -
Se possível, a de membro :3
-
dúvida [Encerrado] Como Fazer uma Box?
tópico respondeu ao wreymar de zipter98 em Tópicos Sem Resposta
Seu servidor é sem lv nos pokémons? Tentou o meu? obs: não se esqueça de verificar se no seu servidor têm a função addPokeToPlayer (ela se encontra em data/lib/some functions.lua). -
dúvida [Encerrado] Como Fazer uma Box?
tópico respondeu ao wreymar de zipter98 em Tópicos Sem Resposta
Se o pda by bolz for sem lv nos pokémons, tenta assim: (primeiramente, veja se seu servidor possue a função addPokeToPlayer) local box = {balltype = "normal", ballid = 11826, pokemons = {"Moltres", "Articuno", "Zapdos", "Entei", "Raikou", "Mew", "Mewtwo", "Lugia", "Ho-oh", "Celebi", "Ancient Blastoise"}} local happy = 220 function onUse(cid, item, frompos, item2, topos) local pokemon = box.pokemons[math.random(#box.pokemons)] local btype = box.balltype doPlayerSendTextMessage(cid, 27, "Você abriu uma PokeBox e recebeu um "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) addPokeToPlayer(cid, pokemon, 0, nil, btype) doRemoveItem(item.uid, 1) return true end -
/\ na parte de premiação do torneio, só colocar algo como: local trofeu = doPlayerAddItem(cid, id do trofeu, 1) doItemSetAttribute(trofeu, "description", ""..getCreatureName(cid).." venceu o grande torneio e foi consagrado como um guerreiro lendário.")
-
resolvido [Encerrado] Script de area vip que funcione no PDA
tópico respondeu ao blackdreams de zipter98 em Tópicos Sem Resposta
Você se refere à adicionar esse vip tile? É muito básico. Basta ir em data/movements/scripts, criar um arquivo com extensão .lua, e neste colocar o script que passei acima. Depois, em data/movements, abra o arquivo XML, e coloque a tag que também passei acima. Aí, no seu map editor, você configura o tile com o action id que configurou na tag. Se quiser testar o script antes de configurar no map editor, basta, in game, ficar de frente ao tile desejado, e digitar /attr set aid actionid que você configurou na tag. Seguindo como exemplo o action id que mencionei logo acima (12345), /attr set aid 12345. -
poketibia [Encerrado] [PEDIDO] Script lvl + boost!
tópico respondeu ao Lordbaxx de zipter98 em Tópicos Sem Resposta
Tenta assim: -
Tenta assim: function onThink(interval, lastExecution) local players = getPlayersOnline() local look = xxx --Outfit. for _, pid in ipairs(getPlayersOnline()) do if getCreatureOutfit(pid).lookType == look then playerpos = getPlayerPosition(pid) doSendMagicEffect(playerpos, 34) end end return true end
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.