Ir para conteúdo

[Pokemon] Pda By Slicer 1.9/2.9


Slicer

Posts Recomendados

@AncientFury

mano n sei mexer com client, o q ta no serv foi outro cara ae pelo meio das 557 paginas do topico de duvidas PDA q fez...

e eu abro 2 clients aki usando o programa sandboxie...

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

Como que eu coloco o templo que o player vai ser teleportado depois de pegar o bau inicial eu uso o pda sem level??

 

a linha é essa correto?

 

 

 

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

 

 

 

Script:

 

 

 

 

local starterpokes = {

["Chikorita"] = {x = 1058, y = 897, z = 4},

["Totodile"] = {x = 1058, y = 900, z = 4},

["Cyndaquil"] = {x = 1058, y = 903, z = 4},

["Bulbassauro"] = {x = 1063, y = 897, z = 4},

["Rattata"] = {x = 1063, y = 900, z = 4},

["Caterpie"] = {x = 1063, y = 903, z = 4},

 

}

 

local btype = "normal"

 

function onUse(cid, item, frompos, item2, topos)

 

if getPlayerLevel(cid) > 5 then --alterado v1.3

return true

end

 

local pokemon = ""

 

for a, b in pairs (starterpokes) do

if isPosEqualPos(topos, b) then

pokemon = a

end

end

 

if pokemon == "" then return true end

 

local gender = getRandomGenderByName(pokemon)

 

local happy = 180

 

doPlayerAddItem(cid, 2394, 10)

 

local item = doCreateItemEx(2219)

doItemSetAttribute(item, "poke", pokemon)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "description", "Contains a "..pokemon..".")

doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")

doItemSetAttribute(item, "firstpoke", getCreatureName(cid))

doPlayerAddItemEx(cid, item, true)

 

doTransformItem(item, pokeballs[btype].on)

 

doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")

doPlayerSendTextMessage(cid, 27, "Don\'t forget to use your pokedex on every undiscovered pokemon!")

 

doSendMagicEffect(getThingPos(cid), 29)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

doSendMagicEffect(getThingPos(cid), 27)

doSendMagicEffect(getThingPos(cid), 29)

 

 

return TRUE

end

 

 

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

Como que eu coloco o templo que o player vai ser teleportado depois de pegar o bau inicial eu uso o pda sem level??

 

a linha é essa correto?

 

 

 

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

 

 

 

Script:

 

 

 

 

local starterpokes = {

["Chikorita"] = {x = 1058, y = 897, z = 4},

["Totodile"] = {x = 1058, y = 900, z = 4},

["Cyndaquil"] = {x = 1058, y = 903, z = 4},

["Bulbassauro"] = {x = 1063, y = 897, z = 4},

["Rattata"] = {x = 1063, y = 900, z = 4},

["Caterpie"] = {x = 1063, y = 903, z = 4},

 

}

 

local btype = "normal"

 

function onUse(cid, item, frompos, item2, topos)

 

if getPlayerLevel(cid) > 5 then --alterado v1.3

return true

end

 

local pokemon = ""

 

for a, b in pairs (starterpokes) do

if isPosEqualPos(topos, b) then

pokemon = a

end

end

 

if pokemon == "" then return true end

 

local gender = getRandomGenderByName(pokemon)

 

local happy = 180

 

doPlayerAddItem(cid, 2394, 10)

 

local item = doCreateItemEx(2219)

doItemSetAttribute(item, "poke", pokemon)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "description", "Contains a "..pokemon..".")

doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")

doItemSetAttribute(item, "firstpoke", getCreatureName(cid))

doPlayerAddItemEx(cid, item, true)

 

doTransformItem(item, pokeballs[btype].on)

 

doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")

doPlayerSendTextMessage(cid, 27, "Don\'t forget to use your pokedex on every undiscovered pokemon!")

 

doSendMagicEffect(getThingPos(cid), 29)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

doSendMagicEffect(getThingPos(cid), 27)

doSendMagicEffect(getThingPos(cid), 29)

 

 

return TRUE

end

 

 

 

You have to edit Temple coordiades in the map editor in the MAP menu > edit towns

 

 

 

 

Can somebody help me... my golden arena doesnt work and console dont display any errors :S

Link para o comentário
Compartilhar em outros sites

Como que eu coloco o templo que o player vai ser teleportado depois de pegar o bau inicial eu uso o pda sem level??

 

a linha é essa correto?

 

 

 

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

 

 

 

Script:

 

 

 

 

