Slicer 1070 Postado Outubro 30, 2012 Share Postado Outubro 30, 2012 usa esse aki.. '--' local balls = {11826, 11828, 11829, 11831, 11832, 11834, 11835, 11837, 11737, 11739, 11740, 11742, 11743, 11745, 11746, 11748} local Exps = { [{1, 49}] = 1, [{50, 74}] = 0.8, [{75, 99}] = 0.6, [{100, 149}] = 0.5, [{150, 199}] = 0.4, } --2798 -normal- // local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end local function calculaExp(cid, expTotal) if not isPlayer(cid) then return 0 end local expFinal = expTotal for lvl, exp in pairs(Exps) do if getPlayerLevel(cid) >= lvl[1] or getPlayerLevel(cid) <= lvl[2] then expFinal = expFinal * exp break end end if expFinal == expTotal then expFinal = expFinal * 0.1 end --lvl 200+ return math.floor(expFinal) end local function giveExpToPlayer(pk, expTotal, givenexp, expstring) --alterado v2.7 playerAddExp(pk, expTotal) local firstball = getPlayerSlotItem(pk, 8) if not isInParty(pk) and firstball and getItemAttribute(firstball.uid, expstring) and getItemAttribute(firstball.uid, expstring) > 0 then local percent = getItemAttribute(firstball.uid, expstring) <= 1 and getItemAttribute(firstball.uid, expstring) or 1 local gainexp = math.ceil(percent * givenexp) doItemSetAttribute(firstball.uid, expstring, 0) givePokemonExp(pk, firstball, expTotal) --alterado v2.7 elseif isInParty(pk) and firstball.uid ~= 0 then givePokemonExp(pk, firstball, expTotal*3) --alterado v2.7 end for b = 1, #balls do local pokes = getItemsInContainerById(getPlayerSlotItem(pk, 3).uid, balls) if #pokes >= 1 then for _, uid in pairs (pokes) do if not isInParty(pk) and getItemAttribute(uid, expstring) and getItemAttribute(uid, expstring) > 0 then local percent = getItemAttribute(uid, expstring) <= 1 and getItemAttribute(uid, expstring) or 1 local gainexp = math.ceil(percent * givenexp) doItemSetAttribute(uid, expstring, 0) givePokemonExpInBp(pk, uid, gainexp, balls) --alterado v2.7 elseif isInParty(pk) and getItemAttribute(uid, expstring) and getItemAttribute(uid, expstring) > 0 then givePokemonExpInBp(pk, uid, expTotal*3, balls) end end end end end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or corpse.itemid == 0 or getCreatureName(cid) == "Evolution" then return true end -------------Edited Golden Arena------------------------- --alterado v2.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) doItemSetAttribute(corpse.uid, "golden", 1) end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) <= 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 21, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "You have win the golden arena! Take your reward!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) local expstring = ""..cid.."expEx" if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] if isCreature(pk) then local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid)) expTotal = calculaExp(pk, expTotal) local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v2.6.1 for i = 1, #party do if isInArray(list, party) and getDamageMapPercent(party, cid) > 0 then --alterado v2.8 giveExpToPlayer(party, expTotal, givenexp, expstring)--alterado v2.7 end end else giveExpToPlayer(pk, expTotal, givenexp, expstring) --alterado v2.7 end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end doItemSetAttribute(corpse.uid, "offense", getPlayerStorageValue(cid, 1011)) doItemSetAttribute(corpse.uid, "defense", getPlayerStorageValue(cid, 1012)) doItemSetAttribute(corpse.uid, "speed", getPlayerStorageValue(cid, 1013)) doItemSetAttribute(corpse.uid, "vitality", getPlayerStorageValue(cid, 1014)) doItemSetAttribute(corpse.uid, "spattack", getPlayerStorageValue(cid, 1015)) doItemSetAttribute(corpse.uid, "level", getLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) return true end Link para o comentário Compartilhar em outros sites More sharing options...
rodrigoorgirdor 1 Postado Outubro 30, 2012 Autor Share Postado Outubro 30, 2012 resumindo... eu troco meu arquivo exp.lua... por esse conteudo aí ... correto? Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Outubro 30, 2012 Share Postado Outubro 30, 2012 nao neh u,U eh o creaturescript/scripts/pokeexp.lua Link para o comentário Compartilhar em outros sites More sharing options...
rodrigoorgirdor 1 Postado Outubro 30, 2012 Autor Share Postado Outubro 30, 2012 kkk de boa, boiei aki.... vou testar aki Deu Certo. porem quando o pokemon selvagem morre... da o seguinte erro ... [30/10/2012 10:57:22] [Error - CreatureScript Interface] [30/10/2012 10:57:22] data/creaturescripts/scripts/pokeexp.lua:onDeath [30/10/2012 10:57:22] Description: [30/10/2012 10:57:22] data/creaturescripts/scripts/pokeexp.lua:138: attempt to call global 'getLevel' (a nil value) [30/10/2012 10:57:22] stack traceback: [30/10/2012 10:57:22] data/creaturescripts/scripts/pokeexp.lua:138: in function <data/creaturescripts/scripts/pokeexp.lua:63> Link para o comentário Compartilhar em outros sites More sharing options...
notle2012 233 Postado Outubro 30, 2012 Share Postado Outubro 30, 2012 troca essa linha doItemSetAttribute(corpse.uid, "level", getLevel(cid)) por essa doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Outubro 30, 2012 Share Postado Outubro 30, 2012 notle, getLevel eh pra por o lvl atual do poke no corpse... ;x ta certo ali.. @rodrigoorgirdor vc ta usando o serv sem lvl neh? como da pra ver.. aquele script eh pro serv COM lvl... Link para o comentário Compartilhar em outros sites More sharing options...
rodrigoorgirdor 1 Postado Outubro 31, 2012 Autor Share Postado Outubro 31, 2012 to usando sem level aki deu certinho ! resolvido aki vlw Link para o comentário Compartilhar em outros sites More sharing options...
Session Start 125 Postado Outubro 31, 2012 Share Postado Outubro 31, 2012 Duvida sanada, reportado para moverem... Link para o comentário Compartilhar em outros sites More sharing options...
rodrigoorgirdor 1 Postado Outubro 31, 2012 Autor Share Postado Outubro 31, 2012 pessoal... desculpem... dei uma bobeira gigante aki........ to até emcabulado ainda.. pensei ter visto o resultado ok hj pela manhã... mas agora fui testar novamente não deu certo... NÃO está diminuindo o xp nos intervalos 50, 75, 100, 125 ... mauz ae... alguem pode me ajudar? eu devo criar novo tópico? Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 20, 2018 Share Postado Abril 20, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados