DI

Item que dá skill

Por diarmaint, 18 de mar. de 2019 em Scripts

6
1.3k
diarmaintD
18 de março de 2019 às 20:59

Preciso de um script que ao usar um item dê 10 de sword por 1 hr.

(Algo editável pois farei um item para cada skill)

E ao usar mais de uma vez não acumule a skill e sim o tempo.

Kuro o ShinigaK
21 de março de 2019 às 12:02
Melhor resposta

tenta assim, por condition :

local tempo = 3600 --- em segundo
local quantskill = 10 -- quantidade de skill

local cd = {
str = 102511,
temp = 3600
}

local cond = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(cond, CONDITION_PARAM_SKILL_DISTANCE, quantskill)
setConditionParam(cond, CONDITION_PARAM_TICKS, tempo * 1000)



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

if getPlayerStorageValue(cid, cd.str) < os.time() then
setPlayerStorageValue(cid, cd.str, os.time() + cd.temp)
doAddCondition(cid, cond)
addEvent(doAddCondition, tempo * 1000, cid)
else
    doPlayerSendCancel(cid, "espere para usar novamente")
    return true
end
end

Mas assim se o player logar ele perde as skills =\

diarmaintD
22 de março de 2019 às 20:03
Em 21/03/2019 em 12:02, Kuro o Shiniga disse:

Mas assim se o player logar ele perde as skills =\

Vish, aí complica.

Kuro o ShinigaK
22 de março de 2019 às 20:12

tem que fazer um script que adiciona e remove direto do banco de dados, não conheço nenhuma função que remove skill in game 

gabriel28G
22 de março de 2019 às 20:17

Talvez um creatureevent com onLogin contorne isso, não?

Kuro o ShinigaK
22 de março de 2019 às 22:41
2 horas atrás, gabriel28 disse:

Talvez um creatureevent com onLogin contorne isso, não?

Da pra evitar o logout do player para ele nao perder as skill, mas fica estranho, e se o player acabar morrendo vai perder do mesmo jeito, acredito que a melhor forma é fazer o script editar direto no banco de dados