GOBACK.LUA TROQUE POR:
Citarlocal EFFECTS = {
--[OutfitID] = {Effect}
["Magmar"] = 35,
["Jynx"] = 17, --alterado v2.5
["Shiny Jynx"] = 17,
["Piloswine"] = 205, --alterado v2.8
["Swinub"] = 205,
}function onUse(cid, item, frompos, item2, topos)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end
--alterado v2.6 sistema de firstpoke retirado
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then
doPlayerSendTextMessage(cid, 26, "sounds/pokeball.wav")
return true
end
-------------------------------------------------------
ballName = getItemAttribute(item.uid, "poke")
btype = getPokeballType(item.itemid)
usando = pokeballs[btype].uselocal effect = pokeballs[btype].effect
if not effect then
effect = 21
end
unLock(item.uid) --alterado v2.8
----------------------------------------------------------
if item.itemid == usando thenif getPlayerStorageValue(cid, 990) == 1 then -- GYM
doPlayerSendCancel(cid, "Você não pode retornar seu pokémon em uma batalha de ginásio.")
return true
end
---------------------------------------------------------------------------------------
if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v2.6
if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
BackTeam(cid)
end
end
-----------------------------------------------------------------------------------------
if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
doPlayerSendCancel(cid, "Desculpe, mais você não pode voltar seu pokémon em control mind.")
return true --alterado v2.5
end
---------------------------------------------------------------------------------------
if #getCreatureSummons(cid) <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "Seu pokémon está morto.")
return true
end
endlocal cd = getCD(item.uid, "blink", 30)
if cd > 0 then
setCD(item.uid, "blink", 0)
end
local z = getCreatureSummons(cid)[1]if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
return true
enddoReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "Você deve colocar a pokebola no local correto.")
return TRUE
endlocal thishp = getItemAttribute(item.uid, "hp")
if thishp <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "Seu pokémon está morto.")
return true
end
endlocal pokemon = getItemAttribute(item.uid, "poke")
if not pokes[pokemon] then
return true
end
----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) then
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
local low = {}
local lw = 1
for e, f in pairs(pokeballs) do
for times = 1, 3 do
local items = getItemsInContainerById(bp.uid, pokeballs[e].all[times])
if #items >= 1 then --alterado v2.6
for _, uid in pairs(items) do
local nome1 = getItemAttribute(uid, "poke")
if not isInArray(lowPokes, pokemon) and nome1 == pokemon then
return doPlayerSendTextMessage(cid, 27, "Desculpe, mais você não pode carregar pokémons iguais.")
elseif isInArray(lowPokes, pokemon) then
if nome1 == pokemon then
table.insert(low, lw, nome1)
lw = lw +1
end
end
end
end
end
end
if #low >= 3 then
return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end
end
---------------------------------------------------------------------------------------------------------------------------------------------------local x = pokes[pokemon]
local boosts = getItemAttribute(item.uid, "boost") or 0if getPlayerLevel(cid) < getItemAttribute(item.uid, "level") + boosts then
doPlayerSendCancel(cid, "O Seu pokémon tem um level muito mais alto que o seu, upe mais.")
return true
end
doSummonMonster(cid, pokemon)local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
------------------------passiva hitmonchan------------------------------
if isSummon(pk) then --alterado v2.8 \/
if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
if not getItemAttribute(item.uid, "hands") then
doSetItemAttribute(item.uid, "hands", 0)
end
local hands = getItemAttribute(item.uid, "hands")
doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
end
end
-------------------------------------------------------------------------
---------movement magmar, jynx-------------
if EFFECTS[getCreatureName(pk)] then
markPosEff(pk, getThingPos(pk))
sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
end
--------------------------------------------------------------------------if getCreatureName(pk) == "Ditto" then
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, "Ditto")
end
endif isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
doCreatureSetLookDir(pk, 2)
adjustStatus(pk, item.uid, true, false, true)
doAddPokemonInOwnList(cid, pokemon)doTransformItem(item.uid, item.itemid+1)
local pokename = getPokeName(pk) --alterado v2.7
local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
doCreatureSay(cid, mgo, TALKTYPE_SAY)doSendMagicEffect(getCreaturePosition(pk), effect)
if useOTClient then
doPlayerSendCancel(cid, '12//,show') --alterado v2.7
endelse
doPlayerSendCancel(cid, "Seu pokémon está morto.")
end
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end





info
Grupo: Campones
Registrado: 20/05/18
Posts: 56
Reputação: +5
Olá pessoal do XT, poderiam me ajudar a adaptar esse sistema? Estou trabalhando em uma base de poketibia a um bom tempo e estou pensando em colocar este sistema EwE. (O servidor possui Sources)
Arquivos .Lua estarão disponivel para download.(Arquivos da Base Gabriel Txu)
goback.lua
level system.lua
level tables.lua
Editado Junho 25 por TheFlacks