Ir para conteúdo

[8.54] Pokétibia World Server


Aerdor

Posts Recomendados

Bom tenho 2 perguntas!

 

1ª -> quando eu sumono NPC rocket tanto com o GM ou adiciono pelo mapa editor eles nao fazem nada ficam só andando queria saber como faço pra eles atacarem.

 

2° -> quando eu abro o mapa com o mapa editor as sprites do Pokemon nao aparecem como ground/PCs e ETC... como arrumo isso?

 

~~ @Topic: muito bom o server continue assim xD

 

1 - Os rockets só atacam pessoas que lá no começo (onde escolhe o pokémon) se tornaram policiais

2 - Vai na pasta do servidor dps em itens, pegue o items.xml e o items.otb, se n me engano, copia, dps vai na pasta do remeres, dps na pasta 854 (que é para os servidores 8.54) e substitui lá

 

 

Ae cara, como posso por um sistema de vip nesse serv?

Muito bom o serv, alguns shinys em lugares esquisitos com respaw muito rápido, mais já arrumei todos.

Rep++

 

Bom amigo, um sistema de vip básico que eu fiz e to usando na versão 2.0 do server (que tá em andamento) é um sistema de vip por talkaction.

Vai até data > talkaction > scripts e cria um arquivo "buyvip.lua" e coloque isso dentro:

 

function onSay(cid, words, param)
if(doPlayerRemoveItem(cid, 2160, 1) == true) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got 30 VIP days.")
doPlayerAddPremiumDays(cid, 30)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need one ten thousand dollar note to buy vip.")
end
return TRUE
end

 

Depois volte uma pasta. data > talkactions e abra o talkactions.xml e coloque isso:

 

<talkaction words="!buyvip" event="script" value="buyvip.lua"/>

 

Espero ter ajudado os dois,

 

Abraços

Link para o comentário
Compartilhar em outros sites

Ola Amigo gostei da sua postagem primeiramente, ficou Show de Bola!

agora to com um pequeno intervo qui.

 

O cliente incluso ainda precisa de usar o HEX? eu não entendo como usar akilo pq meu ip é maior que o del, eu n consigo substituir ta tenso.

 

 

Tem como me da um help-me ai brother?

 

 

worriedsmiley.gif

Link para o comentário
Compartilhar em outros sites

Ola Amigo gostei da sua postagem primeiramente, ficou Show de Bola!

agora to com um pequeno intervo qui.

 

O cliente incluso ainda precisa de usar o HEX? eu não entendo como usar akilo pq meu ip é maior que o del, eu n consigo substituir ta tenso.

 

 

Tem como me da um help-me ai brother?

 

 

worriedsmiley.gif

 

Caso você for jogar sozinho, só jogar com o ip 127.0.0.1, é o ip local e tal.

Mas se você tem hamachi, tudo bem o ip ser maior..

Dá uma olhada aqui nessa minha explicação:

http://www.xtibia.com/forum/topic/197644-854-poketibia-world-server/page__view__findpost__p__1381633

 

Abraços

Link para o comentário
Compartilhar em outros sites

Olá xD

 

Queria saber sobre o barra de moves, as vezes ela nao atualiza quando troca de pokemon ou quando algum move é usado ela nao inicia a contagem

 

Queria saber se tem algum modo de resolver?

Link para o comentário
Compartilhar em outros sites

Olá xD

 

Queria saber sobre o barra de moves, as vezes ela nao atualiza quando troca de pokemon ou quando algum move é usado ela nao inicia a contagem

 

Queria saber se tem algum modo de resolver?

 

Não sei como resolver, não fui eu quem desenvolveu a barrinha..

 

 

Queria saber se o sistema de Mergulho que voce apresentou ai funciona ?

 

Funciona sim

Link para o comentário
Compartilhar em outros sites

É o seguinte, mudei o ip no config.lua exatamente igual o do hamachi, deixo o hamachi on e td mais, só que ngm consegue entrar.

E outra curiosidade, eu entro pelo cliente sem usar ip change ou seja, o ip do cliente está o padrão 127.0.0.1, é como se o ip do config.lua não tivesse mudado...

Link para o comentário
Compartilhar em outros sites

É o seguinte, mudei o ip no config.lua exatamente igual o do hamachi, deixo o hamachi on e td mais, só que ngm consegue entrar.

E outra curiosidade, eu entro pelo cliente sem usar ip change ou seja, o ip do cliente está o padrão 127.0.0.1, é como se o ip do config.lua não tivesse mudado...

 

Dá uma lida (mudar o ip do cliente):

http://www.xtibia.com/forum/topic/197644-854-poketibia-world-server/page__view__findpost__p__1381633

