soulorochi tu é o msm carinha q postou la no meu topico de recrutamento de otro forum? se for mó vacilão em cara ^^
#alguem tem um duel system decente ou npcs de quest?
Por lucashgas, 10 de jan. de 2012 em Tópicos Sem Resposta
info
Grupo: Campones
Registrado: 02/11/08
Posts: 45
Reputação: +3
Char no Tibia: Jezhur onyan

soulorochi tu é o msm carinha q postou la no meu topico de recrutamento de otro forum? se for mó vacilão em cara ^^
#alguem tem um duel system decente ou npcs de quest?
Editado Janeiro 31 por tssdjf
GO GO GO UPDATE!!!!!! UPDATE GOOO!!!!!
To ainda sofrendo nos passive nem olhei gyn ainda rsrsrss... mais tipoalgum scripter e mapper ae afim de entra na equipe do pokemon4ever?
pequena duvida: eu tava olhando o ot pokemon tem 4 servers cada um com 400 online, tipo ql a chance da nintendo cim encher o saco por direitos autorais?
Nenhuma ja não enchero saco do PA ou Psoul que existiam antes do otpokemon só foi o pxg mesmo na epocas dos 200 servidores lotados.
Alguem tem como disponibiliza pra mim a gym lyb dessa versão do pokemon dash advanced eu faço tudo certo e mesmo assim ele diz que eu presciso ter pokemons eu ja tentei 200 ids diferentes de balls e nada alguem da uma ajuda ae.
Percebi que no servidor mesmo um pokemon nao estando atacando ele ultiliza uma habilidade " blind no caso aparece como Miss no jogo"
no lib encontrei :
if getPlayerStorageValue(cid, 3890) >= 1 then
doSendAnimatedText(getThingPositionWithDebug(cid), "MISS", 215)
setPlayerStorageValue(cid, 3890, -1)
return true
end
No caso teria como eu criar uma habilidade dessa pra cada tipo de poke?
Ex:
se o poke for fogo a habilidade sera essa Furia flamejante
se o poke for fly a habilidade sera essa furia dos passaros
???
Nao sei nada de script alguem que saiba muito ai sera que daria certo ??
info
Grupo: Artesão
Registrado: 21/10/11
Posts: 131
Reputação: +9

so procura qe ja tm gym pra download
info
Grupo: Visconde
Registrado: 14/08/11
Posts: 320
Reputação: +34
Gênero: Masculino

soulorochi tu é o msm carinha q postou la no meu topico de recrutamento de otro forum? se for mó vacilão em cara ^^
#alguem tem um duel system decente ou npcs de quest?
manda o link via pm do post pra eu dar uma olhada.
so procura qe ja tm gym pra download
gym pra download tem os npcs com scripts eu to querendo a lib que aqui não esta funcionando to fazendo algo de errado.
info
Grupo: Campones
Registrado: 29/10/10
Posts: 23
Reputação: +1
Char no Tibia: OverCross

SoulOroshie o GYm.lib é só a parte de insignia.
gymbadges = {
["Brock"] = 12252,
["Misty"] = 12253,
["Surge"] = 12254,
["Erika"] = 12255,
["Sabrina"] = 12256,
["Koga"] = 12257,
["Blaine"] = 12258,
["Giovanni"] = 12259}
@Zielony
Topico desnecessario amigo ![]()
@tssdjf
acho dificil alguem postar algo relacionado a quest aqui, mas tente na seçao de pedidos.
@lastdemon
voce pode criar um movement e colocar na entrada de ambientes com pretection zone.
@SoulOroshie
O server nao precisa de lib no gym, é só pegar o brock como exemplo. E trocar os pokemons na tabela.
Abraço
Editado Janeiro 31 por lucashgas
info
Grupo: Visconde
Registrado: 14/08/11
Posts: 320
Reputação: +34
Gênero: Masculino