local starterpokes = {

["Chikorita"] = {x = 1058, y = 897, z = 4},

["Totodile"] = {x = 1058, y = 900, z = 4},

["Cyndaquil"] = {x = 1058, y = 903, z = 4},

["Bulbassauro"] = {x = 1063, y = 897, z = 4},

["Rattata"] = {x = 1063, y = 900, z = 4},

["Caterpie"] = {x = 1063, y = 903, z = 4},

 

}

 

local btype = "normal"

 

function onUse(cid, item, frompos, item2, topos)

 

if getPlayerLevel(cid) > 5 then --alterado v1.3

return true

end

 

local pokemon = ""

 

for a, b in pairs (starterpokes) do

if isPosEqualPos(topos, b) then

pokemon = a

end

end

 

if pokemon == "" then return true end

 

local gender = getRandomGenderByName(pokemon)

 

local happy = 180

 

doPlayerAddItem(cid, 2394, 10)

 

local item = doCreateItemEx(2219)

doItemSetAttribute(item, "poke", pokemon)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "description", "Contains a "..pokemon..".")

doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")

doItemSetAttribute(item, "firstpoke", getCreatureName(cid))

doPlayerAddItemEx(cid, item, true)

 

doTransformItem(item, pokeballs[btype].on)

 

doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")

doPlayerSendTextMessage(cid, 27, "Don\'t forget to use your pokedex on every undiscovered pokemon!")

 

doSendMagicEffect(getThingPos(cid), 29)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

doSendMagicEffect(getThingPos(cid), 27)

doSendMagicEffect(getThingPos(cid), 29)

 

 

return TRUE

end

 

 

 

You have to edit Temple coordiades in the map editor in the MAP menu > edit towns

 

 

 

 

Can somebody help me... my golden arena doesnt work and console dont display any errors :S

 

 

Tenho que deixar assim:

 

 

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid), 1060, 907, 7 )

 

 

 

esse é o erro que aparece no laucher

 

 

[13/09/2012 21:18:37] [Error - LuaScriptInterface::loadFile] data/actions/scripts/starter.lua:52: ')' expected (to close '(' at line 51) near 'doSendMagicEffect'

[13/09/2012 21:18:37] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/starter.lua)

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

You can do it "manual"

 

I mean do this:

 

 

local cordenades = {x=1060, y=907, z=7}

.

.

doTeleportThing(cid, cordenades)

 

 

 

This must be work

 

Your console error is a sintaxis error... need 1 more ")"... like this:

 

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid), 1060, 907, 7) )

you oppened 3 "(" but only close 2 ")"

Link para o comentário
Compartilhar em outros sites

na real o certo eh assim..

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)

 

ou se n, q nem o @KNO22 flo...

local cordenades = {x=1060, y=907, z=7}

doTeleportThing(cid, cordenades, false)

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

Tai o npc q me pedirao:

Giovanni (Boss Equipe Rocket Quest)

 

Va na pasta NPC e crie o "giovannnirocket.xml" e adicione isso dentro:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[Lider] Giovanni" script="giovannirocket.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">
<health now="150" max="150"/>
<look type="603" head="91" body="114" legs="86" feet="0"/>
<parameters>

</parameters>
</npc>

 

 

 

agora va na pasta NPC > Scripts e crie o "giovannirocket.lua" e adicione isso dentro:

 

