Ir para conteúdo
  • 0

Fábrica de Scripts


LuckOake

Pergunta

Olá galera.

 

Tava aqui de boa sem o que fazer, aí tive essa ideia de fazer um tópico pros membros pedirem scripts simples.

 

Regrinhas:

  1. NÃO PEÇA EVENTOS AQUI, SÓ SCRIPTS OU SISTEMAS SIMPLES;
  2. NÃO PEÇA SCRIPTS QUE JÁ EXISTEM;
  3. Se você quer algum script que está sendo vendido em algum lugar, poste aqui que eu faço pra você. Nesse tipo de caso, a regra número 1 pode ser desobedecida;
  4. Sem floods, comentários ou conversas no tópico;
  5. Por uma questão de organização, não gostaria que outros usuários sem minha permissão postassem scripts prontos para resolver pedidos aqui. Se quiserem resolver o pedido de um usuário, mande PM pra ele ou crie um tópico e poste;
  6. Faço qualquer tipo de script desde que seja da versão 8.54 até a 9.8;
  7. Não faço scripts para TFS 1.0;
  8. Não peça scripts ou sistemas que envolvam sources;
  9. Somente scripts que envolvam no máximo dois arquivos serão feitos;
  10. Máximo de dois pedidos por vez para cada usuário;
  11. Use um português adequado e detalhe bem seu pedido. Pedidos pouco detalhados ou com português ruim serão ignorados. Se não for bom com português, ao menos TENTE escrever adequadamente.
  12. O Oneshot e o Manoel Neto tem permissão para atender pedidos no tópico. Oneshot trabalha como quer, do jeito que quer e quando quer. Obs: E odeia leechers.

Caso você não entenda o por quê de postar aqui ao invés de criar um tópico, pense no seguinte. Você quer um script bem feito, bem explicado e de fácil configuração ou um que qualquer usuário chega lá e faz? Garanto que todos os scripts que farei nesse tópico serão, no mínimo, de alta qualidade.

 

Abraços e aproveitem a oportunidade. Ao contrários dos outros tópicos de fábrica de scripts, aqui não vou tentar fazer. Se estiver dentro das regras, vou fazer.

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

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...

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 por walquer
Link para o comentário
Compartilhar em outros sites

  • 0

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.



Link para o comentário
Compartilhar em outros sites

  • 0

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
Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 por vitorelias
Link para o comentário
Compartilhar em outros sites

  • 0

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 por Chinchar156
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

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?

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

 

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"/>

Link para o comentário
Compartilhar em outros sites

  • 0

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 por kinglekke
Link para o comentário
Compartilhar em outros sites

  • 0

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 por markindoot
Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...