GU

[Encerrado] Como colocar STAGES em PDA SEM LEVEL 1.9

Por guirlz, 20 de mai. de 2013 em Tópicos Sem Resposta

script
24
2.5k
guirlzG
20 de maio de 2013 às 17:15

Uso PDA 1.9.1

Não adianta usar o stages.xml..

Tem que ser algum script.. alguem pode me ajudar?

KarlKalvinK
20 de maio de 2013 às 17:39

Você tem que liberar no config.lua nessa linha

experienceStages = false

Vai estar false, é só colocar true.

 

Pronto ai ele vai pegar as 2 experiencias.

rateExperience = 0
rateExperienceFromPlayers = 0

 

E basear-se nas experiencias do stages.xml.

Editado Maio 20 por KarlKalvin

guirlzG
20 de maio de 2013 às 21:16

Amigo, é PDA o stages não funciona..

GabrieltxuG
20 de maio de 2013 às 23:51

Amigo, é PDA o stages não funciona..

 

Sim não funciona mesmo então pk faz esse topico?

guirlzG
21 de maio de 2013 às 09:11

Cara, pq vc não lê antes de postar besteira, é só pra ganhar número de posts ?

Uso PDA 1.9.1

Não adianta usar o stages.xml..

Tem que ser algum script.. alguem pode me ajudar?

STAGES significa estágios, preciso de EXP por estágios.. e já disse no meu tópico que o stages.xml não funciona..

GabrieltxuG
21 de maio de 2013 às 09:19

Sim mais como vc falo Stages não funciona, não funciona mesmo, não vai adiantar...

Outra sei inglês amigo

guirlzG
21 de maio de 2013 às 09:33

Cara novamente você não LEU.

EU especifiquei que precisa ser por algum script, pois o stages não vai funcionar.. se você não pode ajudar não precisa ficar postando..

 

Tem que ser algum script.. alguem pode me ajudar?
GabrieltxuG
21 de maio de 2013 às 09:48

cara PDA ja tem um System de EXP Diferenciado Por causa do Configuration.lua então não tem como colocar uma Stage como vc quer o maximo que é mesmo é Indo alterando a XP do server para ver quando fica mais agradavel

AsMinaPiraA
21 de maio de 2013 às 16:07

O Smix colocou stages no Pda dele...

Fica a dica ;)

GabrieltxuG
21 de maio de 2013 às 19:04

Não é PDA! Fica dica /\

SlicerS
21 de maio de 2013 às 19:29

soh pra deixar clr, tem sim como fazer um sistema de stages... eu ms ja fiz umas 4x esse script aki pra alguns lokos do forum... se procurar eh capaz de achar... soh digo q eh pra ser feito no creaturescripts/scripts/pokeexp.lua ...

guirlzG
21 de maio de 2013 às 21:48

Sei que você não dá mais suporte a isso slicer, mas eu ja procurei e não encontrei..

Não tem alguma forma de me ajudar com isso ?

Se não tudo bem..

 

Pra não dizer que não achei.. achei um porém, é para o server COM level..

Segue script feito por você mesmo: @Slicer

 

 

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

 

Como faço ele funcionar no PDA SEM LEVEL? Segue abaixo.

Segue PokeEXP do PDA 1.9.1:

local function playerAddExp(cid, exp)

doPlayerAddExp(cid, exp)

doSendAnimatedText(getThingPos(cid), exp, 215)

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))

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

 

 

Se tiver como colocar o script dentro do meu..

Obrigado de qualquer forma..

Att,

AsMinaPiraA
21 de maio de 2013 às 22:21

@Gabriel

procura se informar melhor...

 

 

 

 

Vai me dizer que não é base Pda?

guirlzG
21 de maio de 2013 às 22:35

Baxei o server do SMIX mas não achei no POKEEXP.LUA a parte dos stages :S

AsMinaPiraA
21 de maio de 2013 às 22:36

olha mano

se não me engano o script fica em data/lib :p