local focus = 0
local max_distance = 8
local talk_start = 0
local conv = 0
local fighting = false
local challenger = 0
local afk_limit_time = 30 -- seconds
local afk_time = 0  -- don't change
local battle_turn = 1  -- don't change
local challenger_turn = 0 -- don't change
local masterpos = {}
local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes)
local can_walk = true  -- true to make this npc walks randomly
local max_distance = 5  -- maximum distance this npc can get far (sqms)
local walk_delay = 5  -- every seconds make this npc walk
local cooldown_table = {}
local min_pokemons_to_battle = 1-- change to whatever you want
local number_of_pokemons = 0 -- don't change
local prizes = {
[1] = {{itemid = 11640, count = 1}, {itemid = 2160, count = 10}},
local pokemons = {
{name = "Snorlax", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Snorlax", ball = "super"},
{name = "Wigglytuff", level = 100, extralevel = 55, sex = SEX_FEMALE, nick = "Wigg", ball = "normal"},
{name = "Clefable", level = 95, extralevel = 40, sex = SEX_MALE, nick = "Clefa", ball = "great"},
{name = "Chansey", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Chan", ball = "normal"},
{name = "Jigglypuff", level = 100, extralevel = 37, sex = SEX_FEMALE, nick = "Jigg", ball = "ultra"},
{name = "Blissey", level = 100, extralevel = 80, sex = SEX_FEMALE, nick = "Blissey", ball = "ultra"},
}

local function doSummonGymPokemon(npc)
local this = npc
if not isCreature(this) then return true end
if #getCreatureSummons(this) >= 1 or focus == 0 then return true end
local it = pokemons[battle_turn]
doSummonMonster(this, it.name)
local summon = getCreatureSummons(this)[1]
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, focus)
local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name
setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), 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 doWinDuel(cid, npc)
if not isCreature(cid) then return true end
local this = npc
local x = prizes[number_of_pokemons]
for n = 1, #x do
 doPlayerAddItem(cid, x[n].itemid, x[n].count)
end
doCreatureSay(npc, "Parabéns! Você ganhou, aqui é o seu prêmio.", 1)
cooldown_table[getCreatureName(cid)] = os.clock() + time_to_fight_again
return true
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
if focus == cid then
 talk_start = os.clock()
end
if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then
 if cooldown_table[getCreatureName(cid)] and cooldown_table[getCreatureName(cid)] - os.clock() > 0 then
  selfSay("Hello "..getCreatureName(cid)..", I really enjoyed our last battle!")
  conv = 10
 else
  selfSay("Olá "..getCreatureName(cid)..", Você Quer Batalhar? Vamos Ver Quem é o Melhor, fale Duel para batalha")
  conv = 1
 end
 focus = cid
 talk_start = os.clock()
return true
end
if (isDuelMsg(msg) or isConfirmMsg(msg)) and (conv == 1 or conv == 10) and focus == cid then
 if conv == 10 then
  selfSay("Acabamos de lutar! Espere um tempo para me recuperar da última batalha!")
  focus = 0
 return true
 end
 if not hasPokemon(cid) then
  selfSay("Você precisa pokemons para a batalha!")
 return true
 end
 selfSay("Ok, me diga com quantos pokemons voçê vai lutar.")
 conv = 2
return true
end
if conv == 2 and focus == cid then
 if not tonumber(msg) then
  selfSay("Diga-me o número de pokemons que que nós vamos batalhar.")
  return true
 elseif tonumber(msg) > #pokemons then
  selfSay("Só tenho "..#pokemons..",de modo que o máximo é de "..#pokemons.."!")
  return true
 elseif tonumber(msg) < min_pokemons_to_battle or tonumber(msg) < 1 then
  selfSay("Tem que ser mais do que "..min_pokemons_to_battle..".")
  return true
 else
  number_of_pokemons = tonumber(msg)
  selfSay("Ok, o primeiro que vencer "..number_of_pokemons.." leva-rá a vitória, vamos começar!")
  challenger = focus
  setPlayerStorageValue(cid, 990, 1)
  addEvent(doSummonGymPokemon, 850, getThis())
  conv = 3
  return true
 end

return true
end
if isNegMsg(msg) and conv == 1 and focus == cid then
 focus = 0
 selfSay("É melhor para você recusar uma batalha contra mim!")
return true
end
if msgcontains(msg, 'bye') and focus == cid then
 selfSay('Ja Vai?! Vamos Lutar!')
 setPlayerStorageValue(focus, 990, -1)
 focus = 0
return true
end
end
local afk_warning = false
local change = false
local walkdelay = 0
function onThink()
if not masterpos.x then
 masterpos = getThingPos(getThis())
end
if focus == 0 then
 selfTurn(2)
 fighting = false
 challenger = 0
 change = false
 challenger_turn = 0
 battle_turn = 1
 afk_time = 0
 afk_warning = false
 if #getCreatureSummons(getThis()) >= 1 then
  setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)
  doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))
 end
 walkdelay = walkdelay - 0.5
 if walkdelay <= 0 then
  walkdelay = walk_delay
  local pos = getThingPos(getThis())
  local npos = {}
  for a = 0, 3 do
if getDistanceBetween(getPosByDir(pos, a), masterpos) <= max_distance and canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then
table.insert(npos, getPosByDir(pos, a))
end
  end
  if npos and #npos > 0 then