Link para o comentário
Compartilhar em outros sites

cara tem ums erros que eu achei no otserv

 

[17/11/2012 13:55:26] [Error - TalkAction Interface]

[17/11/2012 13:55:26] data/talkactions/scripts/move1.lua:onSay

[17/11/2012 13:55:26] Description:

[17/11/2012 13:55:26] (luaGetThingFromPos) Tile not found

 

o meu data/talkactions/scripts/move1.lua

local msgs = {"use ", ""}

 

function doAlertReady(cid, id, movename, n, cd)

if not isCreature(cid) then return true end

local myball = getPlayerSlotItem(cid, 8)

if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")

return true

end

local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)

if not p or #p <= 0 then return true end

for a = 1, #p do

if getItemAttribute(p[a], cd) == "cd:"..id.."" then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")

return true

end

end

end

 

function onSay(cid, words, param, channel)

 

 

if param ~= "" then return true end

if string.len(words) > 3 then return true end

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")

return 0

end

--alterado v2.5

local mypoke = getCreatureSummons(cid)[1]

 

if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end

if getCreatureName(mypoke) == "Evolution" then return true end

 

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

 

local it = string.sub(words, 2, 3)

local move = movestable[name].move1

if getPlayerStorageValue(mypoke, 212123) >= 1 then

cdzin = "cm_move"..it..""

else

cdzin = "move"..it.."" --alterado v2.5

end

 

if it == "2" then

move = movestable[name].move2

elseif it == "3" then

move = movestable[name].move3

elseif it == "4" then

move = movestable[name].move4

elseif it == "5" then

move = movestable[name].move5

elseif it == "6" then

move = movestable[name].move6

elseif it == "7" then

move = movestable[name].move7

elseif it == "8" then

move = movestable[name].move8

elseif it == "9" then

move = movestable[name].move9

elseif it == "10" then

move = movestable[name].move10

elseif it == "11" then

move = movestable[name].move11

elseif it == "12" then

move = movestable[name].move12

elseif it == "13" then

move = movestable[name].move13

end

 

if not move then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")

return true

end

 

--if false and getLevel(mypoke) < move.level then

if getLevel(mypoke) < move.level then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't have enough level to use this move.")

return 0

end

 

if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")

return 0

end

 

if getTileInfo(getThingPos(mypoke)).protection then

doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")

return 0

end

 

if getPlayerStorageValue(mypoke, 3894) >= 1 then

return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v2.3

end

 

if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then --alterado v2.5

doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")

return 0

end

--alterado v2.6

if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) and math.random(1, 100) <= 10 then

local target = getCreatureTarget(cid)

 

if isCreature(getMasterTarget(target)) then --alterado v2.6 --alterado v2.5

doSendMagicEffect(getThingPos(target), 211)

doSendAnimatedText(getThingPos(target), "TOO BAD", 215)

doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)

doSendMagicEffect(getThingPos(target), 211)

doFaceCreature(target, getThingPos(mypoke))

return true --alterado v2.6

end

end

 

 

if move.target == 1 then

 

if not isCreature(getCreatureTarget(cid)) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")

return 0

end

 

if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then

return 0

end

 

if getCreatureHealth(getCreatureTarget(cid)) <= 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")

return 0

end

 

if not isCreature(getCreatureSummons(cid)[1]) then

return true

end

 

if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")

return 0

end

 

if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then

return 0

end

end

 

local newid = 0

 

if isSleeping(mypoke) or isSilence(mypoke) then --alterado v2.5

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")

return 0

else

newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)

end

 

doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)

 

local summons = getCreatureSummons(cid) --alterado v2.6

 

addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)

 

for i = 2, #summons do

if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then

docastspell(summons, move.name) --alterado v2.6

end

end

 

docastspell(mypoke, move.name)

doCreatureAddCondition(cid, playerexhaust)

 

if useKpdoDlls then

doUpdateCooldowns(cid)

end

 

return 0

 

end

 

[17/11/2012 13:57:09] [Error - Spell Interface]

[17/11/2012 13:57:09] data/spells/scripts/ps/Confusion.lua:onCastSpell

[17/11/2012 13:57:09] Description:

[17/11/2012 13:57:09] (luaGetThingFromPos) Tile not found

 

o data/spells/scripts/ps/Confusion.lua

function onCastSpell(cid, var)

 

if isSummon(cid) then return true end

 

docastspell(cid, "Confusion")

 

return true

 

end

 

[17/11/2012 13:57:17] [Error - Npc interface]

[17/11/2012 13:57:17] data/npc/scripts/.aCommanderOfficer.lua:onThink

[17/11/2012 13:57:17] Description:

