Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.


Ir para solução Resolvido por zipter98,

Posts Recomendados

Você está usando qual tag?

As corretas, pelo menos para meu código, seriam estas:

<event type="login" name="ExpLogin" event="script" value="nome_do_arquivo.lua"/>
<event type="logout" name="ExpLogout" event="script" value="nome_do_arquivo.lua"/>        
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

 

Você está usando qual tag?

As corretas, pelo menos para meu código, seriam estas:

<event type="login" name="ExpLogin" event="script" value="nome_do_arquivo.lua"/>
<event type="logout" name="ExpLogout" event="script" value="nome_do_arquivo.lua"/>        

Sim, foi um erro meu agora esta executando, mandando a mensagem e tudo.

Mas nao esta dando double exp.

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Pode postar seu pokeexp.lua?

EDIT: Testei aqui, e funcionou perfeitamente. Se a base do seu servidor for PDA, então você fez alguma coisa errada.

Por acaso esse Pokémon Pyros que você se refere é este?

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Sim

local function playerAddExp(cid, exp)

doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end

function onDeath(cid, corpse, deathList)
       
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8

    -------------Edited Golden Arena-------------------------   --alterado v1.7 \/\/
    if getPlayerStorageValue(cid, 22546) == 1 then
       setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
       if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end  --alterado v1.8   
    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, 20, "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, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
                 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 killer = getItemAttribute(corpse.uid, "corpseowner") 

if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
   local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
   if getGlobalStorageValue(4091) > -1 then
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
end
   local party = getPartyMembers(pk)
   if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
      expTotal = math.floor(expTotal/#party)         --alterado v1.6.1
      for i = 1, #party do
          if isInArray(list, party) then      
if getPlayerLevel(pk) <= 50 then
             playerAddExp(party, expTotal * 200) 
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
             playerAddExp(party, expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
             playerAddExp(party, expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
             playerAddExp(party, expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
             playerAddExp(party, expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
             playerAddExp(party, expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
             playerAddExp(party, expTotal * 5)
    end
          end
      end
   elseif not isInParty(pk) then
if getPlayerLevel(pk) <= 50 then
playerAddExp(pk, math.floor(200 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(pk, math.floor(130 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(pk, math.floor(80 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(pk, math.floor(40 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(pk, math.floor(20 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(pk, math.floor(10 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(pk, math.floor(5 * givenexp * getDamageMapPercent(pk, cid)))
return true end  
   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
if corpse.itemid ~= 0 then   --alterado v1.8
   doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
   doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) 
end
return true
end

 

é esse Pyros ae msm

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Troque:

if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * givenexp * getDamageMapPercent(pk, cid)))
por:
if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * expTotal))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * expTotal))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * expTotal))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * expTotal))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * expTotal))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * expTotal))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * expTotal))
PS: A double experience em party já estava funcionando.
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Mudei, mas ainda esta dando a msm exp '-'

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites
  • Solução

Use este código e informe tudo o que for imprimido no console.

PS: Não se esqueça de reiniciar o servidor.

local function playerAddExp(cid, exp)
print("EXP adicionada: "..exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
function onDeath(cid, corpse, deathList)
       
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
    -------------Edited Golden Arena-------------------------   --alterado v1.7 \/\/
    if getPlayerStorageValue(cid, 22546) == 1 then
       setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
       if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end  --alterado v1.8   
    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, 20, "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, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
                 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 killer = getItemAttribute(corpse.uid, "corpseowner") 
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
   local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
   print("EXP sem bonus: "..expTotal)
   if getGlobalStorageValue(4091) > -1 then
    print("Bonus ativado.")
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
    print("Nova EXP: "..expTotal)
end
   local party = getPartyMembers(pk)
   if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
      expTotal = math.floor(expTotal/#party)         --alterado v1.6.1
      for i = 1, #party do
          if isInArray(list, party[i]) then  
if getPlayerLevel(pk) <= 50 then
             playerAddExp(party[i], expTotal * 200) 
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
             playerAddExp(party[i], expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
             playerAddExp(party[i], expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
             playerAddExp(party[i], expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
             playerAddExp(party[i], expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
             playerAddExp(party[i], expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
             playerAddExp(party[i], expTotal * 5)
    end
          end
      end
   elseif not isInParty(pk) then
    print("Adicionando EXP: "..expTotal)
if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * expTotal))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * expTotal))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * expTotal))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * expTotal))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * expTotal))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * expTotal))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * expTotal))
    return true end  
   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
if corpse.itemid ~= 0 then   --alterado v1.8
   doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
   doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) 
end
return true
end
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

11165277_815659718510907_109930917753505

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Este último arquivo que enviei é para ser colocado no pokeexp.lua, não no doubleexp.lua.

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Ae funcionou Porem ele fica dando isso no executavel, quando um player mata um Mostro.

 

[06/05/2015 23:49:18] Bonus ativado.

[06/05/2015 23:49:18] Nova EXP: 10
[06/05/2015 23:49:18] Adicionando EXP: 10
[06/05/2015 23:49:18] EXP adicionada: 50
[06/05/2015 23:49:52] EXP sem bonus: 5
[06/05/2015 23:49:52] Bonus ativado.
[06/05/2015 23:49:52] Nova EXP: 10
[06/05/2015 23:49:52] Adicionando EXP: 10
[06/05/2015 23:49:52] EXP adicionada: 50

 

Sera que isso nao causaria lag no serve?
 

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Estas mensagens foram para verificar onde estava o erro, que, aparentemente, não existia. Você, na verdade, havia editado incorretamente o arquivo pokeexp.lua.

local function playerAddExp(cid, exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
function onDeath(cid, corpse, deathList)
       
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
    -------------Edited Golden Arena-------------------------   --alterado v1.7 \/\/
    if getPlayerStorageValue(cid, 22546) == 1 then
       setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
       if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end  --alterado v1.8   
    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, 20, "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, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
                 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 killer = getItemAttribute(corpse.uid, "corpseowner") 
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
   local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
   if getGlobalStorageValue(4091) > -1 then
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
end
   local party = getPartyMembers(pk)
   if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
      expTotal = math.floor(expTotal/#party)         --alterado v1.6.1
      for i = 1, #party do
          if isInArray(list, party[i]) then  
if getPlayerLevel(pk) <= 50 then
             playerAddExp(party[i], expTotal * 200) 
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
             playerAddExp(party[i], expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
             playerAddExp(party[i], expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
             playerAddExp(party[i], expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
             playerAddExp(party[i], expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
             playerAddExp(party[i], expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
             playerAddExp(party[i], expTotal * 5)
    end
          end
      end
   elseif not isInParty(pk) then
if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * expTotal))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * expTotal))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * expTotal))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * expTotal))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * expTotal))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * expTotal))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * expTotal))
    return true end  
   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
if corpse.itemid ~= 0 then   --alterado v1.8
   doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
   doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) 
end
return true
end

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Ok Obrigado novamente.


Poderia me ajudar em mas uma coisa?

Meu sistema de Double exp para vip nao esta funfando tbm
So aparece a mensagem, mas nao funciona.
Meu sistema vip na verdade e Premium, é premio free e premium vip.

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

pokeexp.lua:

local function playerAddExp(cid, exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
function onDeath(cid, corpse, deathList)
       
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
    -------------Edited Golden Arena-------------------------   --alterado v1.7 \/\/
    if getPlayerStorageValue(cid, 22546) == 1 then
       setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
       if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end  --alterado v1.8   
    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, 20, "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, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
                 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 killer = getItemAttribute(corpse.uid, "corpseowner") 
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
   local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
   if getGlobalStorageValue(4091) > -1 then
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
end
   local party = getPartyMembers(pk)
   if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
      expTotal = math.floor(expTotal/#party)         --alterado v1.6.1
      for i = 1, #party do
          if isInArray(list, party[i]) then  
            local m = isPremium(party[i]) and 2 or 1
            if getPlayerLevel(pk) <= 50 then
                playerAddExp(party[i], m * expTotal * 200) 
            elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
                playerAddExp(party[i], m * expTotal * 130)
            elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
                playerAddExp(party[i], m * expTotal * 80)
            elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
                playerAddExp(party[i], m * expTotal * 40)
            elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
                playerAddExp(party[i], m * expTotal * 20)
            elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
                playerAddExp(party[i], m * expTotal * 10)
            elseif getPlayerLevel(pk) >= 351 then
                playerAddExp(party[i], m * expTotal * 5)
            end
          end
      end
   elseif not isInParty(pk) then
    if isPremium(pk) then
        expTotal = math.floor(expTotal * 2)
    end
if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * expTotal))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * expTotal))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * expTotal))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * expTotal))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * expTotal))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * expTotal))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * expTotal))
    return true end  
   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
if corpse.itemid ~= 0 then   --alterado v1.8
   doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
   doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) 
end
return true
end

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Eu queria que fosse so 20% de exp para vip
Maws ae por nao ter falado.

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

...

local function playerAddExp(cid, exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
function onDeath(cid, corpse, deathList)
       
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
    -------------Edited Golden Arena-------------------------   --alterado v1.7 \/\/
    if getPlayerStorageValue(cid, 22546) == 1 then
       setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
       if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end  --alterado v1.8   
    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, 20, "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, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
                 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 killer = getItemAttribute(corpse.uid, "corpseowner") 
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
   local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
   if getGlobalStorageValue(4091) > -1 then
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
end
   local party = getPartyMembers(pk)
   if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
      expTotal = math.floor(expTotal/#party)         --alterado v1.6.1
      for i = 1, #party do
          if isInArray(list, party[i]) then  
            local m = isPremium(party[i]) and 1.2 or 1
            if getPlayerLevel(pk) <= 50 then
                playerAddExp(party[i], m * expTotal * 200) 
            elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
                playerAddExp(party[i], m * expTotal * 130)
            elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
                playerAddExp(party[i], m * expTotal * 80)
            elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
                playerAddExp(party[i], m * expTotal * 40)
            elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
                playerAddExp(party[i], m * expTotal * 20)
            elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
                playerAddExp(party[i], m * expTotal * 10)
            elseif getPlayerLevel(pk) >= 351 then
                playerAddExp(party[i], m * expTotal * 5)
            end
          end
      end
   elseif not isInParty(pk) then
    if isPremium(pk) then
        expTotal = math.floor(expTotal * 1.2)
    end
if getPlayerLevel(pk) <= 50 then
    playerAddExp(pk, math.floor(200 * expTotal))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
    playerAddExp(pk, math.floor(130 * expTotal))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
    playerAddExp(pk, math.floor(80 * expTotal))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
    playerAddExp(pk, math.floor(40 * expTotal))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
    playerAddExp(pk, math.floor(20 * expTotal))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
    playerAddExp(pk, math.floor(10 * expTotal))
elseif getPlayerLevel(pk) >= 351 then
    playerAddExp(pk, math.floor(5 * expTotal))
    return true end  
   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
if corpse.itemid ~= 0 then   --alterado v1.8
   doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
   doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) 
end
return true
end

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Vlw

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo