GA
action

[PDA] New Ditto System[PXG]

Por gabrielbsales, 27 de mar. de 2014 em Mods, funções e outros

ditto
pxg
clonar
tipo
new
script
56
13.9k
Luga03L
07 de julho de 2015 às 13:42

 

consegui adaptar aq so que agora quando eu copio shiny blastoise com o shiny ditto se usar ancient fury ele buga e da erros na distro

 

[07/07/2015 13:24:05] data/talkactions/scripts/move1.lua:248: in function <data/talkactions/scripts/move1.lua:21>

 

 

sabe como resolver????

 

Você tentou adaptar oq ele postou??? se sim tenta usar o meu!

clebao666C
07 de julho de 2015 às 17:37

Bom, esse ditto system:

-Copia o pokemon e o balanceia sem necessidade de puxa-lo.

-Copias Habilidades...

Primeiramente, vá no some functions.lua - Localizado na pasta lib.

E adicione isto no final(depois do ultimo end):

 

 

function doDittoTransform(ditto, pokemon)
local sid = getCreatureMaster(ditto)
local eff = 184
local name = pokemon
local pos = getCreaturePosition(ditto)
local outfit = getPokemonXMLOutfit(pokemon)
 doSendMagicEffect(getThingPosWithDebug(ditto), eff)
 doSetCreatureOutfit(ditto, {lookType = outfit}, -1)
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "poke", name)
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "ehditto", 1)
 doPlayerSay(sid, ""..getPokeName(ditto)..", transform into "..getArticle(pokemon).." "..pokemon.."!", 1)
  doCreatureSay(ditto, "TRANSFORM!", TALKTYPE_MONSTER)
 doRemoveCreature(ditto)
 doSummonMonster(sid, name)
 doTeleportThing(getCreatureSummons(sid)[1], pos, false)
 adjustStatus(getCreatureSummons(sid)[1], getPlayerSlotItem(sid, 8).uid, true, false)
doUpdateMoves(sid)
return true
end

function doDittoRevert(m)
local sid = m
local eff = 184
local name = "Ditto"
local outfit = getPokemonXMLOutfit(name)
if #getCreatureSummons(sid) <= 0 then
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "poke", name)
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "ehditto", 1)
elseif #getCreatureSummons(sid) == 1 then
local ditto = getCreatureSummons(sid)[1]
local pos = getCreaturePosition(ditto)
if getCreatureName(ditto) == "Ditto" then
return true
end
 doSendMagicEffect(getThingPosWithDebug(ditto), eff)
 doSetCreatureOutfit(ditto, {lookType = outfit}, -1)
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "poke", name)
 doItemSetAttribute(getPlayerSlotItem(sid, 8).uid, "ehditto", 1)
 doPlayerSay(sid, ""..getPokeName(ditto)..", untransfrom!", 1)
  doCreatureSay(ditto, "TRANSFORM!", TALKTYPE_MONSTER)
 doRemoveCreature(ditto)
 doSummonMonster(sid, name)
 doTeleportThing(getCreatureSummons(sid)[1], pos, false)
 adjustStatus(getCreatureSummons(sid)[1], getPlayerSlotItem(sid, 8).uid, true, false)
doUpdateMoves(sid)
end
end 

 

 

 

Bom, essas são as funções de transformar e destransformar.

 

Agora, vá no order.lua - Localizado no actions/scripts.

E procure por:

-------- TRANSFORM ----------

Apague tudo aqui dentro, até o:

-------- LIGHT --------------

Ali dentro, bote:

 

 

