Ir para conteúdo

ikaroangelo21

Membro
  • Registro em

  • Última visita

Solutions

  1. ikaroangelo21's post in (Resolvido)Erro de Exasuted?! was marked as the answer   
    exhaustion = { check = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end return getPlayerStorageValue(cid, storage) >= os.time() end, get = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end local exhaust = getPlayerStorageValue(cid, storage) if(exhaust > 0) then local left = exhaust - os.time() if(left >= 0) then return left end end return false end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time() + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if(not exhaust) then exhaustion.set(cid, storage, time) return true end return false end }  
  2. ikaroangelo21's post in (Resolvido)Erro stamina system was marked as the answer   
    eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerAddStamina(cid, 1) eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem vindo aos trainers VIP's " .. getCreatureName(cid) .."! Você receberá 1 minuto de stamina a cada 3 minutos nos trainers VIP's.") end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then stopEvent(eventsId[cid]) eventsId[cid] = nil end return true end Onde tem 1 = ganho de stamina.
    Onde tem 3 = o tempo para ganhar 1 minuto.
    Somente modificar, testado em otx 8.60.
  3. ikaroangelo21's post in (Resolvido)[Duvida] Broadcast bugado was marked as the answer   
    esqueci isso de inicio, atualizei o código, com a função, faça o teste @Kitsune Shiro
     
    local items = { {itemId = 12377, count = 1, chance = 30}, {itemId = 11987, count = 1, chance = 20}, {itemId = 12338, count = 1, chance = 20}, {itemId = 12032, count = 1, chance = 20}, {itemId = 12031, count = 1, chance = 20}, {itemId = 12030, count = 1, chance = 20}, {itemId = 12547, count = 1, chance = 10}, {itemId = 15685, count = 1, chance = 1}, } function onUse(cid, item, frompos, item2, topos) local config = { pos = getCreaturePosition(cid), exhaustionSeconds = 3600, storageUse = 44231, } if(exhaustion.check(cid, config.storageUse)) then if (exhaustion.get(cid, config.storageUse) >= 60) then doPlayerSendCancel(cid, "Voce so poderar abrir o bau novamente em " .. math.floor(exhaustion.get(cid, config.storageUse) / 60 + 1) .." minutos.") end if (exhaustion.get(cid, config.storageUse) <= 60) then doPlayerSendCancel(cid, "Voce precisa esperar " .. exhaustion.get(cid, config.storageUse).." segundos.") end return true end local totalChance, randomTable, randomNumber = 0, {}, 0 addEvent(doPlayerSendTextMessage, 1*1000, cid, 27, "Procurando algo...") addEvent(doPlayerSendTextMessage, 2*1000, cid, 27, "Procurando algo...") addEvent(doPlayerSendTextMessage, 3*1000, cid, 27, "Procurando algo...") addEvent(doPlayerSendTextMessage, 4*1000, cid, 27, "Procurando algo...") addEvent(doPlayerSendTextMessage, 5*1000, cid, 27, "Procurando algo...") addEvent(doSendAnimatedText, 1*1000, config.pos, "[5]", 180) addEvent(doSendAnimatedText, 2*1000, config.pos, "[4]", 180) addEvent(doSendAnimatedText, 3*1000, config.pos, "[3]", 180) addEvent(doSendAnimatedText, 4*1000, config.pos, "[2]", 180) addEvent(doSendAnimatedText, 5*1000, config.pos, "[1]", 180) addEvent(doSendAnimatedText, 6*1000, config.pos, "DONE!", 180) for _, itemInfo in pairs (items) do randomTable[itemInfo.itemId] = {min = totalChance + 1, max = itemInfo.chance, count = itemInfo.count or 1} totalChance = totalChance + itemInfo.chance end randomNumber = math.random(1, totalChance) for itemId, itemInfo in pairs (randomTable) do local min, max = itemInfo.min, itemInfo.min + itemInfo.max if randomNumber >= min and randomNumber <= max then local newItem = addEvent(doPlayerAddItem, 6*1000, cid, itemId, itemInfo.count, false) if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end doRemoveItem(item.uid, 1) exhaustion.set(cid, config.storageUse, config.exhaustionSeconds) local iInfo = getItemInfo(itemId) if itemId == 2160 then addEvent(doBroadcastMessage, 6*1000, getCreatureName(cid) .. " recebeu NOMEDOITEM.") end addEvent(doPlayerSendTextMessage, 6*1000, cid, 27, "Voce achou ("..iInfo.name..")!") break end end return true end  
  4. ikaroangelo21's post in (Resolvido)(Ajuda) Items e Movements was marked as the answer   
    <movevent event="Equip" itemid="36759" slot="feet" level="500" function="onEquipItem">         <vocation id="1" />         <vocation id="5" showInDescription="0" />         <vocation id="2" />         <vocation id="6" showInDescription="0" />     </movevent>     <movevent type="DeEquip" itemid="36759" slot="feet" level="500" function="onDeEquipItem" />

Informação Importante

Confirmação de Termo