SoulOroshie o GYm.lib é só a parte de insignia.
gymbadges = { ["Brock"] = 12252, ["Misty"] = 12253, ["Surge"] = 12254, ["Erika"] = 12255, ["Sabrina"] = 12256, ["Koga"] = 12257, ["Blaine"] = 12258, ["Giovanni"] = 12259}
Bom eu não sei então pois eu estou usando o do brun123 que tem o arquivo gym com isso que você postou e a minha gymlib é isso:
funcpokemon = {11826, 11829, 11832, 11835} -- ID das pokebolas (o pokemon tem que estar vivo nessas IDs)
bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory
ginasios = {
["Brock"] = { storage = 990,
msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!",
msgafk = "Go away if you don't have any pokemons!",
msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.",
[1] = { msggo = "Lets fight then! I choose you, Geodude!",
msgba = "That's enough, Geodude!",
pokem = "Geodude",
nextp = "Graveler"},
[2] = { msggo = "It's your turn, Graveler!",
msgba = "Come back, Graveler!",
pokem = "Graveler",
nextp = "Golem"},
[3] = { msggo = "Crush'em, Golem!",
msgba = "You did well, Golem!",
pokem = "Golem",
nextp = "finish"}
}
}
function noPokeAtAll(cid, gympoke, npcname, msgafk)
if not isCreature(cid) then
return false
end
if not isCreature(gympoke) then
return false
end
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 991) == 0 and getPlayerStorageValue(cid, ginasios[npcname].storage) ~= 2 then
setPlayerStorageValue(cid, 991, -1)
doCreatureSay(getCreatureByName(npcname), msgafk, 1)
doSendMagicEffect(getThingPos(gympoke), 10)
setPlayerStorageValue(cid, ginasios[npcname].storage, 0)
doRemoveCreature(gympoke)
return true
end
end
function gymChecker(cid, duel, nb, npcname)
if not isCreature(cid) then
return true
end
if not isCreature(duel) then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
return true
end
if getDistanceBetween(getThingPos(getCreatureByName(npcname)), getThingPos(duel)) >= 8 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
return true
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == 0 then
addEvent(noPokeAtAll, 6000, duel, cid, npcname, ginasios[npcname].msgafk)
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == -1 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname].msgdefeat, 1)
return true
end
if isCreature(duel) and not hasPokemon(duel) then
setPlayerStorageValue(duel, 991, -1)
end
if not isCreature(getCreatureTarget(cid)) then
if nb == 0 then
addEvent(gymChecker, 200, cid, duel, 1, npcname)
else
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
if isCreature(duel) then
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
end
end
return true
end
addEvent(gymChecker, 1000, cid, duel, 0, npcname)
end
function hasPokemon(cid)
if #getCreatureSummons(cid) >= 1 then
return true
end
if isInArray(funcpokemon, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then
return true
end
local bp = getPlayerSlotItem(cid, bpslot)
for cc = 1, #funcpokemon do
if #getItemsInContainerById(bp.uid, funcpokemon[cc]) >= 1 then
return true
end
end
return false
end
function doGymBattle(npcname, gympoke, cid, turn)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname][turn].msggo, 1)
local x = doSummonCreature(gympoke, getThingPos(getCreatureByName(npcname)))
registerCreatureEvent(x, "Gym1")
registerCreatureEvent(x, "Gym2")
registerCreatureEvent(x, "Gym3")
registerCreatureEvent(x, "Gym4")
setPlayerStorageValue(x, 201, ".")
setPlayerStorageValue(x, 201, npcname)
setPlayerStorageValue(x, 202, turn)
doSendMagicEffect(getThingPos(x), 10)
setPlayerStorageValue(x, ginasios[npcname].storage, 1)
addEvent(gymChecker, 1000, x, cid, 0, npcname)
end
--ex: doGymBattle("Brock", "Brock Geodude", cid, 1)
@Zielony
Topico desnecessario amigo
@tssdjf
acho dificil alguem postar algo relacionado a quest aqui, mas tente na seçao de pedidos.
@lastdemon
voce pode criar um movement e colocar na entrada de ambientes com pretection zone.
@SoulOroshie
O server nao precisa de lib no gym, é só pegar o brock como exemplo. E trocar os pokemons na tabela.
Abraço
Bom irei tentar obrigado.
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

