Ir para conteúdo

[Encerrado] [Pokemon] Dúvidas? - Pda


lucashgas

Posts Recomendados

@lucasf1

manin eh bemmmmmmm mais complicado q isso... ;p vo tenta explicar oq fazer pra por o shiny ditto usa transform tb... se n conseguir fazer n ha muito mais q eu possa te ajudar.. ;x

FAÇA BACKUP DE TODOS OS SCRIPTS Q VAI EDITAR ANTES DE COMEÇAR!!!!!

 

 

1* vai em actions/scripts/order.lua... e deixe a parte de transform desse jeito!

 

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

if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) then

if item2.uid == mysum then --edited

if isTransformed(mysum) then

deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))

markPos(mysum, unfix)

doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)

return true

end

doPlayerSendCancel(cid, "Your ditto is not transformed.")

markPos(mysum, unfix)

return true

end

 

if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then --edited

doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")

markPos(mysum, unfix)

return true

end

 

if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then

doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")

markPos(mysum, unfix)

return true

end

 

local cd = getCD(thisball.uid, "trans", 40)

 

if cd > 0 then

doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")

return true

end

 

if getHappiness(mysum) <= 50 then

doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)

markPos(mysum, unfix)

return true

end

 

local turn = getItemAttribute(thisball.uid, "transTurn")

 

if not turn or turn > 10 then

doItemSetAttribute(thisball.uid, "transTurn", 0)

else

doItemSetAttribute(thisball.uid, "transTurn", turn + 1)

end

 

local time = 140 + 2 * getPokemonLevel(mysum)

 

turn = getItemAttribute(thisball.uid, "transTurn")

 

markPos(mysum, unfix)

setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))

doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1)

addEvent(deTransform, time * 1000, mysum, turn)

doSendMagicEffect(getThingPos(mysum), 184)

doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)

local name = getCreatureName(item2.uid)

setCD(thisball.uid, "trans", 40)

doItemSetAttribute(thisball.uid, "transBegin", os.clock())

doSetItemAttribute(thisball.uid, "transLeft", time)

doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType)

doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))

doFaceCreature(mysum, getThingPos(item2.uid))

doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)

 

if dittoCopiesStatusToo then

doSetItemAttribute(thisball.uid, "boffense", dittoBonus * getOffense(item2.uid))

doSetItemAttribute(thisball.uid, "bdefense", dittoBonus * getDefense(item2.uid))

doSetItemAttribute(thisball.uid, "bsattack", dittoBonus * getSpecialAttack(item2.uid))

doSetItemAttribute(thisball.uid, "bagility", dittoBonus * getSpeed(item2.uid))

adjustStatus(mysum, thisball.uid)

end

 

return true

end

-----------------------------

 

 

2* vai em lib/some functions.lua... ache essas 2 functions e deixe elas como abaixo.. "deTransform(cid, check)" e "isTransformed(cid)"...

 

function deTransform(cid, check)

if not isCreature(cid) then return true end

 

local m = getCreatureMaster(cid)

local p = getPlayerSlotItem(m, 8)

 

if getItemAttribute(p.uid, "transTurn") ~= check then return true end

 

setPlayerStorageValue(cid, 1010, getCreatureName(cid) == "Ditto" and "Ditto" or "Shiny Ditto") --edited

doRemoveCondition(cid, CONDITION_OUTFIT)

doSendMagicEffect(getThingPos(cid), 184)

doCreatureSay(cid, "DITTO!", TALKTYPE_MONSTER)

doItemSetAttribute(p.uid, "transBegin", 0)

doItemSetAttribute(p.uid, "transLeft", 0)

doItemEraseAttribute(p.uid, "transName")

doItemEraseAttribute(p.uid, "boffense")

doItemEraseAttribute(p.uid, "bdefense")

doItemEraseAttribute(p.uid, "bsattack")

doItemEraseAttribute(p.uid, "bagility")

end

 

function isTransformed(cid)

if getPlayerStorageValue(cid, 1010) == "Ditto" or getPlayerStorageValue(cid, 1010) == "Shiny Ditto" then

return false --edited

else

return true

end

end

 

 

3* vaii em actions/scripts/goback.lua... ache essa parte.. e deixe como abaixo..

 

