Ir para conteúdo

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


lucashgas

Posts Recomendados

Slicer

 

 

Sem+t%C3%ADtulodd.png

 

So que quando vc vai usar o Pokémon ele nao sai não rsrsrs

 

ja coloquei ja os ids no action.xml

 

<action itemid="11826-11837;11737-11748;2417-2419;2420-2422" event="script" value="goback.lua">

 

no caso é 2420-2422

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

 

failmsgs = {

"Sorry, you didn't catch that pokemon.",

"Sorry, your pokeball broke.",

"Sorry, the pokemon escaped.",

}

local pballs = {--msg q aparece, ball name, num de letras + " = "

[1] = {msg = "Poke Ball", ball = "normal", num = 9}, --normal = ... 9 letras

[2] = {msg = "Great Ball", ball = "great", num = 8}, --great = ... 8 letras

[3] = {msg = "Super Ball", ball = "super", num = 8}, --brokes count system

[4] = {msg = "Ultra Ball", ball = "ultra", num = 8},

[5] = {msg = "Saffari Ball", ball = "saffari", num = 10},

}

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

function doBrokesCount(cid, str, ball)

if tonumber(getPlayerStorageValue(cid, str)) then

print("Error ocorred in function 'doBrokesCount'... storage "..str.." is a number value")

print("Storage will be changed to the correct table...")

doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!")

setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")

return true

end

local s = string.explode(getPlayerStorageValue(cid, str), ",") --Edited brokes count system

local msg = ""

local n = 0

for i = 1, #s do

if string.find(tostring(s), ball) then

local d, e = s:find(""..pballs.ball.." = (.-)")

local st2 = string.sub(s, d + pballs.num, e +5)

local num = tonumber(st2)+1

 

if num == 0 and ball == pballs.ball then

num = 1

end

if i == #s then

msg = msg..""..ball.." = "..num

n = n +1

else

msg = msg..""..ball.." = "..num..", "

n = n +1

end

else

if i == #s then

msg = msg..s

else

msg = msg..s..", "

end

end

end

setPlayerStorageValue(cid, str, msg)

end

 

function sendBrokesMsg(cid, str, ball) --Edited brokes count system

if tonumber(getPlayerStorageValue(cid, str)) then

print("Error ocorred in function 'sendBrokesMsg'... storage "..str.." is a number value")

print("Storage will be changed to the correct table...")

doPlayerSendTextMessage(cid, 27, "A error ocorred... warning sent to game masters!")

setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")

return true

end

local t = string.explode(getPlayerStorageValue(cid, str), ",")

local msg = "You have wasted: "

local n = 0

for a = 1, #t do

local d, e = t[a]:find(""..pballs[a].ball.." = (.-)")

local st2 = string.sub(t[a], d + pballs[a].num, e +5)

if tonumber(st2) == 0 and pballs[a].ball == ball then

st2 = 1

end

if tonumber(st2) ~= 0 then

if n ~= 0 and a ~= #t then

msg = msg..", "

end

if tonumber(st2) ~= 1 then

msg = msg..st2.." "..pballs[a].msg.."s"

n = n +1

else

msg = msg..st2.." "..pballs[a].msg

n = n +1

end

end

end

msg = msg.." to catch it."

doPlayerSendTextMessage(cid, 27, msg)

end

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

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system

local name = catchinfo.name

local pos = catchinfo.topos

local topos = {}

topos.x = pos.x

topos.y = pos.y

topos.z = pos.z

local newid = catchinfo.newid

local catch = catchinfo.catch

local fail = catchinfo.fail

local rate = catchinfo.rate

local basechance = catchinfo.chance

local corpse = getTopCorpse(topos).uid

if not isCreature(cid) then

doSendMagicEffect(topos, CONST_ME_POFF)

return true

end

doItemSetAttribute(corpse, "catching", 1)

local levelChance = getItemAttribute(corpse, "level") * 0.02

local totalChance = math.ceil(basechance * (1.2 + levelChance))

local thisChance = math.random(0, totalChance)

local myChance = math.random(0, totalChance)

local chance = (1 * rate + 1) / totalChance

chance = doMathDecimal(chance * 100)

if rate >= totalChance then

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 160

doRemoveItem(corpse, 1)

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system

return true

end

 

if totalChance <= 1 then totalChance = 1 end

local myChances = {}

local catchChances = {}

 

for cC = 0, totalChance do

table.insert(catchChances, cC)

end

for mM = 1, rate do

local element = catchChances[math.random(1, #catchChances)]

table.insert(myChances, element)

catchChances = doRemoveElementFromTable(catchChances, element)

end

 

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 70

doRemoveItem(corpse, 1)

local doCatch = false

for check = 1, #myChances do

if thisChance == myChances[check] then

doCatch = true

end

end

if doCatch then

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system

else

addEvent(doNotCapturePokemon, 4000, cid, name, typeee) --Edited brokes count system

doSendMagicEffect(topos, fail)

end

end

function doCapturePokemon(cid, poke, ballid, status, typeee) --Edited brokes count system

if not isCreature(cid) then

return true

end

 

local list = getCatchList(cid)

if not isInArray(list, poke) and not isShinyName(poke) then --Edited catch system

doPlayerAddSoul(cid, 1)

end

doAddPokemonInOwnList(cid, poke)

doAddPokemonInCatchList(cid, poke)

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

local description = "Contains a "..poke.."."

local gender = status.gender

local happy = 200

--alterado v1.6

if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then

item = doCreateItemEx(ballid)

else

item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1) --alterado v1.6.1

end

doItemSetAttribute(item, "poke", poke)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "fakedesc", description)

doItemSetAttribute(item, "description", description)

if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then --edited passiva hitmonchan

doItemSetAttribute(item, "hands", 0)

end

local storage = newpokedex[poke].stoCatch --Edited brokes count system

if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then --alterado v1.6

doPlayerSendMailByName(getCreatureName(cid), item, 1)

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")

doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")

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

sendBrokesMsg(cid, storage, typeee) --Edited brokes count system

setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")

else

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")

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

sendBrokesMsg(cid, storage, typeee) --edited brokes count system

setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")

end

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178)

if catchMakesPokemonHappier then

setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)

end

else

doSendMagicEffect(getThingPos(cid), 178)

end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke, typeee) --Edited brokes count system

if not isCreature(cid) then

return true

end

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)

else

doSendMagicEffect(getThingPos(cid), 166)

end

 

local storage = newpokedex[poke].stoCatch

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

doBrokesCount(cid, storage, typeee) --edited brokes count system

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

doIncreaseStatistics(poke, true, false)

end

 

function getPlayerInfoAboutPokemon(cid, poke)

local a = newpokedex[poke]

if not isPlayer(cid) then return false end

if not a then

print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")

return false

end

local b = getPlayerStorageValue(cid, a.storage)

if b == -1 then

setPlayerStorageValue(cid, a.storage, poke..":")

end

local ret = {}

if string.find(b, "catch,") then

ret.catch = true

else

ret.catch = false

end

if string.find(b, "dex,") then

ret.dex = true

else

ret.dex = false

end

if string.find(b, "use,") then

ret.use = true

else

ret.use = false

end

return ret

end

 

function doAddPokemonInOwnList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." use,")

end

function isPokemonInOwnList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

return false

end

function doAddPokemonInCatchList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).catch then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." catch,")

end

function getCatchList(cid)

local ret = {}

for a = 1000, 1251 do

local b = getPlayerStorageValue(cid, a)

if b ~= 1 and string.find(b, "catch,") then

table.insert(ret, oldpokedex[a-1000][1])

end

end

return ret

end

 

function getStatistics(pokemon, tries, success)

local ret1 = 0

local ret2 = 0

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret1 = 0

else

ret1 = num