@sfdsduhfsuifh
mano esse "MISS" eh do script.. "creaturescripts/scripts/exp.lua".. ele eh feito com uma function onStatsChange...
@all flando nisso.. sera q n da pra por as passivas nesse ms script? ja q se o poke tiver batalhando ele vai acaba perdendo life... ;x
@SoulOroshie
oq vc quer seria isso?..
bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory
ginasios = {
["Brock"] = { storage = 990,
msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!",
msgafk = "Go away if you don't have any pokemons!",
msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.",
[1] = { msggo = "Lets fight then! I choose you, Geodude!",
msgba = "That's enough, Geodude!",
pokem = "Brock Geodude",
nextp = "Brock Graveler"},
[2] = { msggo = "It's your turn, Graveler!",
msgba = "Come back, Graveler!",
pokem = "Brock Graveler",
nextp = "Brock Golem"},
[3] = { msggo = "Crush'em, Golem!",
msgba = "You did well, Golem!",
pokem = "Brock Golem",
nextp = "finish"}},
["Bruna"] = {storage = 992,
msgwin = "SHIT! i lost
",
msgafk = "Leave seu fdp...",
msgdefeat = "PFFFF, KKK PERDEU OTARIO!",
[1] = { msggo = "É agora seu bosta!",
msgba = "Porra, que merda mlk",
pokem = "Pidgeot s",
nextp = "Poliwrath s"},
[2] = { msggo = "Agora ta fudido",
msgba = "Ah vai se fude",
pokem = "Poliwrath s",
nextp = "finish"}}
}
function noPokeAtAll(cid, gympoke, npcname, msgafk)
if not isCreature(cid) then
return false
end
if not isCreature(gympoke) then
return false
end
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 991) == 0 and getPlayerStorageValue(cid, ginasios[npcname].storage) ~= 2 then
setPlayerStorageValue(cid, 991, -1)
doCreatureSay(getCreatureByName(npcname), msgafk, 1)
doSendMagicEffect(getThingPos(gympoke), 10)
setPlayerStorageValue(cid, ginasios[npcname].storage, 0)
doRemoveCreature(gympoke)
return true
end
end
function gymChecker(cid, duel, nb, npcname)
if not isCreature(cid) then
return true
end
if not isCreature(duel) then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
return true
end
if getDistanceBetween(getThingPos(getCreatureByName(npcname)), getThingPos(duel)) >= 8 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
return true
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == 0 then
addEvent(noPokeAtAll, 6000, duel, cid, npcname, ginasios[npcname].msgafk)
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == -1 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname].msgdefeat, 1)
return true
end
if isCreature(duel) and not hasPokemon(duel) then
setPlayerStorageValue(duel, 991, -1)
end
if not isCreature(getCreatureTarget(cid)) then
if nb == 0 then
addEvent(gymChecker, 200, cid, duel, 1, npcname)
else
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
if isCreature(duel) then
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
end
end
return true
end
addEvent(gymChecker, 1000, cid, duel, 0, npcname)
end
function hasPokemon(cid)
if #getCreatureSummons(cid) >= 1 then
return true
end
local item = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local bp = getPlayerSlotItem(cid, bpslot)
for a, b in pairs (pokeballs) do
if item.itemid == b.on or #getItemsInContainerById(bp.uid, b.on) >= 1 then
return true
end
end
return false
end
function doGymBattle(npcname, gympoke, cid, turn)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname][turn].msggo, 1)
local x = doSummonCreature(gympoke, getThingPos(getCreatureByName(npcname)))
registerCreatureEvent(x, "Gym1")
registerCreatureEvent(x, "Gym2")
registerCreatureEvent(x, "Gym3")
registerCreatureEvent(x, "Gym4")
setPlayerStorageValue(x, 201, ".")
setPlayerStorageValue(x, 201, npcname)
setPlayerStorageValue(x, 202, turn)
doSendMagicEffect(getThingPos(x), 10)
setPlayerStorageValue(x, ginasios[npcname].storage, 1)
addEvent(gymChecker, 1000, x, cid, 0, npcname)
end
--ex: doGymBattle("Brock", "Brock Geodude", cid, 1)
como ela ta na pasta "disabled" da lib.. achu q ela nem influencia em nd mas.. ta ae...
@EDIT.. deu certo!! coloquei a passiva no Exp.lua e funciono 100% !!! \o/
Editado Janeiro 31 por Slicer
Alguem tem npc de food e o mark Igual o p.o?
info
Grupo: Campones
Registrado: 26/01/12
Posts: 38
Reputação: +7

sobre o system bike postado aqui, precisa estar na mão pra usar. alguem sabe como fazer pra usar de dentro da bag ?
info
Grupo: Campones
Registrado: 20/11/11
Posts: 50
Reputação: +1
Char no Tibia: Dj Lokys

voocs sabem se o brun123 vaai faze o sv q nem o pxg ? ( atual svke )
info
Grupo: Barão
Registrado: 05/08/10
Posts: 218
Reputação: +86
Gênero: Masculino

Na mão? bom então seria a pokedex ou prize bag onde fica ensignia?...em fim tente mudar o item para que possa ficar na bag!
Editado Janeiro 31 por mulizeu
info
Grupo: Visconde
Registrado: 14/08/11
Posts: 320
Reputação: +34
Gênero: Masculino

