Postado Dezembro 23, 2014 10 anos 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 Dezembro 24, 2014 10 anos 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! "A coisa mais indispensável a um homem é reconhecer o uso que deve fazer do seu próprio conhecimento." Ajudei? Reputar não vai te matar E Ainda me incentiva muito a continuar ajudando a todos! Meus trabalhos: [TUTORIAL] Quando preocupar-se com as cores? - Spriting [TUTORIAL] Pedras e Rochas - Spriting [APOSTILAS] Cores e sua parte Teórica - Spriting [TUTORIAL] Entendendo o Básico sobre cores - Spriting [TUTORIAL] Spriting, por onde começar? [TUTORIAL] Coisas para evitar - Spriting [TUTORIAL] Usando e Escolhendo Cores - Spriting [TUTORIAL] Pensando em Cores - Spriting [TUTORIAL] Adicionando novos Pokémons em seu PDA com e sem Icon System [TUTORIAL] [OLD/OTC] Criando link de Download Direto para seu cliente! Meu Show-off Thayam's Show Off
Postado Dezembro 25, 2014 10 anos 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 Dezembro 25, 2014 10 anos 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.