LU
pedido

Fábrica de Scripts

Por LuckOake, 28 de set. de 2013 em Scripts

resolvido
script
166
20.6k
02 de outubro de 2013 às 19:54

Um script de TASK,que não precisa pedir a task ao NPC,eu apenas vou mato e volto e peço ao NPC a recompensa

 

Exemplo

 

Matei 10000 Rotworms

 

Vou para o Npc

 

Eu:Hi

NPC:...

EU:Task

NPC...

Eu:Rotworm

 

Ai ele da a recompensa

luccagomesL
03 de outubro de 2013 às 02:39

Versão: 8.60

Nível: Médio eu acho

Função: Uns tile ou talvez uma areia que subiria 1 hora de stamina a cada 40 mim que você tive-se parado lá

Por que usar esse script? Os players que jogam seu servidor serio, as vezes só deslogam porque acabou a stamina, eles lá nos trainers além de ajudarem seu proprio char, ajuda seu ot, qnt mais player mais alto ele fica na otservlist e mais players entram, acho que ajudaria muita gente...

 

 

2121212
03 de outubro de 2013 às 10:26

Versão: 8.6


Nível: Fácil


Função: Criar uma function para não usar magias se estiver equipado alguma arma na mão: swords, rods, crossbow .. etc. Assim o player receberia uma mensagem informando que ele deve estar com as maõs vazias. Obs: ele pode utilizar shields.



Queria apenas que possa ser colocado nas spells, lembrando que uso servidor derivado, todas as spells possuem .lua então sera possível de fazer.



No aguardo.

1619961
03 de outubro de 2013 às 10:27

Gostaria de pedir um script de escolher as Cores e Outifit para o player que logasse pela primeira vez. Detalhe: teria que ter para male e female, para cada uma das 4 vocations e excluindo o Account Manager. Exemplo: Outifit Citizen de cor inteira branca para a vocation "3" sexo "2"...



NINGUEM criou um script desse com MALE E FEMALE !!!


Editado Outubro 3 por walquer

ScythePhantomS
03 de outubro de 2013 às 10:31

Versão: 8.60




Pedido:


Um sistema no qual os monstros não pudessem atacar uns aos outros.


Obrigado.



Exemplo:


Existem monstros que soltam poderes de área, assim, matando os demais monstros mais fracos á sua volta, o script, impossibilitaria que isso acontecesse, no caso, o monstro não poderia causar dano á outro monstro. Obrigado, e parabéns pela iniciativa.



03 de outubro de 2013 às 19:37

Luck poderia modificar esse script

ele é um script de buff,quando usa aparece 1 efeito no player,tem como coloca para aparecer 2?

 

 

local tempo = 180 -- tempo em segundos.
local effect = {35} -- effect no player, caso queira apenas 1, basta remover os outros numeros.
     
local ml = 50 -- quantos ira aumentar o skill de ML
local skillfist = 35 -- quantos ira aumentar o skill de Fist
local skillsword = 35 -- quantos ira aumentar o skill de Sword
local skillaxe = 35 -- quantos ira aumentar o skill de Axe
local skillclub = 35 -- quantos ira aumentar o skill de Club
local skilldistance = 35 -- quantos ira aumentar o skill de Distance
local skillshield = 150 -- quantos ira aumentar o skill de Shield
local health = 250 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
     
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
            
function Effect35(tempo2,tempo3,cid)
if (isCreature(cid)) then
    if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
        for i=1, #effect do
        local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])  
        end
    end
end
end
                  
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
    doCombat(cid, combat, var)
doPlayerSendTextMessage(cid,27,'Byakugo no In esta ativado.') 
    doPlayerSay(cid, 'Byakugo no In!', TALKTYPE_ORANGE_1)
    tempo2 = 0
    while (tempo2 ~= (tempo*1000)) do
        addEvent(Effect35, tempo2, tempo2, tempo*1000, cid)
        tempo2 = tempo2 + 300
    end
    setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
    doPlayerSendCancel(cid, "Sorry, you are transformed.")
end
end
AlexclusiveA
03 de outubro de 2013 às 19:44

O tópico foi limpo e o membro JeanCristian foi alertado!

(Se eu esqueci de algum comentário, é só denunciar que agente resolve rs)

 

Espero que isso não se repita da parte de ninguém.

 

Atenciosamente,

Alexandre.

Editado Outubro 3 por Alexclusive

vitoreliasV
03 de outubro de 2013 às 21:00

Olá eu estou fazendo uma Quest semelhante a do RadBR e preciso do script que quando o player que passa em cima do tile, e ele será teleportado e vai nascer 8 monstro.

Aqui está o link do vídeo para você ver como será ;) Obrigadoo

 

http://www.youtube.com/watch?v=raR8E7qWgFQ


Olá preciso do script, que quando o player da look em "si" mesmo mostra a quantidade de reset e idade. Ex; You see yourself. (Level) (8) [Reset 10] {Idade 1}. You are a paladin.