doTeleportThing(getThis(), npos[math.random(#npos)])
  end
 end
return true
else
if not isCreature(focus) then
 focus = 0
return true
end
if fighting then
 talk_start = os.clock()
 if not isCreature(getCreatureTarget(getThis())) then
  if #getCreatureSummons(challenger) >= 1 then
selfAttackCreature(getCreatureSummons(challenger)[1])
change = true
afk_time = 0
  else
afk_time = afk_time + 0.5
if change then
 change = false
 challenger_turn = challenger_turn + 1
end
  end
 end
 if afk_time > afk_limit_time then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
  selfSay("Estava Esperando Você, Volte Quando Estiver Pronto Para Perder!")
 return true
 end
 if not afk_warning and afk_time > afk_limit_time / 2 then
  selfSay("Onde está seu pokemon? Vamos lutar!")
  afk_warning = true
 end

 if #getCreatureSummons(getThis()) == 0 then
  if battle_turn > number_of_pokemons then
addEvent(doWinDuel, 1000, focus, getThis())
setPlayerStorageValue(focus, 990, -1)
focus = 0
  return true
  end
  addEvent(doSummonGymPokemon, 1000, getThis())
 end
 if not hasPokemon(challenger) or challenger_turn > 6 or challenger_turn >= number_of_pokemons then
  selfSay("Você perdeu! Você Nunka Irá me Derrotar.")
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 return true
 end
end
 local npcpos = getThingPos(getThis())
 local focpos = getThingPos(focus)
 if npcpos.z ~= focpos.z then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
  selfSay("Corra Quanto Quiser, Você Nunka Vencera.")
 return true
 end
 if (os.clock() - talk_start) > 30 then
  selfSay("...!")
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 end
 if getDistanceToCreature(focus) > max_distance then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 return true
 end
 local dir = doRedirectDirection(getDirectionTo(npcpos, focpos))
 selfTurn(dir)
end
return true
end

 

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

SLICER E KNO22 brigadão pela força a forma que o slicer disse funcionou mais ele nao ta teleportando o player acho que a que vai resolver vai ser a forma manual que o KNO22 falou vou testar ela e aviso voces.

 

Eu to tentando trocar o IP do client que o Slicer coloco no sv dele mais eu nao consigo colocar um IP com mais character doque o que ja vem no sv que da bug e o ip que ta no client é o 127.0.0.1 e é impossível fazer um client com 9 character que seja valido..

 

se alguem puder ajudar...

Link para o comentário
Compartilhar em outros sites

SLICER E KNO22 brigadão pela força a forma que o slicer disse funcionou mais ele nao ta teleportando o player acho que a que vai resolver vai ser a forma manual que o KNO22 falou vou testar ela e aviso voces.

 

Eu to tentando trocar o IP do client que o Slicer coloco no sv dele mais eu nao consigo colocar um IP com mais character doque o que ja vem no sv que da bug e o ip que ta no client é o 127.0.0.1 e é impossível fazer um client com 9 character que seja valido..

 

se alguem puder ajudar...

 

 

Ai cara vai em http://vapus.net/customclient E la se cria seu client Com Seu Ip que vc quiser

Link para o comentário
Compartilhar em outros sites

@Gabrieltxu

 

Brigado pela dica velho mais o client do slicer tem algumas coisas que o client que eu crio no vapus não tem, por esse motivo não fiz isso ainda mais se nao tiver como mesmo ai vou fazer isso sim, de qualquer forma valeu pela dica velho.

Link para o comentário
Compartilhar em outros sites

@Gabrieltxu

 

Brigado pela dica velho mais o client do slicer tem algumas coisas que o client que eu crio no vapus não tem, por esse motivo não fiz isso ainda mais se nao tiver como mesmo ai vou fazer isso sim, de qualquer forma valeu pela dica velho.

 

Cara Só se Pegar a SPR e DAT do Slicer que esta pronto Client é seu Com seu IP é Simples

Link para o comentário
Compartilhar em outros sites

@Gabrieltxu

 

Brigado pela dica velho mais o client do slicer tem algumas coisas que o client que eu crio no vapus não tem, por esse motivo não fiz isso ainda mais se nao tiver como mesmo ai vou fazer isso sim, de qualquer forma valeu pela dica velho.

 

Cara Só se Pegar a SPR e DAT do Slicer que esta pronto Client é seu Com seu IP é Simples

 

Mais a cooldown bar fica no exe do client =\

Link para o comentário
Compartilhar em outros sites

@Gabrieltxu

 

Brigado pela dica velho mais o client do slicer tem algumas coisas que o client que eu crio no vapus não tem, por esse motivo não fiz isso ainda mais se nao tiver como mesmo ai vou fazer isso sim, de qualquer forma valeu pela dica velho.

 

Cara Só se Pegar a SPR e DAT do Slicer que esta pronto Client é seu Com seu IP é Simples

 

Mais a cooldown bar fica no exe do client =\

 

Só vc Criar uma Expecifika para seu Server manow

Link para o comentário
Compartilhar em outros sites

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