Bom, o script está td certo, funcionou certinho aqui MAS... é o seguindo: Ele não é de usar e sim de clicar. Você clica nele, ae fala: "Your extra experience rate is now: " 3x+". It will last for "5" hours." ta blz..Triplico o normal que eu tava ganhando. Ae se eu morro, ou logo o char a exp volta pro normal, mas se eu tento usar o amuleto denovo fala: "You still have extra experience time left.". O que eu quero? -> "Que toda vez que o player logar ou morrer ele continue com a exp até o perido acaba, e sempre que ele logar aparecer a msg : You still have "15" minuts left of your expirence rate e que o player tenha um comando para saber o quanto ele ainda tem de exp time" O Item usado é Shockwave Amulet ID: 10221.
data/actions/expamulet.lua
local config = { rate = 3, -- 4x More Experience time = 5, -- Hours of Exp Time storage = 20012 } local function endExpRate(cid) if isPlayer(cid) == TRUE then doPlayerSetRate(cid, SKILL__LEVEL, 1) -- config.lua rate setPlayerStorageValue(cid, config.storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your extra experience time has ended.") end end function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, config.storage) < 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your extra experience rate is now: " .. config.rate .. ". It will last for ".. config.time .." hours.") doPlayerSetRate(cid, SKILL__LEVEL, config.rate) setPlayerStorageValue(cid, config.storage, os.time() + config.time * 3600) addEvent(endExpRate, config.time * 3600 * 1000, cid) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You still have extra experience time left.") end return TRUE end
data/actions/actions.xml
<action itemid="10221" event="script" value="expamulet.lua"/>
Agradeço a ajuda de quem arrumar! Obrigado