Meu sistema de reset, é por database.

getResets(cid)local query = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid))return query:getDataInt("reset") <= 0 and 0 or query:getDataInt("reset")end

O sistema de idade, será tipo quando o player fica logado + de 12 horas no otserver ele vai ganhar uma idade!

Editado Outubro 3 por vitorelias

Chinchar156C
05 de outubro de 2013 às 16:31

Queria Pedi Um Script Aonde X Vocation Passase Em Field E Ganhasse Mana ou Life Depedendo Da Vocation

Exemplo:

Knight:Passa No Fogo

Paladin:Energy

Druid:Fogo Negro

Editado Outubro 5 por Chinchar156

markindootM
07 de outubro de 2013 às 14:54

 

 

Tipo: Spell ou Action

Oque vai ser: Uma Pistola

Descrição:

Gostaria que funciona-se assim, seleciona-se o target e sai-se o distance effect 1 e fise-se tal dano.

Observações:

O Player não vai poder usar sem o item id 2160 ao usar ele ira perder 1 quantidade do 2160 , Se ele não tiver o item 2160 aparece "Você não possui balas" e não solta-se o tiro.

Achei bem legal sua iniciativa mais quero lembrar a você que amanha ou hoje a noite terá varios pedidos e ira virar bagunça .

 

 

Crie um arquivo em data/actions/scripts com o nome de pistol.lua e coloque isso dentro:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With.
    local bullet_id = 2160 -- 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 = -100, -200 -- Dano mínimo, dano máximo
    local shot_effect = 10 -- 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)
    
    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

 

Actions.xml:

<action itemid="xxxx" script="pistol.lua"/>

No lugar de xxxx, coloque o id da arma.

 

Configure aqui:

 

   local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With.
    local bullet_id = 2160 -- 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 = -100, -200 -- Dano mínimo, dano máximo
    local shot_effect = 10 -- 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)

 

Se der algum erro, poste aqui.

 

Luck pode me ajudar? esse script só atira colado ao player, ele só atira se tiver ao lado do sqm do inimigo, voce pode adicionar um range ai por favor?

SnowszS
08 de outubro de 2013 às 00:34

 

 

 

Tipo: Spell ou Action

Oque vai ser: Uma Pistola

Descrição:

Gostaria que funciona-se assim, seleciona-se o target e sai-se o distance effect 1 e fise-se tal dano.

Observações:

O Player não vai poder usar sem o item id 2160 ao usar ele ira perder 1 quantidade do 2160 , Se ele não tiver o item 2160 aparece "Você não possui balas" e não solta-se o tiro.

Achei bem legal sua iniciativa mais quero lembrar a você que amanha ou hoje a noite terá varios pedidos e ira virar bagunça .

 

 

Crie um arquivo em data/actions/scripts com o nome de pistol.lua e coloque isso dentro:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With.
    local bullet_id = 2160 -- 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 = -100, -200 -- Dano mínimo, dano máximo
    local shot_effect = 10 -- 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)
    
    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

 

Actions.xml:

<action itemid="xxxx" script="pistol.lua"/>

No lugar de xxxx, coloque o id da arma.

 

Configure aqui:

 

   local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With.
    local bullet_id = 2160 -- 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 = -100, -200 -- Dano mínimo, dano máximo
    local shot_effect = 10 -- 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)

 

Se der algum erro, poste aqui.

 

Luck pode me ajudar? esse script só atira colado ao player, ele só atira se tiver ao lado do sqm do inimigo, voce pode adicionar um range ai por favor?

 

Troque: <action itemid="xxxx" script="pistol.lua"/>

Por: <action itemid="xxxx" script="pistol.lua" allowfaruse="1"/>

kinglekkeK
08 de outubro de 2013 às 18:08

alguem me passa 1 script de TP SCROLL , que volta para yalahar , mais assim contando ate 10 , por exemplo : 10 9 8 7 6 5 4 3 2 1 teleport para yalahar ........

 

tenho 1 npc na cidade vip ele da promotion > Legendary knight , mais quando acaba o vip ,gostaria que os players volta-se para elite knight

Editado Outubro 8 por kinglekke

markindootM
09 de outubro de 2013 às 21:23

tpw se eu colocar 2 tiros por segundo ou mais, o char toma hit dentro do templo quando entra rapidamente ao ser atacado, como faço para a arma ter 1segund de exaust? com 1 tiro por segundo?

Editado Outubro 9 por markindoot

LuckOakeL
09 de outubro de 2013 às 21:34

Virou bagunça isso aqui.

 

Galera, quem ainda tiver precisando de ajuda, cria um tópico na seção de pedidos e dúvidas - scripting.

 

Vou reportar pra fechar essa fábrica. Um dia, quem sabe, eu resolva voltar com ela.

OmegaO
09 de outubro de 2013 às 22:18

Tópico fechado a pedido do usuário.