sobre o system bike postado aqui, precisa estar na mão pra usar. alguem sabe como fazer pra usar de dentro da bag ?
troca o action id no actions.xml e no bike.lua
@sfdsduhfsuifh
mano esse "MISS" eh do script.. "creaturescripts/scripts/exp.lua".. ele eh feito com uma function onStatsChange...
@all flando nisso.. sera q n da pra por as passivas nesse ms script? ja q se o poke tiver batalhando ele vai acaba perdendo life... ;x
@SoulOroshie
oq vc quer seria isso?..
bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory
ginasios = {
["Brock"] = { storage = 990,
msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!",
msgafk = "Go away if you don't have any pokemons!",
msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.",
[1] = { msggo = "Lets fight then! I choose you, Geodude!",
msgba = "That's enough, Geodude!",
pokem = "Brock Geodude",
nextp = "Brock Graveler"},
[2] = { msggo = "It's your turn, Graveler!",
msgba = "Come back, Graveler!",
pokem = "Brock Graveler",
nextp = "Brock Golem"},
[3] = { msggo = "Crush'em, Golem!",
msgba = "You did well, Golem!",
pokem = "Brock Golem",
nextp = "finish"}},
["Bruna"] = {storage = 992,
msgwin = "SHIT! i lost
",
msgafk = "Leave seu fdp...",
msgdefeat = "PFFFF, KKK PERDEU OTARIO!",
[1] = { msggo = "É agora seu bosta!",
msgba = "Porra, que merda mlk",
pokem = "Pidgeot s",
nextp = "Poliwrath s"},
[2] = { msggo = "Agora ta fudido",
msgba = "Ah vai se fude",
pokem = "Poliwrath s",
nextp = "finish"}}
}
function noPokeAtAll(cid, gympoke, npcname, msgafk)
if not isCreature(cid) then
return false
end
if not isCreature(gympoke) then
return false
end
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 991) == 0 and getPlayerStorageValue(cid, ginasios[npcname].storage) ~= 2 then
setPlayerStorageValue(cid, 991, -1)
doCreatureSay(getCreatureByName(npcname), msgafk, 1)
doSendMagicEffect(getThingPos(gympoke), 10)
setPlayerStorageValue(cid, ginasios[npcname].storage, 0)
doRemoveCreature(gympoke)
return true
end
end
function gymChecker(cid, duel, nb, npcname)
if not isCreature(cid) then
return true
end
if not isCreature(duel) then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
return true
end
if getDistanceBetween(getThingPos(getCreatureByName(npcname)), getThingPos(duel)) >= 8 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
return true
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == 0 then
addEvent(noPokeAtAll, 6000, duel, cid, npcname, ginasios[npcname].msgafk)
end
if isCreature(duel) and getPlayerStorageValue(duel, 991) == -1 then
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname].msgdefeat, 1)
return true
end
if isCreature(duel) and not hasPokemon(duel) then
setPlayerStorageValue(duel, 991, -1)
end
if not isCreature(getCreatureTarget(cid)) then
if nb == 0 then
addEvent(gymChecker, 200, cid, duel, 1, npcname)
else
doSendMagicEffect(getThingPos(cid), 10)
doRemoveCreature(cid)
if isCreature(duel) then
setPlayerStorageValue(duel, ginasios[npcname].storage, 0)
end
end
return true
end
addEvent(gymChecker, 1000, cid, duel, 0, npcname)
end
function hasPokemon(cid)
if #getCreatureSummons(cid) >= 1 then
return true
end
local item = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local bp = getPlayerSlotItem(cid, bpslot)
for a, b in pairs (pokeballs) do
if item.itemid == b.on or #getItemsInContainerById(bp.uid, b.on) >= 1 then
return true
end
end
return false
end
function doGymBattle(npcname, gympoke, cid, turn)
doCreatureSay(getCreatureByName(npcname), ginasios[npcname][turn].msggo, 1)
local x = doSummonCreature(gympoke, getThingPos(getCreatureByName(npcname)))
registerCreatureEvent(x, "Gym1")
registerCreatureEvent(x, "Gym2")
registerCreatureEvent(x, "Gym3")
registerCreatureEvent(x, "Gym4")
setPlayerStorageValue(x, 201, ".")
setPlayerStorageValue(x, 201, npcname)
setPlayerStorageValue(x, 202, turn)
doSendMagicEffect(getThingPos(x), 10)
setPlayerStorageValue(x, ginasios[npcname].storage, 1)
addEvent(gymChecker, 1000, x, cid, 0, npcname)
end
--ex: doGymBattle("Brock", "Brock Geodude", cid, 1)
como ela ta na pasta "disabled" da lib.. achu q ela nem influencia em nd mas.. ta ae...
@EDIT.. deu certo!! coloquei a passiva no Exp.lua e funciono 100% !!! \o/
Cara percebi isso agora e tal me falaram que ja tinha o npc de gym e a lib funcional então fui testar com o server padrão sem nenhum edit.
Não funciona o brock so diz "To battle agains't a gym leader you need pokemons." e deu não responde mais nada.
Se nem o padrão funciona como que eu vo saber por acaso tem um novo gym? pois eu tava olhando o do brun123 que prescisava da gymlib que tu posto mas agora não sei onde achar um tutorial por isso to pedindo pra alguem pelo menos me falar oque tem que fazer pra adicionar o brock pois o npc e o script eu ja tenho.
Editado Janeiro 31 por SoulOroshie
info
Grupo: Campones
Registrado: 16/12/06
Posts: 30
Reputação: +5
alguem sabe como faz pro pokemon nao entrar em pz quando estiver com battle?
e procurei mas não consegui fazer para os pokemons quando usar um ataque nao entrar em items solidos(paredes por exemplo)
se alguem poder me dar uma luz fico agradecido
vlw