Action que grava a life

IvanAppel
em Scripts
  • 1
  • 2

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

Bom galera antes de tudo olá, eu entreinomodogambiarra peguei um action na pasta e modifiquei e ficou assim :

 

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

queststatus = getPlayerStorageValue(cid,38347)
if queststatus == -1 then
hp = getPlayerHealth(cid)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347,1)
doSendMagicEffect(frompos,11)
else
setPlayerStorageValue(cid,38347,-1)
doPlayerAddHealth(cid,hp)
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

Bom eu quero que o script grave minha life ou seja, digamos que meu total de life é 2500, e eu esteja apenas com 2000, dou use no item ele grava o numero 2000 ai se alguém me dar um hit e exemplo eu ficar com 500 de life quero que quando eu de use de novo no item a minha life volte pra 2000, só que não achei o erro porque ao em vez de "setar" a vida para 2000 ele adiciona 2000 de vida assim vai para 2500.Lembrando que esta versão é 7.81.

 

Se alguém puder me ajudar eu agradeço, obrigado ;)

Session Start

cleber.16mb.com
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 25/04/12Posts: 752Gênero: Masculino

Tenta usar isso, não testei...


function onUse(cid, item, frompos, item2, topos)
queststatus = getPlayerStorageValue(cid,38347)
if queststatus == -1 then
hp = getPlayerHealth(cid)
addhp = getPlayerStorageValue(cid, 38347)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347, hp)
doSendMagicEffect(frompos,11)
else
doPlayerAddHealth(cid,addhp)
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

Tenta assim.

 

 

function onUse(cid, item, frompos, item2, topos)
queststatus = getPlayerStorageValue(cid,38347)
if queststatus <= 0 then
local hp = getPlayerHealth(cid)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347,1)
doSendMagicEffect(frompos,11)
else
local newhp = hp - getPlayerHealth(cid)
doPlayerAddHealth(cid,(getPlayerHealth + newhp))
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

Não deu, ele só fica na primeira parte do script neste seu , não passa do else que é a parte que muda a hp da pessoa ):

 

@Cleberadm

O seu ta é tirando 1 de life sempre :o

LuuhT

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/12/13Posts: 32

Muito útil essa script que você pediu pena que eu não tenho.... kkk, em alguns nto isso pode funcionar como um "izanagi"

Session Start

cleber.16mb.com
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 25/04/12Posts: 752Gênero: Masculino

 

function onUse(cid, item, frompos, item2, topos)
 
queststatus = getPlayerStorageValue(cid,38347)
hpsalvo = getPlayerStorageValue(cid, 38347)
agape = getCreatureHealth(cid) -- getPlayerHealth(cid)
curar = (agape + addhp)
if queststatus == -1 then
 
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347, agape)
doSendMagicEffect(frompos,11)
 
else
doPlayerSendTextMessage(cid,18,"Voce foi curado em  "..hpsalvo..".")
doCreatureAddHealth(cid, curar) --doPlayerAddHealth(cid, curar)
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), ""..hpsalvo.."", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end
 

 

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

Muito útil essa script que você pediu pena que eu não tenho.... kkk, em alguns nto isso pode funcionar como um "izanagi"

 

Muito útil essa script que você pediu pena que eu não tenho.... kkk, em alguns nto isso pode funcionar como um "izanagi"

Ou como kawarimi

 

@Cleberadm

ainda nao funcionou

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

Tenta assim então.

 

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

queststatus = getPlayerStorageValue(cid,38347)
if queststatus == -1 then
local hp = getPlayerHealth(cid)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347,1)
doSendMagicEffect(frompos,11)
else
local newhp = hp - getPlayerHealth(cid)
doPlayerAddHealth(cid,(getPlayerHealth + newhp))
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

xSONYx

Prostituto
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/12/07Posts: 272Char no Tibia: [ADM]Sony

Cara, é só você trocar a variavel local pra global..

eu uso oculos no show porque elas querem minha alma

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

Cara, é só você trocar a variavel local pra global..

Não entendi, é pra tirar as palavras "local" e colocar "global"? se for eu botei e apareceu esse erro no /reload actions

data/actions/scripts/kawa.lua:5: '=' expected near 'hp'

Se tiver como alguém pegar ai o script certinho e escrever eu agradeço (:

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

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



queststatus = getPlayerStorageValue(cid,38347)

if queststatus == -1 then

hp = getPlayerHealth(cid)

doPlayerSendTextMessage(cid,18,"Actived.")

setPlayerStorageValue(cid,38347,1)

doSendMagicEffect(frompos,11)

else

newhp = hp - getPlayerHealth(cid)

doPlayerAddHealth(cid,(getPlayerHealth + newhp))

doSendMagicEffect(frompos,11)

doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)

setPlayerStorageValue(cid,38347,-1)

doPlayerSendTextMessage(cid,18,"Used.")

end

end

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

 

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

queststatus = getPlayerStorageValue(cid,38347)
if queststatus == -1 then
hp = getPlayerHealth(cid)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347,1)
doSendMagicEffect(frompos,11)
else
newhp = hp - getPlayerHealth(cid)
doPlayerAddHealth(cid,(getPlayerHealth + newhp))
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,-1)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

 

Não passou do else também =/

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

E assim?

 

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

queststatus = getPlayerStorageValue(cid,38347)
if queststatus == 0 then
local hp ={}
hp = getPlayerHealth(cid)
doPlayerSendTextMessage(cid,18,"Actived.")
setPlayerStorageValue(cid,38347,1)
doSendMagicEffect(frompos,11)
end
if queststatus >= 1 then
newhp = hp - getPlayerHealth(cid)
doPlayerAddHealth(cid,(getPlayerHealth + newhp))
doSendMagicEffect(frompos,11)
doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
setPlayerStorageValue(cid,38347,0)
doPlayerSendTextMessage(cid,18,"Used.")
end
end

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino

Não sei entendi direito o pedido, veja se é isso mesmo que eu fiz: uma pessoa usa o item, é armazenado neste o valor da vida atual do jogador. Na próxima vez que o item for usado, a vida do jogador será alterada para este valor. Aí, na próxima vez, será armazenado outro valor, com a vida no jogador no momento. E assim vai. É isso mesmo?

function onUse(cid, item, frompos, item2, topos)
 
local quest_status = getPlayerStorageValue(cid, 38347)
 
    if quest_status <= 0 then
        local life = getPlayerHealth(cid)
        doPlayerSendTextMessage(cid, 18, "Ativado. Heal: "..life..".")
        setPlayerStorageValue(cid, quest_status, 1)
        doItemSetAttribute(item.uid, "vida", life) 
        doItemSetAttribute(item.uid, "description", "HP: "..life..".")
        doSendMagicEffect(frompos, 11)
    else
        local hp = getItemAttribute(item.uid, "vida") or 0
        doSendAnimatedText(getPlayerPosition(cid), "!!!", 71)
        doPlayerSendTextMessage(cid, 18, "Usado. Sua vida agora é "..hp..".")
        setPlayerStorageValue(cid, quest_status, -1)
        doPlayerAddHealth(cid, -(getPlayerHealth(cid) - 1))
        doPlayerAddHealth(cid, hp - 1)
        doSendMagicEffect(frompos, 11)
    end
    return true
end

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

  • 1
  • 2