Ir para conteúdo

devilzkhaoz

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    devilzkhaoz deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Critical System   
    creaturescripts.xml
    <!-- CRITICAL SYSTEM -->    <event type="statschange" name="critical" event="script" value="critical.lua"/> creaturescripts\scripts\login.lua
    --- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48903) == -1 then         setPlayerStorageValue(cid, 48903, 0)      end creaturescripts\scripts\critical.lua:
    -----[[Critical System                      by Night Wolf]] local lvlcrit = 48903 local multiplier = 1.5 function onStatsChange(cid, attacker, type, combat, value) if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and isPlayer(attacker) and isCreature(cid) then if (getPlayerStorageValue(attacker, lvlcrit)*3) >= math.random (0,1000) then value = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -value, -value, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) return false end end return true end actions.xml:
    <action itemid="1294" script="criticalrock.lua"/> obs: muda o ID da pedra que vc for usar... aqui eu usei a small stone pra teste

    e em actions\scripts\criticalrock.lua:
    --- CRITICAL System by Night Wolf       local config = {    effectonuse = 14, -- efeito que sai    levelscrit = 100,  --- leveis que terão    storagecrit = 48903 -- storage que será verificado    }     function onUse(cid, item, frompos, item2, topos)     if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then    doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!")     return 0     end return 1 end OBS: Só funciona em ataques de players em players. Se vc ficar atacando monstro pra testar não vai dar certo (isso é porque o creaturescript só tá registrado no login.lua então o cid tem que necessariamente ser um player)
  2. Gostei
    devilzkhaoz deu reputação a Gustavo Ferreira em Ajuda Gesior Shop entregar item e vip aos players   
    Copia um arquivo lua dentro da pasta GLOBALEVENTS do seu server com o nome SHOP
    e poe isso dentro..

    -- ### CONFIG ###
    -- message send to player by script "type" (types you can check in "global.lua")
    SHOP_MSG_TYPE = 19
    -- time (in seconds) between connections to SQL database by shop script
    SQL_interval = 30
    -- ### END OF CONFIG ###
    function onThink(interval, lastExecution)
    local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';")
    if(result_plr:getID() ~= -1) then
    while(true) do
    id = tonumber(result_plr:getDataInt("id"))
    action = tostring(result_plr:getDataString("action"))
    delete = tonumber(result_plr:getDataInt("delete_it"))
    cid = getCreatureByName(tostring(result_plr:getDataString("name")))
    if isPlayer(cid) == TRUE then
    local itemtogive_id = tonumber(result_plr:getDataInt("param1"))
    local itemtogive_count = tonumber(result_plr:getDataInt("param2"))
    local container_id = tonumber(result_plr:getDataInt("param3"))
    local container_count = tonumber(result_plr:getDataInt("param4"))
    local add_item_type = tostring(result_plr:getDataString("param5"))
    local add_item_name = tostring(result_plr:getDataString("param6"))
    local received_item = 0
    local full_weight = 0
    if add_item_type == 'container' then
    full_weight = getItemWeightById(itemtogive_id, 1)
    end
    local free_cap = getPlayerFreeCap(cid)
    if full_weight <= free_cap then
    if add_item_type == 'container' then
    local new_container = doCreateItemEx(container_id, 1)
    local iter = 0
    while iter ~= container_count do
    doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
    iter = iter + 1
    end
    received_item = doPlayerAddItemEx(cid, new_container)
    else
    local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
    received_item = doPlayerAddItemEx(cid, new_item)
    end
    if received_item == RETURNVALUE_NOERROR then
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')
    db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
    db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
    doPlayerSave(cid)
    else
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> The item '.. add_item_name ..' << that you just bought on the website couldnt be added. Han error has ocurred, please wait '.. SQL_interval ..' seconds.. Shop ID: '.. id ..'')
    end
    else
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> The item '.. add_item_name ..' << that you just bought on the website couldnt be added. Han error has ocurred, please wait '.. SQL_interval ..' seconds.. Shop ID: '.. id ..'')
    end
    end
    if not(result_plr:next()) then
    break
    end
    end
    result_plr:free()
    end
    return TRUE
    end




    Ai coloca essa TAG <globalevent name="shop" interval="30000" script="shop.lua"/>

Informação Importante

Confirmação de Termo