[17/11/2012 13:57:17] (luaGetThingFromPos) Tile not found

 

o data/npc/scripts/.aCommanderOfficer.lua

local target = 0

local prevTarget = 0

local origPos = 0

local max_distance = 12

local fighting = false

local challenger = 0

local battle_turn = 1 -- don't change

local challenger_turn = 0 -- don't change

---

--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--

local function doSummonGymPokemon(npc)

local this = npc

if not isCreature(this) or not ehNPC(this) then return true end --alterado v2.6

if #getCreatureSummons(this) >= 1 or target == 0 then return true end

local it = wildCommanderOfficer[getPlayerStorageValue(this, 665461)][battle_turn]

if not it then return true end

doSummonMonster(this, it.name)

local summon = getCreatureSummons(this)[1]

if not summon then --alterado v2.6

print("Error in npc: "..getCreatureName(this)..", tring to execute function 'doSummonGymPokemon', poke: "..it.name)

battle_turn = battle_turn+1

return true

end

local balleffect = pokeballs["normal"].effect

if it.ball and pokeballs[it.ball] then

balleffect = pokeballs[it.ball].effect

end

doSendMagicEffect(getThingPos(summon), balleffect)

setPlayerStorageValue(summon, 10000, balleffect)

setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))

setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)

doSetMonsterGym(summon, target)

local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name --alterado v1.3

setWildPokemonLevel(summon, it.optionalLevel, getPokemonStatus(it.name, it.optionalLevel), name, 1.5)

doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)

fighting = true

battle_turn = battle_turn + 1

end

--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--

local function goToOrigPos()

target = 0

selfFollow(0)

fighting = false

challenger = 0

challenger_turn = 0

if #getCreatureSummons(getNpcCid()) >= 1 then

setPlayerStorageValue(getCreatureSummons(getNpcCid())[1], 1006, 0)

doCreatureAddHealth(getCreatureSummons(getNpcCid())[1], -getCreatureMaxHealth(getCreatureSummons(getNpcCid())[1]))

end

doChangeSpeed(getNpcCid(), -getCreatureSpeed(getNpcCid()))

doTeleportThing(getNpcCid(), origPos)

end

--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--

local function updateTarget()

if(target == 0) then

local list = getSpectators(getNpcPos(), 9, 9, false)

for i = 1, table.getn(list) do

local _target = list

if(_target ~= 0) then

if(isPlayer(_target) == TRUE and isRocket(_target)) then