if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

 

local left = getItemAttribute(item.uid, "transLeft")

local name = getItemAttribute(item.uid, "transName")

 

if left and left > 0 then

setPlayerStorageValue(pk, 1010, name)

doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)

addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))

doItemSetAttribute(item.uid, "transBegin", os.clock())

else

setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto") --edited

end

end

 

 

4* vai em talkactions/scripts/move1.lua... ache essa parte..

local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

apague ela e coloque isso no lugar..

 

 

if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then

name = getPlayerStorageValue(mypoke, 1010) --edited

else

name = getCreatureName(mypoke)

end

 

 

e acho q eh soh ^^ tome muito cuidado enquanto ta editando os scripts e n esqueça do backup...

 

Link para o comentário
Compartilhar em outros sites

@Slicer

 

Eu vou dizer por ele, já joguei o kpdo.

O comando e assim, você digita !nick (algo assim) e o nick que voce quer dar ao seu poke.

Ex:

!nick Chutador

 

Pode me ajudar na minha dúvida ali encima? (sobre a pokemon bar)

Link para o comentário
Compartilhar em outros sites

Slicer. cara tive um ideia mt loka. tipo o server so ter a poke ball de captura "1x" e a great ter '2x' de chance de pega os poeks aquaticos como no anime .. ultra ball de pokes pesados atc.. se conseguir arrumar para o pda do rep por 1 semana '-

 

testei no pokemon fight e funfo '- so q pra pda é diferente e n sei mexer =/

Link para o comentário
Compartilhar em outros sites

@Jhonsy

achu q eh isso..

 

function onSay(cid, words, param, channel)

 

if not tostring(param) then

return doPlayerSendTextMessage(cid, 27, "Digite um nome para seu pokemon!")

end

 

local tablee = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "w", "y", "z", ".", ":", "'", '"', "~", "^", "@", "#", "$", "%", "&", "*", "(", ")", "-", "+", "_", "?", ">", "<", "•", ";", "°", "¹", "²", "³", "£", "¢", "¬", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}

local table = {"'", '"', "!", "ã", "õ", "ç", "´", "`", "á", "à", "ó", "ò", "é", "è", "í", "ì", "ú", "ù", "¹", "²", "³", "£", "¢", "¬", "§", "°", "º", "ª", "•", "|"}

 

for a = 1, #table do

if string.find(param, table[a]) then

doPlayerSendTextMessage(cid, 27, "Sorry, the nick has invalid symbols.")

return true

end

end

 

if string.len(param) <= 1 or string.len(param) >= 19 then

doPlayerSendTextMessage(cid, 27, "Sorry, that nick is too long or too short!")

return true

end

 

if getPlayerSlotItem(cid, 8).uid <= 0 then

doPlayerSendTextMessage(cid, 27, "Where is your pokemon?! You have to keep it at the main slot!")

return true

end

 

local nick = ""..param..""

local description = "Contains a "..getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke").."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "nick", nick)

local newdes = description.."\nIt's nickname is: "..param.."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "description", newdes)

if #getCreatureSummons(cid) >= 1 then

adjustStatus(getCreatureSummons(cid)[1], getPlayerSlotItem(cid, 8).uid)

end

 

return true

end

 

 

@drakinho

mano.. segue esse tutorial do yahooABC q tu deve conseguir arruma isso.. ;x

http://www.xtibia.com/forum/topic/177592-pokemon-dvidas-pda/page__st__2840__p__1194446#entry1194446

Link para o comentário
Compartilhar em outros sites

@Todos.

Gostaria de pedir com gentileza em que possam me passar o client que vem com cooldown bar e com aquela parada de trocar de poke porfavor, oque eu tinha sumiu depois de eu re-iniciar o computador.

Agradeço (Rep+)

Link para o comentário
Compartilhar em outros sites

@Jhonsy

achu q eh isso..

 

function onSay(cid, words, param, channel)

 

if not tostring(param) then

return doPlayerSendTextMessage(cid, 27, "Digite um nome para seu pokemon!")

end

 

