Ir para conteúdo

Featured Replies

Postado

pessoal tem como alguem me ajudar a editar o npc marlon do cassino ? é no meu serv eu nao quero que fique facil de fazer grana ai vou dificultar um pouco e o npc marlon vende ditto só que precisa de 1kk de coins e só pode comprar 100 coins por vez eu queria mudar isso pra tipo ele vender 10k de coins por vez

 

 

e queria saber tambem como mpedir o ditto normal de se transformar em shiny pois quero criar shiny ditto pro meu server 

 

e queria saber tambem como posso balanciar meu server ele ta mt zuado tipo o shiny magikarp dexa o charizard com sangue vermelho mt loco  isso kk 

 

obs : meu server é o pokemon pyrus 

Postado

Ok vamos por partes:

 

1) Vou dar uma olhada no script do cassino pra ver se consigo descobrir como mudar. (nunca nem sequer pensei em mudar isso xD)

 

2) Quanto ao ditto, siga esses passos:

  1)Vá em data\lib e abra o arquivo some functions.lua

     Depois do último end, adicione isso:

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

 

  2) agora vá em order.lua (ainda na pasta lib) e após o ultimo end adicione isso:

-----------------------------DITTO------------------


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", "Shiny Charizard", "Shiny Blastoise", "Shiny Venusaur", "Shiny Raichu", "Shiny Meganium", "Shiny Feraligatr", "Shiny Typhlosion", "Shiny Marowak", "Shiny Sandslash", "Shiny Machamp", "Shiny Electrode", "Shiny Mantine", "Shiny Salamence", "Shiny Gengar", "Shiny Alakazam", "Shiny Voltorb", "Shiny Cubone", "Shiny Tangela", "Shiny Venonat", "Shiny Venomoth", "Shiny Ratata", "Shiny Raticate", "Shiny Magmar", "Shiny Electabuzz", "Shiny Magmortar", "Magmortar", "Shiny Electivire", "Electivire", "Tangrowth", "Rhyperior", "Shiny Pidgeot", "Shiny Fearow", "Shiny Vileplume", "Shiny Nidoking", "Shiny Vaporeon", "Shiny Flareon", "Shiny Jolteon", "Shiny Pinsir", "Shiny Jynx", "Shiny Arcanine", "Shiny Ampharos", "Shiny Xatu", "Shiny Crobat", "Shiny Hitmontop", "Shiny Hitmonlee", "Shiny Hitmonchan", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Onix", "Crystal Onix", "Shiny Dragonite", "Shiny Muk", "Shiny Grimer", "Shiny Electabuzz"} -- 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

if not tonumber(ret) then
doPlayerSendCancel(getCreatureMaster(sid), "Destination is not reachable.")
markPos(sid, {x=1,y=1,z=7})
return true
end

doChangeSpeed(sid, - getCreatureSpeed(sid))
addEvent(goThere, tonumber(ret), sid, getMarkedPos(sid), skill, target, rept and rept - 1 or 22)
end

 

  3) agora bá em data\talkactions\scripts e crie um arquivo chamado dittorevert.lua e dentro dele coloque isso:

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

 

  4) Agora vá em talkactions.xml e adicione isso:

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

Ufa! pronto! xD

Obs: Se quiser editar quais pokes ele pode ou não se transformar, basta adicionar em

local proibidossempre

3) Quanto ao balanceamente dos pokémons nesse servidor é muito simples, basta você acessar data\lib e abrir o arquivo configuration.lua

Feito isso você da control +F ou procure manualmente por isso:

["Bulbasaur"] = {offense = 0.7, defense = 6, specialattack = 5, vitality = 3.5, agility = 190, exp = 100, level = 1, wildLvl = 30, type = "grass", type2 = "poison"},

Onde:

-- offense = offense que ganha por level
-- level = level min pra usar o poke / offense base

-- wildlvl = level do poke selvagem (que você lutará contra)
-- defense = defense por level
-- agility = speed base dos pokes
-- specialattack = special attack que ganha por level
-- exp = exp que dá a cada level que tem (somada a exp base, no xml do poke)                 
-- vitality = vida que o poke ganha pra cada vitality que tem
 