end

arq:close()

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret2 = 0

else

ret2 = num

end

arq:close()

if tries == true and success == true then

return ret1, ret2

elseif tries == true then

return ret1

else

return ret2

end

end

function doIncreaseStatistics(pokemon, tries, success)

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

if tries == true then

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

if success == true then

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

end

function doUpdateGeneralStatistics()

 

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "NUMBER NAME TRIES / CATCHES\n\n"

local str = ""

for a = 1, 251 do

if string.len(oldpokedex[a][1]) <= 7 then

str = "\t"

else

str = ""

end

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"

end

 

local arq = io.open(dir, "w")

arq:write(base)

arq:close()

end

function getGeneralStatistics()

 

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "Number/Name/Tries/Catches\n\n"

local str = ""

for a = 1, 251 do

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n"

end

 

return base

end

function doShowPokemonStatistics(cid)

if not isCreature(cid) then return false end

local show = getGeneralStatistics()

if string.len(show) > 8192 then

print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")

doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")

return false

end

doShowTextDialog(cid, math.random(2391, 2394), show)

end

 

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

Alguem pode mi ajudar com esse bug da aura ^^

 

Bug \/

 

 

[26/09/2012 12:11:11] [Error - CreatureScript Interface]

[26/09/2012 12:11:11] data/creaturescripts/scripts/auraboost.lua:onThink

[26/09/2012 12:11:11] Description:

[26/09/2012 12:11:11] (luaGetPlayerSlotItem) Player not found

 

 

Script \/

 

 

function onThink(cid, interval)

if getPlayerSlotItem(cid, CONST_SLOT_FEET) == nil or getPlayerSlotItem(cid, CONST_SLOT_FEET).uid == nil then return true end

if #getCreatureSummons(cid) == 0 then return true end

if getPlayerSlotItem(cid,CONST_SLOT_FEET) ~= nil or getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= nil then

if getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "boost") == 50 then

--[[race = {

["grass"] = {effect = 248},

["poison"] = {effect = 208},

["rock"] = {effect = 247},

["psychic"] = {effect = 246},

["fire"] = {effect = 251},

["bug"] = {effect = 248},

["normal"] = {effect = 245},

["ice"] = {effect = 250},

["ground"] = {effect = 247},

["steel"] = {effect = 247},

["dragon"] = {effect = 249},

["flying"] = {effect = 249},

["dark"] = {effect = 208},

["electric"] = {effect = 244},

["ghost"] = {effect = 208},

["water"] = {effect = 250},

["fight"] = {effect = 245},

}

local namepoke = getCreatureName(getCreatureSummons(cid)[1])

info = pokes[namepoke].type

local elemento = race[info]

]]--

addEvent(doSendMagicEffect, 200, getCreaturePosition(getCreatureSummons(cid)[1]), 208)

end

end

end

 

Link para o comentário
Compartilhar em outros sites

XistoGabriel

vc vai

ainda fazer o icone system??

 

qualquer coisa der uma olhada no serv do smix primeiro

é desse jeito que vc vai pega as manhas

eu fiz assim

 

-- so que eu nao vou continuar com esses negocios de icone nao é foda d+

fazer tudo kkk so fiz o charizard, mais ja excluir ja so era pra vc ver mesmo pq

eu nao vou querer esse system n rsrs

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

StyloMaldoso

 

vc tivesse falado antes

eu ia postar

-

mais se vc ler oq eu falei la com o XistoGabriel

vc vai entender

(excluir =/ )

mais se eu tomar coragem aqui eu faço dinovo kkk

é pq é foda esse system

 

 

 

 

TO INDO PRO COLEGIO FLW AE

 

 

 

Slicer

 

quando eu voltar nos se fala ae ^^ pra ver se arruma essa ball que nao vai =/ rs

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

@digodigo4