local tablee = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "w", "y", "z", ".", ":", "'", '"', "~", "^", "@", "#", "$", "%", "&", "*", "(", ")", "-", "+", "_", "?", ">", "<", "•", ";", "°", "¹", "²", "³", "£", "¢", "¬", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}

local table = {"'", '"', "!", "ã", "õ", "ç", "´", "`", "á", "à", "ó", "ò", "é", "è", "í", "ì", "ú", "ù", "¹", "²", "³", "£", "¢", "¬", "§", "°", "º", "ª", "•", "|"}

 

for a = 1, #table do

if string.find(param, table[a]) then

doPlayerSendTextMessage(cid, 27, "Sorry, the nick has invalid symbols.")

return true

end

end

 

if string.len(param) <= 1 or string.len(param) >= 19 then

doPlayerSendTextMessage(cid, 27, "Sorry, that nick is too long or too short!")

return true

end

 

if getPlayerSlotItem(cid, 8).uid <= 0 then

doPlayerSendTextMessage(cid, 27, "Where is your pokemon?! You have to keep it at the main slot!")

return true

end

 

local nick = ""..param..""

local description = "Contains a "..getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke").."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "nick", nick)

local newdes = description.."\nIt's nickname is: "..param.."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "description", newdes)

if #getCreatureSummons(cid) >= 1 then

adjustStatus(getCreatureSummons(cid)[1], getPlayerSlotItem(cid, 8).uid)

end

 

return true

end

 

 

@drakinho

mano.. segue esse tutorial do yahooABC q tu deve conseguir arruma isso.. ;x

http://www.xtibia.co...46#entry1194446

@Jhonsy

achu q eh isso..

 

function onSay(cid, words, param, channel)

 

if not tostring(param) then

return doPlayerSendTextMessage(cid, 27, "Digite um nome para seu pokemon!")

end

 

local tablee = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "w", "y", "z", ".", ":", "'", '"', "~", "^", "@", "#", "$", "%", "&", "*", "(", ")", "-", "+", "_", "?", ">", "<", "•", ";", "°", "¹", "²", "³", "£", "¢", "¬", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}

local table = {"'", '"', "!", "ã", "õ", "ç", "´", "`", "á", "à", "ó", "ò", "é", "è", "í", "ì", "ú", "ù", "¹", "²", "³", "£", "¢", "¬", "§", "°", "º", "ª", "•", "|"}

 

for a = 1, #table do

if string.find(param, table[a]) then

doPlayerSendTextMessage(cid, 27, "Sorry, the nick has invalid symbols.")

return true

end

end

 

if string.len(param) <= 1 or string.len(param) >= 19 then

doPlayerSendTextMessage(cid, 27, "Sorry, that nick is too long or too short!")

return true

end

 

if getPlayerSlotItem(cid, 8).uid <= 0 then

doPlayerSendTextMessage(cid, 27, "Where is your pokemon?! You have to keep it at the main slot!")

return true

end

 

local nick = ""..param..""

local description = "Contains a "..getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke").."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "nick", nick)

local newdes = description.."\nIt's nickname is: "..param.."."

doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "description", newdes)

if #getCreatureSummons(cid) >= 1 then

adjustStatus(getCreatureSummons(cid)[1], getPlayerSlotItem(cid, 8).uid)

end

 

return true

end

 

 

@drakinho

mano.. segue esse tutorial do yahooABC q tu deve conseguir arruma isso.. ;x

http://www.xtibia.co...46#entry1194446

 

Valeu ai pela tentativa, mas bugou tudo aqui, vou deixar assim mesmo, são só alguns shinys, vou dizer q quando nao aparecer, é pokemon "indescoberto" pela equipe kkkkk'

 

Rep+ mesmo assim. ^.^

 

@up

 

Olha o client: http://www.4shared.com/rar/p5ccpx6B/POKE.html

 

( Substitua o POK.spr e o POK.dat pelo seu .dat e .spr pois os meus estão configurados para o pokemon centurion... se quiser pode tirar umas sprites q tem ae :) )

Editado por drakinho
Link para o comentário
Compartilhar em outros sites

@Jhonsy

coloca isso...

 

if getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nick") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nick") ~= "" then

return doPlayerSendTextMessage(cid, 27, "Sorry, you can only change a pokemon name once!")