selfSay(policeTalks[math.random(#policeTalks)])

doNpcSetCreatureFocus(_target)

target = _target

prevTarget = target

break

end

end

end

end

end

--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--

function onCreatureAppear(cid)

end

 

function onCreatureDisappear(cid)

end

 

function onCreatureMove(creature, oldPos, newPos)

--

end

--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////--

function onThink()

if not isCreature(getNpcCid()) then return false end --alterado v2.6

if origPos == 0 then

origPos = getNpcPos()

end

if getPlayerStorageValue(getNpcCid(), 665461) <= 0 then

setPlayerStorageValue(getNpcCid(), 665461, math.random(1, 5))

randOutfit(getNpcCid())

end

updateTarget()

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

if getDistanceBetween(getNpcPos(), origPos) >= max_distance then

goToOrigPos()

end

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

if(target == 0) then

if getPlayerStorageValue(getNpcCid(), 154788) <= 0 then

setPlayerStorageValue(getNpcCid(), 154788, 1)

doChangeSpeed(getNpcCid(), -getCreatureSpeed(getNpcCid()))

addEvent(randWalk, 2000, getNpcCid(), 1000, getPlayerStorageValue(getNpcCid(), 154788), target)

end

return true

end

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

local playerPos = getThingPosWithDebug(target) --alterado v2.6

local myPos = getNpcPos()

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

if(myPos.z ~= playerPos.z) then

goToOrigPos()

battle_turn = battle_turn == 1 and battle_turn or battle_turn-1

return true

end

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

if getDistanceBetween(playerPos, myPos) > max_distance then

goToOrigPos()

battle_turn = battle_turn == 1 and battle_turn or battle_turn-1

return true

end

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

if getDistanceBetween(playerPos, myPos) >= 5 then

if getPlayerStorageValue(getNpcCid(), 154788) >= 1 then

setPlayerStorageValue(getNpcCid(), 154788, -1)

doRegainSpeed(getNpcCid())

if isCreature(target) then

selfFollow(target)

end

end

end

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

if getDistanceBetween(playerPos, myPos) <= 3 then

if getPlayerStorageValue(getNpcCid(), 154788) <= 0 then

setPlayerStorageValue(getNpcCid(), 154788, 1)

doChangeSpeed(getNpcCid(), -getCreatureSpeed(getNpcCid()))

addEvent(randWalk, 2000, getNpcCid(), 1000, getPlayerStorageValue(getNpcCid(), 154788), target)

end

end

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

if getDistanceBetween(playerPos, myPos) <= 5 then

challenger = target

addEvent(doSummonGymPokemon, 850, getNpcCid())

 

local change = false

 

if not isCreature(target) then

target = 0

battle_turn = battle_turn == 1 and battle_turn or battle_turn-1

return true

end

 

if fighting then

 

if not isCreature(getCreatureTarget(getNpcCid())) then

if #getCreatureSummons(challenger) >= 1 then

selfAttackCreature(getCreatureSummons(challenger)[1])

change = true

else

if change then

change = false

challenger_turn = challenger_turn + 1

end

end

end

 

if #getCreatureSummons(getNpcCid()) == 0 and isCreature(target) then

if battle_turn > #wildCommanderOfficer[getPlayerStorageValue(getNpcCid(), 665461)] then

addEvent(doCreateNpc, 300000, ".aCommanderOfficer", myPos) --alterado v1.5

local outfit = getCreatureOutfit(getNpcCid())

doRemoveCreature(getNpcCid())

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

if outfit.lookType == 1184 then --verifica se o npc eh female.. ;p

monster = doCreateMonster("aCommanderOfficerFemale", myPos)

else

monster = doCreateMonster("aCommanderOfficer", myPos)

end

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

doCloneOut(monster, outfit)

addEvent(beDrunk, 100, monster)

end

addEvent(doSummonGymPokemon, 1000, getNpcCid())

end

 

if #getCreatureSummons(challenger) <= 0 then

selfAttackCreature(challenger)

end

end

end

end

[17/11/2012 13:56:49] [Error - Spell Interface]

[17/11/2012 13:56:49] In a timer event called from:

[17/11/2012 13:56:49] data/spells/scripts/ps/Earthquake.lua:onCastSpell

[17/11/2012 13:56:49] Description:

[17/11/2012 13:56:49] (luaGetThingFromPos) Tile not found

 

o data/spells/scripts/ps/Earthquake.lua

function onCastSpell(cid, var)

 

if isSummon(cid) then return true end

 

docastspell(cid, "Earthquake")

 

return true

end

 

[17/11/2012 13:56:46] [Error - Spell Interface]

[17/11/2012 13:56:46] data/spells/scripts/ps/Sand Attack.lua:onCastSpell

[17/11/2012 13:56:46] Description:

[17/11/2012 13:56:46] (luaGetThingFromPos) Tile not found

 

data/spells/scripts/ps/Sand Attack.lua

function onCastSpell(cid, var)

 

if isSummon(cid) then return true end

 

docastspell(cid, "Sand Attack")

 

return true

 

end

 

[17/11/2012 13:54:52] [Error - Spell Interface]

[17/11/2012 13:54:52] data/spells/scripts/ps/Thunder Wave.lua:onCastSpell

[17/11/2012 13:54:52] Description:

[17/11/2012 13:54:52] (luaGetThingFromPos) Tile not found

 

o data/spells/scripts/ps/Thunder Wave.lua

function onCastSpell(cid, var)

 

if isSummon(cid) then return true end

 

docastspell(cid, "Thunder Wave")

 

return true

end

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

Eu abaixei aqui para testar o server,e ele está muito bom,mas só tenho uma dúvida,como faço para arrumar os respawns de shinys? Tem lugares que estão nascendo vários shinys,na praia de cerulean (acho que isso o nome),nasce um shiny abra por exemplo...

Link para o comentário
Compartilhar em outros sites

@Akrodisubide sim amigo, estou ciente desses erros, mas não influem EM NADA a jogabilidade do servidor.

 

 

Eu abaixei aqui para testar o server,e ele está muito bom,mas só tenho uma dúvida,como faço para arrumar os respawns de shinys? Tem lugares que estão nascendo vários shinys,na praia de cerulean (acho que isso o nome),nasce um shiny abra por exemplo...

 

Baixa o remeres e edita a área que quiser.

Link para o comentário
Compartilhar em outros sites

Vei gostei d+ de seu PDA que pena que é com level de poke, eu testei aki só para testar mesmo + tipo eu e meu colega fizemos um teste pelo hamachi e ele logou ai fomos batalhar , ai eu ganhei ai quando eu ganhei ele foi tipo kikado sozinho, mas o resto do sistema ta massa só é esse probleminha

a man vc saberia como faço para tirar os leveis do pokes ?? eu tava assim de colocar pda no meu tb

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...