if (getCreatureName(mysum) == "Ditto") and getItemAttribute(thisball.uid, "ehditto") ~= -1 and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then
local m = getCreatureMaster(cid)
local p = getPlayerSlotItem(m, 8)
local proibidossempre = {"Mew_", "Mewtwo_", "Unown Legion", "Ho-oh", "Moltres", "Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Articuno", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon"} -- Nunca permitir
local proibidosboost = {"Shiny Dragonite", "Shiny Snorlax", "Shiny Gyarados", "Shiny Scyther"} -- Permitir se ditto for +50
local outpokes = {"Magnet Electabuzz","Elder Tyranitar","Hard Golem","Brute Rhydon","Iron Steelix","Brave Charizard","Elder Charizard","Lava Magmar","Enraged Typhlosion","Capoeira Hitmontop","Boxer Hitmonchan","Taekwondo Hitmonlee","Dragon Machamp","Undefeated Machamp","Wardog Arcanine","Elder Arcanine","Furious Mantine","War Gyarados","Brave Blastoise","Brave Venusaur","Ancient Meganium","Tribal Feraligatr","Elder Dragonite","Elder Pinsir","Elder Raichu","Charged Raichu","Tribal Xatu","Enigmatic Girafarig","Ancient Alakazam","Master Alakazam","Furious Ampharos","Elder Electabuzz","Furious Scyther","Tribal Scyther","War Heracross","Metal Scizor","Brave Nidoking","Brave Nidoqueen","Elder Muk","Dark Crobat","Trickmaster Gengar"                              ,"Elder Gengar"                              ,"Banshee Misdreavus","Hungry Snorlax","Brute Ursaring","War Granbull","Singer Wigglytuff","Aviator Pidgeot","Metal Skarmory","Brave Noctowl","Elder Pidgeot","Ancient Dragonite","Milch-Miltank","Ancient Kingdra","Psy Jynx","Elder Venusaur","Elder Jynx","Evil Cloyster","Freezing Dewgong","Elder Tangela","Furious Sandslash","Roll Donphan","Bone Marowak","Octopus Octillery","Moon Clefable","Heavy Piloswine","Elder Blastoise","Elder Tentacruel","Elder Marowak","Master Stantler"}
local boost = getItemAttribute(thisball.uid, "boost") or 0
if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then
doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
markPos(mysum, unfix)
return true
end
if isInArray(outpokes, getCreatureName(item2.uid)) then
doPlayerSendCancel(cid, "Your ditto can't transform into this pokemon.")
markPos(mysum, unfix)
return true
end
if getPlayerLevel(cid) < pokes[getCreatureName(item2.uid)].level then
doPlayerSendCancel(cid, "You haven't level to transform into that pokemon.")
markPos(mysum, unfix)
return true
end
if isInArray(proibidossempre, getCreatureName(item2.uid)) then --Checa a lista
doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.")
markPos(mysum, unfix)
return true
end
if isInArray(proibidosboost, getCreatureName(item2.uid)) and boost < 50 then --Checa a lista
doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.")
markPos(mysum, unfix)
return true
end
markPos(mysum, unfix)
doFaceCreature(mysum, getThingPos(item2.uid))
doDittoTransform(mysum, getCreatureName(item2.uid))
return true
end
----------------------------- 

 

 

 

Pronto, ditto ja está tranformando, agora falta o !revert, para isso vá em talkactions/scripts e crie um arquivo(.lua) com nome de dittorevert, e dentro coloque:

 

 

function onSay(cid, words, param, channel)
local thisball = getPlayerSlotItem(cid, 8)
if thisball and getItemAttribute(thisball.uid, "ehditto") then
doDittoRevert(cid)
end
return true
end 

 

 

 

Agora, no talkactions.xml adicione esta linha:

<talkaction words = "!revert;/revert" hide="yes" event = "script" value = "dittorevert.lua"/>

Se fizer tudo corretamente, funcionará normalmente.

 

Gif:

 

 

Hi9PcI.gif

 

 

 

Créditos:

Gabrielbsales(sou op faço tudo solo)

 

ola gabriel.

 

por favor gostaria se vc pudesse me fazer um system desse ae so que para um zoroark ao inves do ditto. e ele fica transformado apenas por 1 min e destransforma porem podera transformar em qquer poke mesmo os lendarios.

agradeço muito desde ja.

 

gabrielbsalesG
08 de julho de 2015 às 01:12

Cleber, não mexo mais com ot...

Luga03L
08 de julho de 2015 às 10:34

 

ola gabriel.

 

por favor gostaria se vc pudesse me fazer um system desse ae so que para um zoroark ao inves do ditto. e ele fica transformado apenas por 1 min e destransforma porem podera transformar em qquer poke mesmo os lendarios.

agradeço muito desde ja.

 

a de poder se transformar em lendario é facil, apenas remover a tabela proibidos, mas o de 1 minuto nem sei :p

clebao666C
08 de julho de 2015 às 14:54

Cleber, não mexo mais com ot...

 

o man desculpa ae . achei que vc ainda ajudava aq no forum. dei rep + ae pra vc.

mau ae por pedir vo tentar criar um novo post.

vlw mesmo assim

gabrielbsalesG
08 de julho de 2015 às 19:55

 

o man desculpa ae . achei que vc ainda ajudava aq no forum. dei rep + ae pra vc.

mau ae por pedir vo tentar criar um novo post.

vlw mesmo assim

 

Não precisa se desculpar oO

Eu ajudo com dúvidas... Não pedidos, kk

clebao666C
08 de julho de 2015 às 20:02

 

Não precisa se desculpar oO

Eu ajudo com dúvidas... Não pedidos, kk

 

entao ta ae minha duvida manim....

como modifico o seu tuto pra por um outro pokemon pra se transformar tbm.???

desde ja agradeço dmais a ajuda.

seus tuto sao lindos de fazer faceis de seguir vlw.

gabrielbsalesG
09 de julho de 2015 às 18:29

 

entao ta ae minha duvida manim....

como modifico o seu tuto pra por um outro pokemon pra se transformar tbm.???

desde ja agradeço dmais a ajuda.

seus tuto sao lindos de fazer faceis de seguir vlw.

"Ensina a por em outro pokemon" é pedido, e isso que você postou é dúvida? kkk

 

clebao666C
09 de julho de 2015 às 19:53

"Ensina a por em outro pokemon" é pedido, e isso que você postou é dúvida? kkk

 

 

como modifico o seu tuto pra por um outro pokemon pra se transformar tbm.???

 

a duvida ta ae e so interpreta man se nao quer dar pra gente scripts e tal blz mais duvida vc falo que resolvia

ae fica duvida onde alterar o pokemon que usara tua script ae. no caso o nome do meu poke com esse tuto nao e ditto

e sim shiny ditto. no seu post especifica pra gente onde altera se for mudar o nome do bixo.

 

essa e a duvida se nao responder é porq nem duvida vc vai responder mais ae peço

que avise ae fecha o post logo porq tu nao respondera mais duvidas. se sim peço que adm ae feche o post como encerrado.

vlw

gabrielbsalesG
09 de julho de 2015 às 20:16

como modifico o seu tuto pra por um outro pokemon pra se transformar tbm.???

 

a duvida ta ae e so interpreta man se nao quer dar pra gente scripts e tal blz mais duvida vc falo que resolvia

ae fica duvida onde alterar o pokemon que usara tua script ae. no caso o nome do meu poke com esse tuto nao e ditto

e sim shiny ditto. no seu post especifica pra gente onde altera se for mudar o nome do bixo.

 

essa e a duvida se nao responder é porq nem duvida vc vai responder mais ae peço

que avise ae fecha o post logo porq tu nao respondera mais duvidas. se sim peço que adm ae feche o post como encerrado.

vlw

 

Se fosse uma dúvida, eu responderia.

Teu servidor para amigos nunca vai pra frente se tu não aprender a fazer algo, depender de fórum é depender de alguém, e nem sempre esse alguém tem tempo pra te ajudar.(de graça)

Luga03L
09 de julho de 2015 às 22:55

Man é só aonde tiver o nome ditto, trocar pelo nome do poke que vc quer!, tipo "ehzoroak" e tals