Ir para conteúdo

Featured Replies

Postado

A ideia do "CLICK UP" já vem de algum tempo de alguns servidores onlines atualmente, então aprimorei e automatizei esse sistema.

O Click UP já conhecido funciona da seguinte forma, é necessário um ADM de um servidor utilizar um comando, melhor dizendo uma "SPELL" onde irá aparecer um item em diversos SQM's em uma área X em volta do ADM. Onde os jogadores podem sair clicando no mesmo ganhando "leveis".

Venho lançar o CLICK UP 2.0 Onde o sistema consiste não apenas em ganhar em cada uso, e sim em ter uma possibilidade facilmente editável de ao utilizar o item o jogador ganhar level e criar um "Monstro" configurado pelo ADM na script. Podendo ser um Boss, uma Trap, um Rotworm que seja, indo da vontade do dono do servidor.

O sistema funciona da seguinte maneira -> Ao utilizar o item que aparece no chão do evento, irá aparecer um "número" em laranja no jogador, esse número pode variar em uma quantidade X que será definida pelo ADM, Quanto maior o número, mais difícil a chance de sucesso em criar o monstro após o uso do item. Exemplo: Se o sistema estiver configurado em 100, o sistema irá funcionar como um DICE, porém será 100 números e não apenas 6. Nesse caso a chance de criar o monstro ao utilizar o item será de 1 em 100. Para o monstro aparecer é necessário aparecer o número "4". Sempre que um jogador utilizar o item e surgir o número "4" o mesmo irá criar automaticamente um Monstro, onde poderá ser morto por todos participantes do evento! Além é claro, de ganhar a quantidade X de level que o item está configurado para dar.

 

Vamos Ao Script

 

Primeiro criamos uma ACTION onde iremos configurar a principal parte do sistema, onde está relacionado a quantidade de level máximo que poderá receber level, configurar a quantidade de leveis que cada click irá dar e por final configurar a chance de surgir um monstro ao utilizar o item. Crie o arquivo.lua com o nome de sua preferencia, no meu caso utilizei por "evento"

Citar

exp = 50
local monster = "Boss Reward"
function onUse(cid,item)
local r1 = math.random(150)
if (getPlayerStorageValue(cid, 11577) >= os.time()) then
doCreatureSay(cid, "Você só pode usar em  ".. (getPlayerStorageValue(cid, 11577)-os.time()+(1)) .."  segundos. ", TALKTYPE_ORANGE_1)
return true
end
if getPlayerLevel(cid) <= 100000 then
if r1 == 4 then
doCreateMonster(monster, getPlayerPosition(cid))
doRemoveItem(item.uid,1)
setPlayerStorageValue(cid,11577,os.time()+4)
doCreatureSay(cid, "Achei o Boss [".. monster .."]\nSorte ".. r1 .."", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), 65)
elseif r1 ~= 4 then
doPlayerAddLevel(cid,exp)
doRemoveItem(item.uid,1)
setPlayerStorageValue(cid,11577,os.time()+4)
doCreatureSay(cid, "Upando!!!\nSorte ".. r1 .."", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), 35)
end
else
doPlayerSendTextMessage(cid, 22, "Você já está level muito alto para participar deste evento.")
end
return true
end

Level ganho por CLICK

Monstro que irá surgir ao sair o número da sorte

Chance de surgir o monstro

Level máximo para participar do evento

Número da sorte que fará surgir o Monstro

Tempo necessário para utilizar novamente o item do evento "OBS: o número sempre será somado em +1, como está no script "4" o tempo para reutilizar será 5 segundos".

 

Em action.xml iremos adicionar a seguinte linha:

Citar

<action itemid="9911" script="evento.lua"/>

ID do item a ser usado no evento que será usado nos clicks para ganhar leveis e tentar a sorte para surgir monstros.

 

Seguimos para próxima etapa. Para o evento ser realizado manualmente pelo ADM, basta criar uma SPELL utilizando o seguinte codigo.