ja tentase dar look nessa ball do magikarp?... pq para o poke n sair e n da nenhum erro o mais provavel eh q a ball n esteja com o atributo 'poke' nela.. ;x estranhu, estranhu... simplismente n sei oq ta dando kk sorry

Link para o comentário
Compartilhar em outros sites

@MaatheeuusYuurii

Não acabaram com o up, pq nem aconteceu ainda.

 

@digodigo4

Procura algo como, adicionando balls e tem oq precisa mudar, ve se mudou tudo q precisa e faz de novo

 

@Maguito

Sim realmente falta isso de full atk/balanced/full def, eu tentei procurar alguma que veja qual negocio está mas não deu certo, creio que seja em source isso.

 

MASSS, da pra fazer no POBRE MODE.

 

ex: No meu OT (vou voltar a fazer dei uma pausa) vai ter uma bag assim "Tools", ai dentro dela vai ter, Fishing, Order, Addons(6-7 items para mudar os addons) e poderia adicionar 3 items que seria o FULL ATK/BALANCED/FULL DEF é um jeito facil de fazer.

 

Tambem tem o SUPER POBRE MODE:

 

Que é fazer em talkactions :)

Link para o comentário
Compartilhar em outros sites

@PXG

Enquanto no forum da PXG:

 

[GAME] Animação do boost

"Minha sugestão é simples

quando algum ataque pegar no boost, o pokemon soltaria a cara do yao ming, que no pokemon é !yao

ficaria assim :

 

addpqw.jpg

 

thanks se gostou"

 

 

Eu choro de rir no forum da PXG asuhausausa

Link para o comentário
Compartilhar em outros sites

@zeref

float Player::getDefenseFactor() const
{
   switch(fightMode)
   {
       case FIGHTMODE_BALANCED:
           return 1.2f;

       case FIGHTMODE_DEFENSE:
       {
           if((OTSYS_TIME() - lastAttack) < const_cast<Player*>(this)->getAttackSpeed()) //attacking will cause us to get into normal defense
               return 1.0f;

           return 2.0f;
       }

       case FIGHTMODE_ATTACK:
       default:
           break;
   }

   return 1.0f;
}

achu q eh isso q faz o balance ali da full def e afins.. '-' ta na sources... player.cpp

Link para o comentário
Compartilhar em outros sites

@Slicer

Eu disse ali encima que "deve ta nas sources" mas pior que já sabia quando eu procurei.

 

Mas oque ta nas sources, é pro PLAYER e não achei nenhuma função que veja se está em FULL DEF ou FULL ATK ou BALANCED para ser usado em script

 

http://www.youtube.com/watch?v=woSWcpVu9nA&feature=player_embedded

 

Preview do Episodio 13 de Sword Art Online!

Link para o comentário
Compartilhar em outros sites

@zeref

eh tb n achei nenhum function... o caso era fazer essa function '-' mas como n temos as sources... ja eras hehe o caso era esse teu super pobre mode ms uahuah

Link para o comentário
Compartilhar em outros sites

@IagoDosOts

sim esse mapa eh compativel...

 

@zlegend

eh pra ta funcionando sim.. ;x soh q tpw.. o poke q vai da headbutt tem q ter pelo menos lvl 15, e tem uma arvore certa para dar headbutt.. n eh em qlqr uma.. eh a ms da pxg...

troque isso...

if getPlayerLevel(cid) == 50 then

por isso...

if getPlayerLevel(cid) < 50 then

nesse caso soh lvl 50+ pode pegar... se quiser q SOH lvl 50 pegue o bau troque para isso..

if getPlayerLevel(cid) ~= 50 then

 

 

eu peguei o script de headbutt do seu pda e coloquei no meu sv, peguei seu order.lua e seu configuration, o que mais tem que pegar? e aonde ta a lista dos pokes de headbutt? , que ta usando uma base antiga, é que ja fiz muitas coisas e não quero ter que mudar agora, sobre o script do level para abrir o baú ja ja eu testo

Link para o comentário
Compartilhar em outros sites

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