vc quer q o bixo de 1200 de xp?
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] XP do server pokemon PDA
[Encerrado] XP do server pokemon PDA
Por tibiapk300, 17 de nov. de 2013 em Tópicos Sem Resposta
info
Grupo: Banidos
Registrado: 16/10/12
Posts: 596
Reputação: +31
Char no Tibia: Nao Sei

info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

vc quer q o bixo de 1200 de xp?
Sim
vc quer q o bixo de 1200 de xp?
Post meio desnecessário hein?
@tibiapk300
Poste o seu pokeexp.lua, da pasta creaturescripts, que eu resolvo pra você.
info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

local function playerAddExp(cid, exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
local Exps = {
{minL = 1, maxL = 99, multipler = 1},
{minL = 100, maxL = 149, multipler = 0.8},
{minL = 150, maxL = 199, multipler = 0.6},
{minL = 200, maxL = 249, multipler = 0.5},
{minL = 250, maxL = 299, multipler = 0.4},
}
local function calculaExp(cid, expTotal)
if not isPlayer(cid) then return 0 end
local expFinal = expTotal
local flag = false
for _, TABLE in pairs(Exps) do
if getPlayerLevel(cid) >= TABLE.minL and getPlayerLevel(cid) <= TABLE.maxL then
flag = true
expFinal = expFinal * TABLE.multipler
break
end
end
if not flag then expFinal = expFinal * 0.1 end --lvl 300+
return math.floor(expFinal)
end
function onDeath(cid, corpse, deathList)
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
-------------Edited Golden Arena-------------------------
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, "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)
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(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)
for i = 1, #party do
if isInArray(list, party) then
playerAddExp(party, expTotal)
end
end
else
playerAddExp(pk, expTotal)
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
local function playerAddExp(cid, exp)
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
local Exps = {
{minL = 1, maxL = 99, multipler = 1},
{minL = 100, maxL = 149, multipler = 0.8},
{minL = 150, maxL = 199, multipler = 0.6},
{minL = 200, maxL = 249, multipler = 0.5},
{minL = 250, maxL = 299, multipler = 0.4},
}
local function calculaExp(cid, expTotal)
if not isPlayer(cid) then return 0 end
local expFinal = expTotal
local flag = false
for _, TABLE in pairs(Exps) do
if getPlayerLevel(cid) >= TABLE.minL and getPlayerLevel(cid) <= TABLE.maxL then
flag = true
expFinal = expFinal * TABLE.multipler
break
end
end
if not flag then expFinal = expFinal * 0.1 end --lvl 300+
return math.floor(expFinal)
end
function onDeath(cid, corpse, deathList)
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
-------------Edited Golden Arena-------------------------
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, "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 = pokes[getCreatureName(cid)].exp or 0
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(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)
for i = 1, #party do
if isInArray(list, party[i]) then
playerAddExp(party[i], expTotal)
end
end
else
playerAddExp(pk, expTotal)
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
Tenta isso.
info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

Ainda não deu certo ta dando 3900 de xp eu quero saber como eu configuro pra dar a xp q eu quero com base nesses scripts não era pra dar nem 1500
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 156, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="1084" speed="137" manacost="0">
info
Grupo: Banidos
Registrado: 16/10/12
Posts: 596
Reputação: +31
Char no Tibia: Nao Sei

bota a exp do seu bixo 1200 e a exp rate 1 ou vc calcula se o seu serv for mais de u de exp rate. exp: se o seu serv tem exp rate 10 pra seu monster der 1200 de xp ele te q tem no script 120 de experience...
info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

bota a exp do seu bixo 1200 e a exp rate 1 ou vc calcula se o seu serv for mais de u de exp rate. exp: se o seu serv tem exp rate 10 pra seu monster der 1200 de xp ele te q tem no script 120 de experience...
Já fiz isso já e não da a xp q eu quero
No config.lua, procure por algo assim:
experienceStages = true rateExperience = 25 rateExperienceFromPlayers = 25
E deixe assim:
experienceStages = false rateExperience = 0 rateExperienceFromPlayers = 0
Depois vá até data/lib/configuration.lua e procure por:
pokemonExpPerLevelRate = 6
E deixe:
pokemonExpPerLevelRate = 1
Tenta ai, se não der certo avisa que farei uns testes ai te mando quando der certo!
info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

No config.lua, procure por algo assim:
experienceStages = true rateExperience = 25 rateExperienceFromPlayers = 25E deixe assim:
experienceStages = false rateExperience = 0 rateExperienceFromPlayers = 0Depois vá até data/lib/configuration.lua e procure por:
pokemonExpPerLevelRate = 6E deixe:
pokemonExpPerLevelRate = 1Tenta ai, se não der certo avisa que farei uns testes ai te mando quando der certo!
Foi uma das primeiras coisas que tentei mudei até no base exp pra 1, não fica a xp exata
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +333
Gênero: Masculino
Char no Tibia: Kyuzen

Ainda não deu certo ta dando 3900 de xp eu quero saber como eu configuro pra dar a xp q eu quero com base nesses scripts não era pra dar nem 1500
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 156, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="1084" speed="137" manacost="0">
tente deixar essa linha
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="100" speed="137" manacost="0">
e essa
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 1100, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
so pra ver.
info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0

Ainda não deu certo ta dando 3900 de xp eu quero saber como eu configuro pra dar a xp q eu quero com base nesses scripts não era pra dar nem 1500
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 156, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="1084" speed="137" manacost="0">
tente deixar essa linha
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="100" speed="137" manacost="0">
e essa
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 1100, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
so pra ver.
Deu 532 de xp, com todas as rates x1
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

+ 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.








info
Grupo: Campones
Registrado: 02/01/09
Posts: 12
Reputação: 0
["Electabuzz"] = {offense = 8.3, defense = 5.7, specialattack = 9.5, vitality = 6.5, agility = 160, exp = 156, level = 80, wildLvl = 80, type = "electric", type2 = "no type"},
<monster name="Electabuzz" nameDescription="a electabuzz" race="electric" experience="1084" speed="137" manacost="0">
Deixei a xp base do meu server 1x, e o Electabuzz esta dando 585 de xp, acredito eu que esteja errado como eu consigo colocar a xp exata q eu quero? Exemplo: 1200
(desculpe a formatação do post sou novo aqui e não sei direito)