Citar

local combat = createCombatObject() 
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 9911)
arr = { 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, 
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} 

local area = createCombatArea(arr) 
setCombatArea(combat, area) 

function spellCallbackHappy(param) 
        if param.count > 0 or math.random(0, 1) == 1 then 
            doSendMagicEffect(param.pos, math.random(28,30)) 
            if math.random(0, 6) == 1 then 
                doCreatureSay(param.cid, "Evento FKZOT!", TALKTYPE_MONSTER, false, 0, param.pos) 
            end 
            param.count = param.count - 1 
            addEvent(spellCallbackHappy, math.random(2000, 7000), param) 
        end 
end 

function onTargetTileHappy(cid, pos) 
    addEvent(spellCallbackHappy, math.random(500, 2000), {["cid"] = cid, ["pos"] = pos, ["count"] = 20}) 
end 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTileHappy") 

function onCastSpell(cid, var) 
        doBroadcastMessage("O evento CLICK UP começou, venha se divertir.")
    return doCombat(cid, combat, var) 
end

 

Em Spells.xml Adicione a seguinte função:

Citar

        <instant name="event" words="/click" aggressive="0" selftarget="1" lvl="99999999" mana="1000" exhaustion="1500" event="script" value="event.lua">
                <vocation id="1"/>
    </instant>

 

Até aqui o sistema já está funcionando perfeitamente, porém sendo realizado manualmente pelo ADM do servidor, agora vamos a outra ETAPA, automatizar o evento!

 

Primeiro, vamos em GlobalEvents iremos adicionar um novo script lua com o nome de "clickUp".

Citar

function onTime()
    clickOpen()
    return true
end

Em globalevents.xml iremos adicionar 2 linhas:

Citar

        <globalevent name="ClickUpOpen" time="21:10" event="script" value="clickUp.lua"/>
        <globalevent name="ClickUpClose" time="21:25" event="script" value="clickUp.lua"/>

Horário de inicio do evento.

Horário de termino do evento.

 

Agora iremos na pasta LIB, iremos criar uma função, onde será toda magica da automatização do sistema. Criaremos um arquivo lua com o nome de "clickuplib":

Citar

click = {
    teleportPosition = {x = 167, y = 53, z = 7},
    toTeleportPosition = {x = 75, y = 525, z = 7},
    inicioSala = {x = 43, y = 513, z = 7},
    fimSala = {x = 71, y = 539, z = 7},
    templo = {x = 154, y = 50, z = 7}
}

function criaItens(cid)
    for x = click.inicioSala.x, click.fimSala.x do
        for y = click.inicioSala.y, click.fimSala.y do
            if not isPlayer(getThingFromPos({x=x,y=y,z=click.inicioSala.z, stackpos = 253}).uid) then
                doCreateItem(9911, 1, {x=x, y=y, z=click.inicioSala.z})
            end
        end
    end
end

function removePlayersTime(cid)
    for x = click.inicioSala.x, click.fimSala.x  do
        for y = click.inicioSala.y, click.fimSala.y do
            local remove, clean = true, true
            local pos = {x = x, y = y, z = click.inicioSala.z}
            local m = getTopCreature(pos).uid
            if m ~= 0 and isPlayer(m) then
                doTeleportThing(m, click.templo)
            end
        end
    end
    return true
end

function resetaSala(cid)
    for x = click.inicioSala.x, click.fimSala.x  do
        for y = click.inicioSala.y, click.fimSala.y do
            local remove, clean = true, true
            local pos = {x = x, y = y, z = click.inicioSala.z}
            local m = getTopCreature(pos).uid
            if m ~= 0 and isPlayer(m) then
                doTeleportThing(m, click.toTeleportPosition)
            end
        end
    end
    return true
end

function limparSala()
    for x = click.inicioSala.x, click.fimSala.x do
        for y = click.inicioSala.y, click.fimSala.y do
            doRemoveItem(getThingFromPos({x=x,y=y,z=click.inicioSala.z, stackpos = 1}).uid, 1)
        end
    end
