Ir para conteúdo

Posts Recomendados

Bom dia pessoal..

 

o meu goback.lua acho que esta com um pequeno defeito...

Quando os players estao com algum poke e a vida dele esta baixa, eles tiram da pokeball, e sumonan de novo, durante um bom tempo, e a vida deles volta a ficar inteira de novo... lol , bugzão do grande isso.. e tbm, ta sem delay, por isso eles fazem isso...

 

Poderiam me ajudar por favor?

 

Meu goback.lua:

 

 

local pokes = {
["Bulbasaur"] = {level = 5, cons = 43, vida = 1200},
["Ivysaur"] = {level = 40, cons = 86, vida = 3546},
["Venusaur"] = {level = 85, cons = 189, vida = 6788},
["Charmander"] = {level = 5, cons = 30, vida = 970},
["Charmeleon"] = {level = 40, cons = 70, vida = 3123},
["Charizard"] = {level = 85, cons = 140, vida = 6254},
["Squirtle"] = {level = 5, cons = 47, vida = 1350},
["Wartortle"] = {level = 40, cons = 93, vida = 3786},
["Blastoise"] = {level = 85, cons = 194, vida = 6890},
["Caterpie"] = {level = 1, cons = 13, vida = 370},
["Metapod"] = {level = 10, cons = 30, vida = 1100},
["Butterfree"] = {level = 30, cons = 56, vida = 3200},
["Weedle"] = {level = 1, cons = 16, vida = 325},
["Kakuna"] = {level = 10, cons = 32, vida = 900},
["Beedrill"] = {level = 30, cons = 64, vida = 2470},
["Pidgey"] = {level = 8, cons = 22, vida = 380},
["Pidgeotto"] = {level = 20, cons = 47, vida = 1400},
["Pidgeot"] = {level = 65, cons = 101, vida = 3800},
["Rattata"] = {level = 1, cons = 19, vida = 350},
["Raticate"] = {level = 30, cons = 68, vida = 1439},
["Spearow"] = {level = 12, cons = 22, vida = 450},
["Fearow"] = {level = 50, cons = 95, vida = 4356},
["Ekans"] = {level = 15, cons = 27, vida = 600},
["Arbok"] = {level = 30, cons = 87, vida = 3100},
["Pikachu"] = {level = 20, cons = 32, vida = 1190},
["Raichu"] = {level = 55, cons = 99, vida = 3400},
["Sandshrew"] = {level = 15, cons = 30, vida = 700},
["Sandslash"] = {level = 55, cons = 96, vida = 3400},
["Nidoran Female"] = {level = 12, cons = 27, vida = 600},
["Nidorina"] = {level = 25, cons = 58, vida = 2000},
["Nidoqueen"] = {level = 65, cons = 146, vida = 5123},
["Nidoran Male"] = {level = 12, cons = 34, vida = 650},
["Nidorino"] = {level = 25, cons = 74, vida = 2500},
["Nidoking"] = {level = 65, cons = 169, vida = 5644},
["Clefairy"] = {level = 30, cons = 30, vida = 1109},
["Clefable"] = {level = 45, cons = 90, vida = 3678},
["Vulpix"] = {level = 15, cons = 32, vida = 680},
["Ninetales"] = {level = 70, cons = 121, vida = 4356},
["Jigglypuff"] = {level = 25, cons = 30, vida = 1213},
["Wigglytuff"] = {level = 40, cons = 95, vida = 3800},
["Zubat"] = {level = 8, cons = 28, vida = 870},
["Golbat"] = {level = 35, cons = 70, vida = 2423},
["Oddish"] = {level = 10, cons = 21, vida = 657},
["Gloom"] = {level = 25, cons = 51, vida = 1677},
["Vileplume"] = {level = 50, cons = 96, vida = 3700},
["Paras"] = {level = 5, cons = 40, vida = 521},
["Parasect"] = {level = 50, cons = 110, vida = 3800},
["Venonat"] = {level = 20, cons = 50, vida = 1350},
["Venomoth"] = {level = 55, cons = 125, vida = 3989},
["Diglett"] = {level = 12, cons = 45, vida = 900},
["Dugtrio"] = {level = 35, cons = 110, vida = 3450},
["Meowth"] = {level = 20, cons = 52, vida = 950},
["Persian"] = {level = 40, cons = 85, vida = 2250},
["Psyduck"] = {level = 15, cons = 50, vida = 950},
["Golduck"] = {level = 50, cons = 150, vida = 4000},
["Mankey"] = {level = 20, cons = 60, vida = 945},
["Primeape"] = {level = 50, cons = 155, vida = 4500},
["Growlithe"] = {level = 20, cons = 60, vida = 1000},
["Arcanine"] = {level = 80, cons = 170, vida = 6800},
["Poliwag"] = {level = 5, cons = 20, vida = 565},
["Poliwhirl"] = {level = 25, cons = 44, vida = 1200},
["Poliwrath"] = {level = 65, cons = 138, vida = 4400},
["Abra"] = {level = 15, cons = 20, vida = 1056},
["Kadabra"] = {level = 45, cons = 57, vida = 2980},
["Alakazam"] = {level = 80, cons = 94, vida = 4000},
["Machop"] = {level = 20, cons = 60, vida = 1100},
["Machoke"] = {level = 45, cons = 110, vida = 3500},
["Machamp"] = {level = 70, cons = 185, vida = 7500},
["Bellsprout"] = {level = 10, cons = 24, vida = 420},
["Weepinbell"] = {level = 25, cons = 49, vida = 1100},
["Victreebel"] = {level = 50, cons = 117, vida = 4000},
["Tentacool"] = {level = 15, cons = 52, vida = 690},
["Tentacruel"] = {level = 70, cons = 165, vida = 7050},
["Geodude"] = {level = 15, cons = 30, vida = 1080},
["Graveler"] = {level = 40, cons = 82, vida = 3000},
["Golem"] = {level = 70, cons = 111, vida = 6500},
["Ponyta"] = {level = 20, cons = 60, vida = 1400},
["Rapidash"] = {level = 55, cons = 160, vida = 5500},
["Slowpoke"] = {level = 15, cons = 55, vida = 1200},
["Slowbro"] = {level = 45, cons = 110, vida = 4600},
["Magnemite"] = {level = 15, cons = 27, vida = 450},
["Magneton"] = {level = 40, cons = 67, vida = 1750},
["Farfetchd"] = {level = 40, cons = 95, vida = 3000},
["Doduo"] = {level = 15, cons = 31, vida = 600},
["Dodrio"] = {level = 45, cons = 78, vida = 2650},
["Seel"] = {level = 20, cons = 50, vida = 1490},
["Dewgong"] = {level = 65, cons = 135, vida = 6800},
["Grimer"] = {level = 15, cons = 30, vida = 600},
["Muk"] = {level = 30, cons = 85, vida = 2400},
["Shellder"] = {level = 15, cons = 45, vida = 1000},
["Cloyster"] = {level = 65, cons = 155, vida = 5000},
["Gastly"] = {level = 20, cons = 50, vida = 1320},
["Haunter"] = {level = 45, cons = 105, vida = 3400},
["Gengar"] = {level = 80, cons = 175, vida = 7800},
["Onix"] = {level = 50, cons = 150, vida = 5300},
["Crystal Onix"] = {level = 100, cons = 150, vida = 35000},
["Drowzee"] = {level = 20, cons = 58, vida = 1900},
["Hypno"] = {level = 50, cons = 100, vida = 4456},
["Krabby"] = {level = 10, cons = 45, vida = 880},
["Kingler"] = {level = 35, cons = 100, vida = 3250},
["Voltorb"] = {level = 15, cons = 30, vida = 620},
["Electrode"] = {level = 35, cons = 76, vida = 2000},
["Exeggcute"] = {level = 8, cons = 42, vida = 800},
["Exeggutor"] = {level = 50, cons = 98, vida = 4000},
["Cubone"] = {level = 20, cons = 58, vida = 1200},
["Marowak"] = {level = 50, cons = 105, vida = 3900},
["Hitmonlee"] = {level = 60, cons = 140, vida = 5500},
["Hitmonchan"] = {level = 60, cons = 140, vida = 5500},
["Lickitung"] = {level = 55, cons = 100, vida = 4800},
["Koffing"] = {level = 15, cons = 60, vida = 1000},
["Weezing"] = {level = 30, cons = 100, vida = 2800},
["Rhyhorn"] = {level = 30, cons = 80, vida = 3800},
["Rhydon"] = {level = 70, cons = 175, vida = 7000},
["Chansey"] = {level = 60, cons = 130, vida = 7500},
["Tangela"] = {level = 50, cons = 85, vida = 3500},
["Kangaskhan"] = {level = 80, cons = 160, vida = 7000},
["Horsea"] = {level = 8, cons = 19, vida = 578},
["Seadra"] = {level = 45, cons = 68, vida = 3400},
["Goldeen"] = {level = 10, cons = 50, vida = 700},
["Seaking"] = {level = 35, cons = 80, vida = 2000},
["Staryu"] = {level = 15, cons = 55, vida = 1050},
["Starmie"] = {level = 30, cons = 95, vida = 3800},
["Mr.Mime"] = {level = 60, cons = 110, vida = 5500},
["Scyther"] = {level = 80, cons = 145, vida = 6500},
["Jynx"] = {level = 70, cons = 125, vida = 8100},
["Elekid"] = {level = 20, cons = 150, vida = 1800},
["Electabuzz"] = {level = 80, cons = 150, vida = 6800},
["Magmar"] = {level = 80, cons = 160, vida = 7456},
["Pinsir"] = {level = 40, cons = 95, vida = 4000},
["Tauros"] = {level = 40, cons = 100, vida = 4200},
["Magikarp"] = {level = 1, cons = 5, vida = 320},
["Gyarados"] = {level = 80, cons = 195, vida = 7800},
["Lapras"] = {level = 70, cons = 140, vida = 7000},
["Ditto"] = {level = 40, cons = 100, vida = 4000},
["Eevee"] = {level = 50, cons = 55, vida = 1500},
["Vaporeon"] = {level = 55, cons = 110, vida = 4500},
["Jolteon"] = {level = 55, cons = 110, vida = 4500},
["Flareon"] = {level = 55, cons = 110, vida = 4500},
["Porygon"] = {level = 45, cons = 90, vida = 3560},
["Omanyte"] = {level = 20, cons = 55, vida = 1300},
["Omastar"] = {level = 75, cons = 140, vida = 6000},
["Kabuto"] = {level = 20, cons = 55, vida = 1300},
["Kabutops"] = {level = 75, cons = 150, vida = 6500},
["Aerodactyl"] = {level = 100, cons = 190, vida = 8000},
["Snorlax"] = {level = 85, cons = 200, vida = 9500},
["Articuno"] = {level = 300, cons = 200, vida = 11000},
["Zapdos"] = {level = 300, cons = 200, vida = 11000},
["Moltres"] = {level = 300, cons = 200, vida = 11000},
["Dratini"] = {level = 30, cons = 55, vida = 1200},
["Dragonair"] = {level = 60, cons = 165, vida = 5600},
["Dragonite"] = {level = 100, cons = 250, vida = 10800},
["Mew"] = {level = 300, cons = 125, vida = 7200},

----------------------Shiny----------------------
["Shiny Abra"] = {level = 100, cons = 110, vida = 20000},
["Shiny Arcanine"] = {level = 100, cons = 140, vida = 34000},
["Shiny Alakazam"] = {level = 100, cons = 125, vida = 24000},
["Shiny Beedrill"] = {level = 50, cons = 80, vida = 9800},
["Shiny Blastoise"] = {level = 100, cons = 120, vida = 32000},
["Shiny Butterfree"] = {level = 50, cons = 80, vida = 22000},
["Shiny Dratini"] = {level = 50, cons = 75, vida = 8800},
["Shiny Electabuzz"] = {level = 100, cons = 140, vida = 21000},
["Shiny Electrode"] = {level = 70, cons = 80, vida = 16000},
["Shiny Cubone"] = {level = 50, cons = 80, vida = 5000},
["Shiny Dragonair"] = {level = 90, cons = 150, vida = 30000},
["Shiny Dragonite"] = {level = 150, cons = 180, vida = 40000},
["Shiny Farfetchd"] = {level = 60, cons = 100, vida = 14000},
["Shiny Flareon"] = {level = 70, cons = 110, vida = 20000},
["Shiny Gengar"] = {level = 100, cons = 115, vida = 28000},
["Shiny Golbat"] = {level = 80, cons = 90, vida = 20000},
["Shiny Growlithe"] = {level = 40, cons = 70, vida = 16000},
["Shiny Grimer"] = {level = 30, cons = 50, vida = 10000},
["Shiny Gyarados"] = {level = 120, cons = 150, vida = 32000},
["Shiny Hitmonchan"] = {level = 100, cons = 90, vida = 18000},
["Shiny Hitmonlee"] = {level = 100, cons = 100, vida = 28000},
["Shiny Horsea"] = {level = 20, cons = 40, vida = 2160},
["Shiny Hypno"] = {level = 70, cons = 80, vida = 20000},
["Shiny Jolteon"] = {level = 70, cons = 80, vida = 20000},
["Shiny Jynx"] = {level = 100, cons = 90, vida = 24000},
["Shiny Krabby"] = {level = 20, cons = 30, vida = 2542},
["Shiny Kingler"] = {level = 60, cons = 60, vida = 13500},
["Shiny Magikarp"] = {level = 10, cons = 20, vida = 2000},
["Shiny Marowak"] = {level = 70, cons = 70, vida = 18000},
["Shiny Muk"] = {level = 60, cons = 60, vida = 16000},
["Shiny Oddish"] = {level = 15, cons = 25, vida = 2680},
["Shiny Paras"] = {level = 10, cons = 20, vida = 5700},
["Shiny Parasect"] = {level = 50, cons = 80, vida = 16600},
["Shiny Pidgeot"] = {level = 85, cons = 90, vida = 18000},
["Shiny Pinsir"] = {level = 60, cons = 80, vida = 14000},
["Shiny Rattata"] = {level = 10, cons = 15, vida = 1800},
["Shiny Raticate"] = {level = 35, cons = 40, vida = 10000},
["Shiny Raichu"] = {level = 70, cons = 80, vida = 16400},
["Shiny Seadra"] = {level = 70, cons = 70, vida = 16000},
["Shiny Scyther"] = {level = 100, cons = 110, vida = 20000},
["Shiny Snorlax"] = {level = 120, cons = 160, vida = 50000},
["Shiny Tangela"] = {level = 70, cons = 90, vida = 16000},
["Shiny Tentacool"] = {level = 30, cons = 60, vida = 7450},
["Shiny Tentacruel"] = {level = 100, cons = 110, vida = 24100},
["Shiny Vaporeon"] = {level = 70, cons = 80, vida = 16000},
["Shiny Venomoth"] = {level = 60, cons = 70, vida = 17700},
["Shiny Venonat"] = {level = 30, cons = 40, vida = 6200},
["Shiny Venusaur"] = {level = 100, cons = 160, vida = 30000},
["Shiny Voltorb"] = {level = 30, cons = 40, vida = 5240},
["Shiny Zubat"] = {level = 15, cons = 30, vida = 6000},
}
bost = {
[1] = {0},
[2] = {10},
[3] = {20},
[4] = {30},
[5] = {40},
[6] = {50},
[7] = {60},
[8] = {70},
[9] = {80},
[10] = {90},
[11] = {100},
[12] = {110},
[13] = {120},
[14] = {130},
[15] = {140},
[16] = {150},
[17] = {160},
[18] = {170},
[19] = {180},
[20] = {190},
[21] = {200},
[22] = {210},
[23] = {220},
[24] = {230},
[25] = {240},
[26] = {250},
[27] = {260},
[28] = {270},
[29] = {280},
[30] = {290},
}