OBS!: Aconselho não fugir muito dos valores bases que já tem no servidor, nesse server os pokémons estão balanceados de uma forma razoável, então caso queira deixar mais forte cuidado para não fazer um bulbasaur matar um charizard muito rápido xD

 

 

 

Essa foi a maior resposta que eu ja dei em um fórum kkk

Vou tentar descobrir como mudar o npc do cassino, se conseguir eu te aviso!

 

Abraço!

Postado
  • Autor

Ok vamos por partes:

1) Vou dar uma olhada no script do cassino pra ver se consigo descobrir como mudar. (nunca nem sequer pensei em mudar isso xD)

2) Quanto ao ditto, siga esses passos:

1)Vá em data\lib e abra o arquivo some functions.lua

Depois do último end, adicione isso:

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

2) agora vá em order.lua (ainda na pasta lib) e após o ultimo end adicione isso:

-----------------------------DITTO------------------

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", "Shiny Charizard", "Shiny Blastoise", "Shiny Venusaur", "Shiny Raichu", "Shiny Meganium", "Shiny Feraligatr", "Shiny Typhlosion", "Shiny Marowak", "Shiny Sandslash", "Shiny Machamp", "Shiny Electrode", "Shiny Mantine", "Shiny Salamence", "Shiny Gengar", "Shiny Alakazam", "Shiny Voltorb", "Shiny Cubone", "Shiny Tangela", "Shiny Venonat", "Shiny Venomoth", "Shiny Ratata", "Shiny Raticate", "Shiny Magmar", "Shiny Electabuzz", "Shiny Magmortar", "Magmortar", "Shiny Electivire", "Electivire", "Tangrowth", "Rhyperior", "Shiny Pidgeot", "Shiny Fearow", "Shiny Vileplume", "Shiny Nidoking", "Shiny Vaporeon", "Shiny Flareon", "Shiny Jolteon", "Shiny Pinsir", "Shiny Jynx", "Shiny Arcanine", "Shiny Ampharos", "Shiny Xatu", "Shiny Crobat", "Shiny Hitmontop", "Shiny Hitmonlee", "Shiny Hitmonchan", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Onix", "Crystal Onix", "Shiny Dragonite", "Shiny Muk", "Shiny Grimer", "Shiny Electabuzz"} -- 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

if not tonumber(ret) then

doPlayerSendCancel(getCreatureMaster(sid), "Destination is not reachable.")

markPos(sid, {x=1,y=1,z=7})

return true

end

doChangeSpeed(sid, - getCreatureSpeed(sid))

addEvent(goThere, tonumber(ret), sid, getMarkedPos(sid), skill, target, rept and rept - 1 or 22)

end

3) agora bá em data\talkactions\scripts e crie um arquivo chamado dittorevert.lua e dentro dele coloque isso:

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

4) Agora vá em talkactions.xml e adicione isso:

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

Obs: Se quiser editar quais pokes ele pode ou não se transformar, basta adicionar em

local proibidossempre
3) Quanto ao balanceamente dos pokémons nesse servidor é muito simples, basta você acessar data\lib e abrir o arquivo configuration.lua

Feito isso você da control +F ou procure manualmente por isso:

["Bulbasaur"] = {offense = 0.7, defense = 6, specialattack = 5, vitality = 3.5, agility = 190, exp = 100, level = 1, wildLvl = 30, type = "grass", type2 = "poison"},
Onde:

-- offense = offense que ganha por level

-- level = level min pra usar o poke / offense base

-- wildlvl = level do poke selvagem (que você lutará contra)

-- defense = defense por level

-- agility = speed base dos pokes

-- specialattack = special attack que ganha por level

-- exp = exp que dá a cada level que tem (somada a exp base, no xml do poke)

-- vitality = vida que o poke ganha pra cada vitality que tem

OBS!: Aconselho não fugir muito dos valores bases que já tem no servidor, nesse server os pokémons estão balanceados de uma forma razoável, então caso queira deixar mais forte cuidado para não fazer um bulbasaur matar um charizard muito rápido xD

Essa foi a maior resposta que eu ja dei em um fórum kkk

Vou tentar descobrir como mudar o npc do cassino, se conseguir eu te aviso!

Abraço!

mano o arquivo order ta dando erro eu acho que ja existe mas nao comssigo achar onde ta me ajuda ?

Editado por xddidixd (veja o histórico de edições)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo