RO

[Encerrado] Não Perder Experiencia Com 'tal' Storage...

Por rodrigoorgirdor, 02 de nov. de 2012 em Tópicos Sem Resposta

20
1.9k
02 de novembro de 2012 às 13:11

quero que um item 'x' ao ser usado pelo player, de uma storage 'x' ao player... e se ele estiver com essa storage ele não perde experiencia quando morrer. e logicamente... quando ele morrer ele perde a storage .

 

se ficar mais facil pode ser um npc que faz isso tb.

alguem tem algo parecido aí?

 

 

Lembrando... meu server aki é o PDA sem Level

Editado Novembro 2 por rodrigoorgirdor

Session StartS
02 de novembro de 2012 às 14:39

Testa isso

vai em data/creaturescript/script/ LOGIN.lua

 

e embaixo disso

function onLogin(cid)

Substitui por isso

if getPlayerStorageValue(cid, 45459) < 2 then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 100)
doCreatureSetDropLoot(cid, false)
else
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
doCreatureSetDropLoot(cid, false)
setPlayerStorageValue(cid, 45459, -1)
end

 

 

Ai vai em datas/action/scripts

Cria um .lua lá e coloca isso dentro

 

 

 

 

function onUse(cid, item, frompos, item2, topos)

local texto = 'voce nao perdera xp'

 

if getPlayerStorageValue(cid, 45459) >= 2 then

doPlayerSendCancel(cid,"Voce já está usando o item de nao perde xp")

return true

end

 

if item.itemid == 2160 then ------ coloca ID AQUI

setPlayerStorageValue(cid, 45459, 2)

doRemoveItem(item.uid,1)

doPlayerSendTextMessage(cid,22,texto)

end

end

 

 

 

Não testei... testa ai..

Editado Novembro 2 por Cleberadm

SlicerS
02 de novembro de 2012 às 14:45

soh uma duvida cleba.. como q um summon vai poder usar um item? '----'

Session StartS
02 de novembro de 2012 às 14:51

kkkkkkkkkkkkk, se ele clica no item ele pode usa '-', mas ele nao vai clicar g.g o/

 

Mas e vai funciona do jeito que a ali ? D:

Editado Novembro 2 por Cleberadm

02 de novembro de 2012 às 14:55

testando...

SlicerS
02 de novembro de 2012 às 14:56

oia ate deve... mas n sei como era a ideia do criador do topico mas..

•se caso o cara usar o item e morrer ele vai perder exp...

•se ele usar o item, e deslogar, ele n perde exp...

•MAS se ele usar o item, deslogar, logar denovo, e deslogar denovo ele perde exp '--'

•no caso isso soh vai prevenir de perde exp para caso o player use o item, deslogue, e n deslogue mais ate morrer...

Session StartS
02 de novembro de 2012 às 14:58

g.g, entao da uma arrumada ai '-' quero ve como fica .-.

SlicerS
02 de novembro de 2012 às 15:07

sei la.. deixa o cara testar ae '--'

mas no caso eu colocaria o setLoss tb na action e n setava a storage para -1 quando o player logar e sim quando morrer ^^

zerefshirouZ
02 de novembro de 2012 às 15:14

AFF EU TINHA FEITO UM POSTZIN BONITO E XTIBIA ME TROLLA, NÂO FAREI DE NOVO XTIBIA INGRATO

Editado Novembro 2 por ZerefShirou

Session StartS
02 de novembro de 2012 às 15:14

Mas eu pensei que esse lostpercent ali era de quando morria G.G por isso coloquei ali D:

SlicerS
02 de novembro de 2012 às 15:17

pra te flar a real eu to soh expeculando kk tb n sei se essa function funciona sempre, ou soh durante loga sei la.. kk

 

e achei um problema ali..

if getPlayerStorageValue(cid, 45459) <= 2 then 

 

o certo eh..

if getPlayerStorageValue(cid, 45459) < 2 then 

 

pq tu seto a storage para 2.. entao se deixar <= nunca vai ir pro else... ^^

02 de novembro de 2012 às 15:38

Testei aki... não funfou ... o player morre mas mesmo assim perde xp...

SlicerS
02 de novembro de 2012 às 15:41

trocase oq eu flei ali emcima? do <= para < ?

02 de novembro de 2012 às 15:44

slicer. minha ideia é a seguinte... o player usa o item, e não perde experiencia se morrer, mas assim que ele morrer, ele tem que usar o item novamente... mais ou menos igual ao sistema de bless .. só que com 0% de perda na exp.

 

opa... n tinha atualizado aki... troquei sim

fiz os testes dos dois geitos

Session StartS
02 de novembro de 2012 às 15:50

Cara, eu tava tomando banho e pensei nisso..

 

 

function onUse(cid, item, frompos, item2, topos)
local texto = 'voce nao perdera xp'


if getPlayerBlessing(cid, 1) or getPlayerBlessing(cid, 2) or getPlayerBlessing(cid, 3) or getPlayerBlessing(cid, 4) or getPlayerBlessing(cid, 5) then
doPlayerSendTextMessage(cid,'Você já usou o item!')
return true
end

if item.itemid == 2160 then ------ coloca ID AQUI
doRemoveItem(item.uid,1)
doPlayerSendTextMessage(cid,22,texto)
doPlayerAddBlessing(cid, 1)
doPlayerAddBlessing(cid, 2)
doPlayerAddBlessing(cid, 3)
doPlayerAddBlessing(cid, 4)
doPlayerAddBlessing(cid, 5)
end
end

 

Ai é só vc colocar no config.lua na parte da bless pra nao perde nenhum % '-'