local msgunica = true
local msgunicago1, msgunicaback1 = "Go, doka!", "Come back, doka!"
local msgunicago2, msgunicaback2 = "Let's do it, doka!", "Thanks for helping, doka!"
local msgunicago3, msgunicaback3 = "I choose you, doka!", "That's enough, come back!"
local msgunicago4, msgunicaback4 = "I need your help, doka!", "You were great, doka!"
local msgunicago5, msgunicaback5 = "Let's fight, doka!", "Excellent work, doka!"
local msgunicago6, msgunicaback6 = "It's battle time, doka!", "Well done, doka!"

function onUse(cid, item, frompos, item2, topos)
if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then
return true
end
local random2 = math.random(1,6)
if random2 == 1 then
msgunicaback = msgunicaback1
elseif random2 == 2 then
msgunicaback = msgunicaback2
elseif random2 == 3 then
msgunicaback = msgunicaback3
elseif random2 == 4 then
msgunicaback = msgunicaback4
elseif random2 == 5 then
msgunicaback = msgunicaback5
elseif random2 == 6 then
msgunicaback = msgunicaback6
end
local random = math.random(1,6)
if random == 1 then
msgunicago = msgunicago1
elseif random == 2 then
msgunicago = msgunicago2
elseif random == 3 then
msgunicago = msgunicago3
elseif random == 4 then
msgunicago = msgunicago4
elseif random == 5 then
msgunicago = msgunicago5
elseif random == 6 then
msgunicago = msgunicago6
end

if item.itemid == 2222 or item.itemid == 2223 then
gobackeff = 10
elseif item.itemid == 2220 or item.itemid == 2221 then
gobackeff = 191
elseif item.itemid == 2651 or item.itemid == 2652 then
gobackeff = 189
elseif item.itemid == 2653 or item.itemid == 2654 then
gobackeff = 190
elseif item.itemid == 2655 or item.itemid == 2656 then
gobackeff = 195
end
local effect = gobackeff

if item.itemid == 2223 or item.itemid == 2221 or item.itemid == 2652 or item.itemid == 2654 or item.itemid == 2656 then

if #getCreatureSummons(cid) >= 1 then
local z = getCreatureSummons(cid)[1]
local pokename = getCreatureName(z)
local mbk = msgunicaback:gsub("doka", pokename)
if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then
doTransformItem(item.uid, item.itemid-1)
doCreatureSay(cid, mbk, TALKTYPE_SAY)
local summom = getCreatureSummons(cid)
local maxh = pokes[getCreatureName(summom[1])].vida
local pct2 = ((getCreatureHealth(summom[1])) / (getCreatureMaxHealth(summom[1])))
local vids = ((getCreatureHealth(summom[1])) - 2)
doCreatureAddHealth(summom[1], -vids)
setCreatureMaxHealth(summom[1], maxh)
doCreatureAddHealth(summom[1], ((maxh) * (pct2)))
doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]")
setPlayerStorageValue(cid, 61204, 0)
setPlayerStorageValue(cid, 2, 0)
doSendMagicEffect(getCreaturePosition(z), effect)
doRemoveCreature(z)
return true
end
end

elseif item.itemid == 2222 or item.itemid == 2220 or item.itemid == 2651 or item.itemid == 2653 or item.itemid == 2655  then

if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
return TRUE
end


if not canSummon(cid) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
end

if getPlayerStorageValue(cid, 63215) >= 1 then
return doPlayerSendCancel(cid, "You can't use pokeball while surfing.")
end

if getPlayerStorageValue(cid, 62314) >= 1 then
return doPlayerSendCancel(cid, "You can't use pokeball while flying.")
end

if #getCreatureSummons(cid) >= 1 then
return doPlayerSendCancel(cid, "You have already summoned a pokemon.")
end

for i,x in pairs(pokes) do
if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then

if getPlayerLevel(cid) < x.level then
doPlayerSendCancel(cid, "You need level "..x.level.." or higher to use this pokemon.")
return true
end
local removed = doCreateItem(1285, 1, getThingPos(cid))
doSummonMonster(cid, i)
local pk = getCreatureSummons(cid)[1]
doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false)
doRemoveItem(removed, 1)
doCreatureSetLookDir(pk, 2)
local maxh = pokes[getCreatureName(pk)].vida
local levellife = ((getPlayerLevel(cid)) * (pokes[getCreatureName(pk)].cons))
local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/"))
doConvinceCreature(cid, pk)
doCreatureAddHealth(pk, health-maxh)
local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk)))
local vidis = (getCreatureHealth(pk))
setCreatureMaxHealth(pk, ((maxh) + (levellife)))
doCreatureAddHealth(pk, 2)
doCreatureAddHealth(pk, -vidis)
doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2)
doTransformItem(item.uid, item.itemid+1)
local pokename = getCreatureName(getCreatureSummons(cid)[1])
local mgo = msgunicago:gsub("doka", pokename)
doCreatureSay(cid, mgo, TALKTYPE_SAY)
doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")))
doSendMagicEffect(getCreaturePosition(pk), effect)
setPlayerStorageValue(cid, 61204, 1)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
break
end
end
end
return TRUE
end

 

Vlw...

Link para o comentário
https://xtibia.com/forum/topic/174132-defeito-no-gobacklua-poketibia-ajuda-please/
Compartilhar em outros sites

tambem ja notei isso, e pelo q notei é devido a um calculo de porcentagem, que nem sabe bate. sendo assim quando solta ele salva de uma forlma quando volta ele passa outro valor, tentei corrigir mais dava erro

morria o poke do nada, muito doido ... ai no fim coloquei -2 em uma linha onde tem pct*maxlvl

ai em vez de subir ele dece umpouco.

 

se nao vc fica soltando e puxando o poke ele fica com a vida full.

Link para o comentário
https://xtibia.com/forum/topic/174132-defeito-no-gobacklua-poketibia-ajuda-please/#findComment-1144011
Compartilhar em outros sites

×
×
  • Criar Novo...