end

function clickClose()
    removePlayersTime(cid)
    doRemoveItem(getTileThingByPos({x = 167, y = 53, z = 7, stackpos = 2}).uid, 1)
    limparSala()
    doBroadcastMessage("[CLICK UP] Evento acabou flw.")
    return true
end

function clickOpen()
    doBroadcastMessage("[CLICK UP] Teleport para o evento click up foi criado no templo.")
    doCreateTeleport(1387, click.toTeleportPosition, click.teleportPosition)
    addEvent(function()
        criaItens(cid)
        doBroadcastMessage("[CLICK UP] Comecou a primeira rodada.")
    end, 2000)
    addEvent(function()
        limparSala()
        criaItens(cid)
        doBroadcastMessage("[CLICK UP] Comecou a segunda rodada.")
        resetaSala(cid)
    end, 3*60*1000)
    addEvent(function()
        limparSala()
        criaItens(cid)
        doBroadcastMessage("[CLICK UP] Comecou a terceira rodada.")
        resetaSala(cid)
    end, 6*60*1000)
    addEvent(function()
        limparSala()
        criaItens(cid)
        doBroadcastMessage("[CLICK UP] Comecou a quarta rodada.")
        resetaSala(cid)
    end, 9*60*1000)
    addEvent(function()
        limparSala()
        criaItens(cid)
        doBroadcastMessage("[CLICK UP] Comecou a quinta rodada.")
        resetaSala(cid)
    end, 12*60*1000)
    addEvent(function()
        limparSala()
        clickClose()
    end, 16*60*1000)
    return true
end

Posição do teleporte que será criado para levar os jogadores ao EVENTO.

Posição que será configurada no teleporte que irá levar os jogadores ao EVENTO.

Dimensão inicial da sala do evento! Canto superior esquerdo!

Dimensão final da sala do evento! Canto inferior direito!

Posição do templo do servidor, onde jogadores serão levados ao finalizar o evento!

 

O evento automatizado funciona em rodadas, que acontecem a cada determinado templo, atualmente configurado de 4 em 4 minutos, A cada ROUND os jogadores serão levados ao inicio da sala do evento, e os itens do evento "mais conhecidos como: Click UP" Serão reiniciados em toda a sala configurada!

O sistema é totalmente funcional, testado e comprovado!

 

 

CRÉDITOS

 

60% a mim @Carrascohsf pela criação do CLICK UP 2.0 onde é possível surgir monstros durante o evento.

40% ao @AdmNewTibia por toda automatização do evento. Obs: Melhor programador para qualquer tipo de sistema, desde o mais simples como automatizar um evento, quanto ao mais complexo como sistema de imbuiment na versão 8.6. Qualquer necessidade de contratar os serviços do mesmo aqui está o contato: [email protected] Ou através do whatsapp: (11) 93006-3905.

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

  • 2 months later...
Postado

 

Em 03/01/2020 em 23:38, Carrascohsf disse:

A ideia do "CLICK UP" já vem de algum tempo de alguns servidores onlines atualmente, então aprimorei e automatizei esse sistema.

O Click UP já conhecido funciona da seguinte forma, é necessário um ADM de um servidor utilizar um comando, melhor dizendo uma "SPELL" onde irá aparecer um item em diversos SQM's em uma área X em volta do ADM. Onde os jogadores podem sair clicando no mesmo ganhando "leveis".

Venho lançar o CLICK UP 2.0 Onde o sistema consiste não apenas em ganhar em cada uso, e sim em ter uma possibilidade facilmente editável de ao utilizar o item o jogador ganhar level e criar um "Monstro" configurado pelo ADM na script. Podendo ser um Boss, uma Trap, um Rotworm que seja, indo da vontade do dono do servidor.

O sistema funciona da seguinte maneira -> Ao utilizar o item que aparece no chão do evento, irá aparecer um "número" em laranja no jogador, esse número pode variar em uma quantidade X que será definida pelo ADM, Quanto maior o número, mais difícil a chance de sucesso em criar o monstro após o uso do item. Exemplo: Se o sistema estiver configurado em 100, o sistema irá funcionar como um DICE, porém será 100 números e não apenas 6. Nesse caso a chance de criar o monstro ao utilizar o item será de 1 em 100. Para o monstro aparecer é necessário aparecer o número "4". Sempre que um jogador utilizar o item e surgir o número "4" o mesmo irá criar automaticamente um Monstro, onde poderá ser morto por todos participantes do evento! Além é claro, de ganhar a quantidade X de level que o item está configurado para dar.

 

Vamos Ao Script

 

Primeiro criamos uma ACTION onde iremos configurar a principal parte do sistema, onde está relacionado a quantidade de level máximo que poderá receber level, configurar a quantidade de leveis que cada click irá dar e por final configurar a chance de surgir um monstro ao utilizar o item. Crie o arquivo.lua com o nome de sua preferencia, no meu caso utilizei por "evento"

Level ganho por CLICK

Monstro que irá surgir ao sair o número da sorte

Chance de surgir o monstro

Level máximo para participar do evento

Número da sorte que fará surgir o Monstro

Tempo necessário para utilizar novamente o item do evento "OBS: o número sempre será somado em +1, como está no script "4" o tempo para reutilizar será 5 segundos".

 

Em action.xml iremos adicionar a seguinte linha:

ID do item a ser usado no evento que será usado nos clicks para ganhar leveis e tentar a sorte para surgir monstros.

 

Seguimos para próxima etapa. Para o evento ser realizado manualmente pelo ADM, basta criar uma SPELL utilizando o seguinte codigo.

 

Em Spells.xml Adicione a seguinte função:

 

Até aqui o sistema já está funcionando perfeitamente, porém sendo realizado manualmente pelo ADM do servidor, agora vamos a outra ETAPA, automatizar o evento!

 

Primeiro, vamos em GlobalEvents iremos adicionar um novo script lua com o nome de "clickUp".

Em globalevents.xml iremos adicionar 2 linhas:

Horário de inicio do evento.

Horário de termino do evento.

 

Agora iremos na pasta LIB, iremos criar uma função, onde será toda magica da automatização do sistema. Criaremos um arquivo lua com o nome de "clickuplib":

Posição do teleporte que será criado para levar os jogadores ao EVENTO.

Posição que será configurada no teleporte que irá levar os jogadores ao EVENTO.

Dimensão inicial da sala do evento! Canto superior esquerdo!

Dimensão final da sala do evento! Canto inferior direito!

Posição do templo do servidor, onde jogadores serão levados ao finalizar o evento!

 

O evento automatizado funciona em rodadas, que acontecem a cada determinado templo, atualmente configurado de 4 em 4 minutos, A cada ROUND os jogadores serão levados ao inicio da sala do evento, e os itens do evento "mais conhecidos como: Click UP" Serão reiniciados em toda a sala configurada!

O sistema é totalmente funcional, testado e comprovado!

 

 

CRÉDITOS

 

60% a mim @Carrascohsf pela criação do CLICK UP 2.0 onde é possível surgir monstros durante o evento.

40% ao @AdmNewTibia por toda automatização do evento. Obs: Melhor programador para qualquer tipo de sistema, desde o mais simples como automatizar um evento, quanto ao mais complexo como sistema de imbuiment na versão 8.6. Qualquer necessidade de contratar os serviços do mesmo aqui está o contato: [email protected] Ou através do whatsapp: (11) 93006-3905.

 

Coloque os DEVIDOS CREDITOS AMIGO, EU SOU O CRIADOR do sistema e eu que fiz a VERSÃO 2.0

547657261_assinaturatibiaking.jpg.c1cc2728d9b7e7142cd10bf237f3370d.jpg

'' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo