Postado Outubro 19, 2014 10 anos Outro pedido de um user, fiz esse script há um bom tempo. É um script de pistola. Você equipa em uma das mãos, usa a arma em algum monster ou player e boa, atira. Script: data/actions/scripts/pistol.lua: local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With. local bullet_id = 2544 -- ID da munição local shots_amount = 1 -- Tiros por vez local exhaustion_time = 1 -- Segundos de exhaustion local exhaust = 19301 -- Storage da exhaustion local dmg_min, dmg_max = -10, -20 -- Dano mínimo, dano máximo local shot_effect = 3 -- Efeito do tiro local shot_distance_effect = 1 -- Distance effect do tiro local damage_type = COMBAT_PHYSICALDAMAGE -- Tipo de dano local shots_delay = 200 -- Delay dos tiros (em milissegundos) local slots = {CONST_SLOT_LEFT, CONST_SLOT_RIGHT} -- Constants dos Slots permitidos local control = 0 -- Não modifique, variável de controle function onUse(cid, item, fromPosition, itemEx, toPosition) for a, b in ipairs(slots) do if getPlayerSlotItem(cid, b).uid ~= item.uid then control = control + 1 end end if control == slots then return doPlayerSendCancel(cid, "Coloque a arma no slot correto.") end if need_target then if getCreatureTarget(cid) <= 0 then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if getCreatureTarget(cid) <= 0 then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(getCreatureTarget(cid)), shot_distance_effect) doTargetCombatHealth(cid, getCreatureTarget(cid), damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end else if not isCreature(itemEx.uid) then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if not isCreature(itemEx.uid) then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(itemEx.uid), shot_distance_effect) doTargetCombatHealth(cid, itemEx.uid, damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end end return true end data/actions/actions.xml: <action itemid="xxxx" script="pistol.lua" allowfaruse="1"/> No lugar de xxxx, coloque o id do item que será usado como pistola. Configure aqui: local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With. local bullet_id = 2544 -- ID da munição local shots_amount = 1 -- Tiros por vez local exhaustion_time = 1 -- Segundos de exhaustion local exhaust = 19301 -- Storage da exhaustion local dmg_min, dmg_max = -10, -20 -- Dano mínimo, dano máximo local shot_effect = 3 -- Efeito do tiro local shot_distance_effect = 1 -- Distance effect do tiro local damage_type = COMBAT_PHYSICALDAMAGE -- Tipo de dano local shots_delay = 200 -- Delay dos tiros (em milissegundos) local slots = {CONST_SLOT_LEFT, CONST_SLOT_RIGHT} -- Constants dos Slots permitidos local control = 0 -- Não modifique, variável de controle Bom uso, até. Créditos; Luck Oake Editado Outubro 19, 2014 10 anos por Wend (veja o histórico de edições)
Postado Outubro 22, 2014 10 anos Interessante o script, obrigado por comapartilhar ... STYLLER OT 2022
Postado Outubro 22, 2014 10 anos Autor Interessante o script, obrigado por comapartilhar ... Estou usando em um servidor de CS
Postado Junho 5, 2015 10 anos Muito bom gostei tava precisando Editado Junho 5, 2015 10 anos por kelvin9826 (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.