end

 

 

embaixo disso..

function onSay(cid, words, param, channel)

Link para o comentário
Compartilhar em outros sites

@Jhonsy

coloca isso...

 

if getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nick") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nick") ~= "" then

return doPlayerSendTextMessage(cid, 27, "Sorry, you can only change a pokemon name once!")

end

 

 

embaixo disso..

function onSay(cid, words, param, channel)

 

Brigadão ae, certinho aqui ^^

Vlws.

Link para o comentário
Compartilhar em outros sites

@all

alguém pode me ajuda na magia do scyther

a do player ta normal e do bicho quando ele usa summona, o pokemon mortos

e corpo fica com isso You see a fainted scyther [-1].

It is male.

Imagem

 

 

 

scytherw.png

 

 

 

data\spells\scripts\ps\Shredder Team.lua

 

 

function onCastSpell(cid, var)
if isSummon(cid) then return true end
local team = {
["Scyther"] = "Scyther",
["Shiny Scyther"] = "Shiny Scyther",
["Scizor"] = "Scizor",
}
function setStorage(cid, storage)
if isCreature(cid) then
  if getPlayerStorageValue(cid, storage) >= 1 then
  setPlayerStorageValue(cid, storage, 0)
  end
end
end
function RemoveTeam(cid)
if isCreature(cid) then
 doSendMagicEffect(getThingPos(cid), 211)
 doRemoveCreature(cid)
end
end
if getPlayerStorageValue(cid, 637500) >= 1 or getPlayerStorageValue(cid, 637501) >= 1 then
return true
end
local name = getCreatureName(cid)
local pos = getThingPos(cid)
local time = 15
local pokelife = (getCreatureHealth(cid)-getCreatureMaxHealth(cid))
local lvl = getWildPokemonLevel(cid)
local gender = getPokemonGender(cid)
local num = (name == "Scizor") and 4 or 3
doCreatureSay(cid, "Shredder Team!", TALKTYPE_MONSTER)
doDisapear(cid)
addEvent(doAppear, math.random(0, 5), cid)
pk = {[1] = pk1, [2] = pk2, [3] = pk3, [4] = pk4}
if team[name] then
  for i = 2, num do
   pk[i] = doSummonCreature(team[name], pos)
  end

  pk[1] = cid

  for c = 2, num do
   doConvinceCreature(pk[1], pk[c])
  end

  doSendMagicEffect(getThingPos(pk[1]), 211)	
  for a = 2, num do
   doTeleportThing(pk[a], getClosestFreeTile(pk[a], pos), false)
   doCreatureAddHealth(pk[a], pokelife)
   addEvent(doCreatureSetSkullType, 150, pk[a], gender)
   setWildPokemonLevel(pk[a], lvl)
   doSendMagicEffect(getThingPos(pk[a]), 211)
  end
  setPlayerStorageValue(pk[2], 637500, 1)
  setPlayerStorageValue(pk[3], 637500, 1)
  setPlayerStorageValue(pk[1], 637501, 1)
  if name == "Scizor" then
	 setPlayerStorageValue(pk[4], 637500, 1)
  end
  addEvent(setStorage, time * 1000, pk[1], 637501)
  addEvent(RemoveTeam, time * 1000, pk[2])
  addEvent(RemoveTeam, time * 1000, pk[3])
  if name == "Scizor" then
	 addEvent(RemoveTeam, time * 1000, pk[4])
  end
end
return true
end

 

 

e no console da esse erro

[22/07/2012 01:01:47] [Error - Spell Interface]
[22/07/2012 01:01:47] In a timer event called from:
[22/07/2012 01:01:47] data/spells/scripts/ps/Shredder Team.lua:onCastSpell
[22/07/2012 01:01:47] Description:
[22/07/2012 01:01:47] (luaDoCreatureSetSkullType) Creature not found

Editado por notle2012
Link para o comentário
Compartilhar em outros sites

Slicer tenhu uma perguta para fazer a você.

Você irá fazer mais atalizaçao no seu servidor?

 

 

uma duvidinha..

 

Não sei se vc ja vio o Sistema da Golden arena do PxG

 

seria dificil cria um script +- a base?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...