Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Amigo Teria como Colocar tipo.  para ao invés dele gastar 10k para jogar um ticket em especial ?   

 

Se sim poderia me dizer como faço isso ? e se da para colocar um sistema de quando o Player jogar 1 vez ele fosse teletransportado pro final da fila ? ( Pra um determinado local )..

 

 

 

 

Obrigado 

Link para o post
Compartilhar em outros sites
  • Respostas 131
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Boa noite galera, após um pedido aqui no fórum sobre um sistema de Cassino, decidi então criar este e disponibilizar para vocês.   Introdução: Bom, este script

Cada vez que o player jogar ele paga a taxa, não há outras chances. Sobre ganhar brinde por acertar 1 ou 2 itens, basta desativar no script. Use este:   Boa sorte.

Boa noite. Abaixo, segue o script conforme combinado.     Testado e funcionando perfeitamente. Boa sorte.

Posted Images

Bom dia.

Teste assim:

 

------- Script by: Adriano Swatt ----
local condition_infight = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition_infight, CONDITION_PARAM_TICKS, 8000)

local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
local items = {
[0] = {0},  -- NEUTRO
[1] = {2182}, -- ID do ITEM 1
[2] = {2183}, -- ID do ITEM 2
[3] = {2184}, -- ID do ITEM 3
[4] = {2185}, -- ID do ITEM 4
[5] = {2186}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6
[7] = {2188}, -- ID do ITEM 7
[8] = {2189}, -- ID do ITEM 8
[9] = {2190}, -- ID do ITEM 9
[10] = {2191}, --ID do ITEM 10
[11] = {0}  -- NEUTRO
}
local qtdd = 10 -- Quantidade de Itens a Sortear // Não precisa apagar as demais linhas de configuração acima.
local valor = {2160, 10} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {2160, 10} -- ID , Quantidade, para quem acertar 1 item da combinação
local comb2 = {2160, 20} -- ID , Quantidade, para quem acertar 2 item da combinação
local comb3 = {2160, 50} -- ID , Quantidade, para quem acertar todos itens da combinação + o prêmio configurado acima
local premio = {6132, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
local fila = {x=1040, y=1030, z=6} -- Coordenada do fim da fila
local iluck_pos = {x=1040, y=1030, z=6} -- Posição onde fica a amostra do item da sorte
local pos = {{x=1041, y=1030, z=6}, {x=1042, y=1030, z=6}, {x=1043, y=1030, z=6}} -- Posições onde os itens sorteados aparecerão
local effect = 26 -- Efeito na hora de selecionar o item da sorte
local eff = 30 -- Efeito ao criar os itens na mesa (hora do sorteio)
local reff = 29 -- Efeito ao remover itens da mesa (ao finalizar)
-------- FIM DAS CONFIGURAÇÕES --------

function onUse(cid, item, frompos, item2, topos)
local dir = getPlayerLookDir(cid)
local gget = getGlobalStorageValue(gstrg)
local gnumb = items[gget]
local gnumba = items[gget + 1]
local gnumbs = items[gget - 1]
    
    if gnumb then
        if dir == WEST or dir == EAST then -- Caso não esteja em posição de jogar.
            doPlayerSendTextMessage(cid, 18, "Para jogar, siga as dicas abaixo: \n Para escolher o item da sorte, vire-se para baixo e clique na alavanca até selecioná-lo. \n Para jogar, após ter selecionado o item da sorte, vire-se para cima e puxe novamente a alavanca.")
            
        elseif dir == NORTH then -- Posição de Jogar
            if gget ~= 0 then
                if getGlobalStorageValue(gstrg_control) < 1 then
                    if getPlayerItemCount(cid, valor[1]) >= valor[2] then
                    math1 = math.random(1, qtdd)
                    math2 = math.random(1, qtdd)
                    math3 = math.random(1, qtdd)
                        doPlayerRemoveItem(cid, valor[1], valor[2])
                        mayNotMove(cid, true)
                        doAddCondition(cid, condition_infight)
                        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Máquina em funcionamento, aguarde.")
                        setGlobalStorageValue(gstrg_control, 1)
                    --- Criando itens
                        doSendMagicEffect(pos[1], eff)
                        doCreateItem(items[math1][1], pos[1])
                        setGlobalStorageValue(istrg[1], items[math1][1])
                        addEvent(doSendMagicEffect, 1000, pos[2], eff)
                        addEvent(doCreateItem, 1000, items[math2][1], pos[2])
                        setGlobalStorageValue(istrg[2], items[math2][1])
                        addEvent(doSendMagicEffect, 2000, pos[3], eff)
                        addEvent(doCreateItem, 2000, items[math3][1], pos[3])
                        setGlobalStorageValue(istrg[3], items[math3][1])
                    --- Checando Itens
                        if gnumbs[1] == getGlobalStorageValue(istrg[1]) then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você já acertou o primeiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            doPlayerSendTextMessage(cid, 18, "Que pena, já perdeu na primeira chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[2]) then
                            addEvent(doPlayerSendTextMessage, 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o segundo item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que pena, perdeu na segunda chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o terceiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que pena, perdeu na terceira chance.")
                        end
                        addEvent(function()
                        for z = 1, 3 do
                            doRemoveItem(getTileItemById(pos[z], getGlobalStorageValue(istrg[z])).uid, 1)
                            doSendMagicEffect(pos[z], reff)
                        end
                            mayNotMove(cid, false)
                            setGlobalStorageValue(gstrg_control, 0)
                            addEvent(CassPremio, 500, cid)
                        end, 5000)
                    --- Fim Checagem
                    else
                        doPlayerSendCancel(cid, "Você precisa de "..valor[2].." "..getItemNameById(valor[1]).." para jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para jogar novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro selecione o item de sorte para poder jogar.")
            end
            
        elseif dir == SOUTH then -- Posição de Selecionar Item da Sorte
            if getGlobalStorageValue(gstrg_control) < 1 then
                if gget <= 0 then
                    doCreateItem(gnumba[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumba[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, 2)
                elseif gget >= 2 and gget < (qtdd + 1) then    
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doCreateItem(gnumb[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumb[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, (gget + 1))
                elseif gget >= (qtdd + 1) then
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você resetou os itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para selecionar outro item da sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Você ativou o Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    if getPlayerStorageValue(cid, gstrg) == 1 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, você acertou um item da combinação e foi recompensado em "..comb1[2].." "..getItemNameById(comb1[1])..".")
        doPlayerAddItem(cid, comb1[1], comb1[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 2 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, foi por pouco, mas você acertou dois itens da combinação e foi recompensado em "..comb2[2].." "..getItemNameById(comb2[1])..".")
        doPlayerAddItem(cid, comb2[1], comb2[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 3 then
        doBroadcastMessage("Parabéns ao jogador "..getPlayerName(cid).." acertou as 3 combinações da Cassino Slots e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou TODOS itens da combinação e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) > 3 then
        doPlayerSendCancel(cid, "Mais sorte da próxima vez.")
        setPlayerStorageValue(cid, gstrg, 0)
    end
    addEvent(doTeleportThing, 200, cid, fila)
return true
end

 

Para mudar a moeda de jogo e a coordenada de onde será teleportado (fim da fila), basta editar nas variáveis abaixo, elas se encontram no começo do script:

local valor = {2160, 10} -- ID da Moeda pra Jogar, Quantidade (preço)
local fila = {x=1040, y=1030, z=6} -- Coordenada do fim da fila

Boa sorte,

faça bom proveito.

 

Volte e diga se funcionou como queria.

 

Até breve.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Bom dia.

Teste assim:

 

------- Script by: Adriano Swatt ----
local condition_infight = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition_infight, CONDITION_PARAM_TICKS, 8000)

local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
local items = {
[0] = {0},  -- NEUTRO
[1] = {2182}, -- ID do ITEM 1
[2] = {2183}, -- ID do ITEM 2
[3] = {2184}, -- ID do ITEM 3
[4] = {2185}, -- ID do ITEM 4
[5] = {2186}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6
[7] = {2188}, -- ID do ITEM 7
[8] = {2189}, -- ID do ITEM 8
[9] = {2190}, -- ID do ITEM 9
[10] = {2191}, --ID do ITEM 10
[11] = {0}  -- NEUTRO
}
local qtdd = 10 -- Quantidade de Itens a Sortear // Não precisa apagar as demais linhas de configuração acima.
local valor = {2160, 10} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {2160, 10} -- ID , Quantidade, para quem acertar 1 item da combinação
local comb2 = {2160, 20} -- ID , Quantidade, para quem acertar 2 item da combinação
local comb3 = {2160, 50} -- ID , Quantidade, para quem acertar todos itens da combinação + o prêmio configurado acima
local premio = {6132, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
local fila = {x=1040, y=1030, z=6} -- Coordenada do fim da fila
local iluck_pos = {x=1040, y=1030, z=6} -- Posição onde fica a amostra do item da sorte
local pos = {{x=1041, y=1030, z=6}, {x=1042, y=1030, z=6}, {x=1043, y=1030, z=6}} -- Posições onde os itens sorteados aparecerão
local effect = 26 -- Efeito na hora de selecionar o item da sorte
local eff = 30 -- Efeito ao criar os itens na mesa (hora do sorteio)
local reff = 29 -- Efeito ao remover itens da mesa (ao finalizar)
-------- FIM DAS CONFIGURAÇÕES --------

function onUse(cid, item, frompos, item2, topos)
local dir = getPlayerLookDir(cid)
local gget = getGlobalStorageValue(gstrg)
local gnumb = items[gget]
local gnumba = items[gget + 1]
local gnumbs = items[gget - 1]
    
    if gnumb then
        if dir == WEST or dir == EAST then -- Caso não esteja em posição de jogar.
            doPlayerSendTextMessage(cid, 18, "Para jogar, siga as dicas abaixo: \n Para escolher o item da sorte, vire-se para baixo e clique na alavanca até selecioná-lo. \n Para jogar, após ter selecionado o item da sorte, vire-se para cima e puxe novamente a alavanca.")
            
        elseif dir == NORTH then -- Posição de Jogar
            if gget ~= 0 then
                if getGlobalStorageValue(gstrg_control) < 1 then
                    if getPlayerItemCount(cid, valor[1]) >= valor[2] then
                    math1 = math.random(1, qtdd)
                    math2 = math.random(1, qtdd)
                    math3 = math.random(1, qtdd)
                        doPlayerRemoveItem(cid, valor[1], valor[2])
                        mayNotMove(cid, true)
                        doAddCondition(cid, condition_infight)
                        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Máquina em funcionamento, aguarde.")
                        setGlobalStorageValue(gstrg_control, 1)
                    --- Criando itens
                        doSendMagicEffect(pos[1], eff)
                        doCreateItem(items[math1][1], pos[1])
                        setGlobalStorageValue(istrg[1], items[math1][1])
                        addEvent(doSendMagicEffect, 1000, pos[2], eff)
                        addEvent(doCreateItem, 1000, items[math2][1], pos[2])
                        setGlobalStorageValue(istrg[2], items[math2][1])
                        addEvent(doSendMagicEffect, 2000, pos[3], eff)
                        addEvent(doCreateItem, 2000, items[math3][1], pos[3])
                        setGlobalStorageValue(istrg[3], items[math3][1])
                    --- Checando Itens
                        if gnumbs[1] == getGlobalStorageValue(istrg[1]) then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você já acertou o primeiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            doPlayerSendTextMessage(cid, 18, "Que pena, já perdeu na primeira chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[2]) then
                            addEvent(doPlayerSendTextMessage, 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o segundo item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que pena, perdeu na segunda chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o terceiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que pena, perdeu na terceira chance.")
                        end
                        addEvent(function()
                        for z = 1, 3 do
                            doRemoveItem(getTileItemById(pos[z], getGlobalStorageValue(istrg[z])).uid, 1)
                            doSendMagicEffect(pos[z], reff)
                        end
                            mayNotMove(cid, false)
                            setGlobalStorageValue(gstrg_control, 0)
                            addEvent(CassPremio, 500, cid)
                        end, 5000)
                    --- Fim Checagem
                    else
                        doPlayerSendCancel(cid, "Você precisa de "..valor[2].." "..getItemNameById(valor[1]).." para jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para jogar novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro selecione o item de sorte para poder jogar.")
            end
            
        elseif dir == SOUTH then -- Posição de Selecionar Item da Sorte
            if getGlobalStorageValue(gstrg_control) < 1 then
                if gget <= 0 then
                    doCreateItem(gnumba[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumba[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, 2)
                elseif gget >= 2 and gget < (qtdd + 1) then    
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doCreateItem(gnumb[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumb[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, (gget + 1))
                elseif gget >= (qtdd + 1) then
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você resetou os itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para selecionar outro item da sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Você ativou o Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    if getPlayerStorageValue(cid, gstrg) == 1 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, você acertou um item da combinação e foi recompensado em "..comb1[2].." "..getItemNameById(comb1[1])..".")
        doPlayerAddItem(cid, comb1[1], comb1[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 2 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, foi por pouco, mas você acertou dois itens da combinação e foi recompensado em "..comb2[2].." "..getItemNameById(comb2[1])..".")
        doPlayerAddItem(cid, comb2[1], comb2[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 3 then
        doBroadcastMessage("Parabéns ao jogador "..getPlayerName(cid).." acertou as 3 combinações da Cassino Slots e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou TODOS itens da combinação e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) > 3 then
        doPlayerSendCancel(cid, "Mais sorte da próxima vez.")
        setPlayerStorageValue(cid, gstrg, 0)
    end
    addEvent(doTeleportThing, 200, cid, fila)
return true
end

 

Para mudar a moeda de jogo e a coordenada de onde será teleportado (fim da fila), basta editar nas variáveis abaixo, elas se encontram no começo do script:

local valor = {2160, 10} -- ID da Moeda pra Jogar, Quantidade (preço)
local fila = {x=1040, y=1030, z=6} -- Coordenada do fim da fila

Boa sorte,

faça bom proveito.

 

Volte e diga se funcionou como queria.

 

Até breve.

 

 

 

Ficou Otimo cara .. Obrigado.  Uma outra duvida no caso precisar ser os 10 itens ? não poder diminuir pra 5 ou 6 ?   aparecendo apenas 2 itens para ser semelhantes ao invés de 3 

Link para o post
Compartilhar em outros sites

Bom dia.

 

No script se configura a quantidade de itens total:

local items = {
[0] = {0},  -- NEUTRO
[1] = {2182}, -- ID do ITEM 1
[2] = {2183}, -- ID do ITEM 2
[3] = {2184}, -- ID do ITEM 3
[4] = {2185}, -- ID do ITEM 4
[5] = {2186}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6
[7] = {2188}, -- ID do ITEM 7
[8] = {2189}, -- ID do ITEM 8
[9] = {2190}, -- ID do ITEM 9
[10] = {2191}, --ID do ITEM 10
[11] = {0}  -- NEUTRO
}
local qtdd = 10 -- Quantidade de Itens a Sortear // Não precisa apagar as demais linhas de configuração acima.

Se mudar "local qtdd = 6" só contarão automaticamente até o 6º (Não precisa apagar as demais linhas do script):

local items = {
[0] = {0},  -- NEUTRO
[1] = {2182}, -- ID do ITEM 1
[2] = {2183}, -- ID do ITEM 2
[3] = {2184}, -- ID do ITEM 3
[4] = {2185}, -- ID do ITEM 4
[5] = {2186}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6

 

E sobre acertar apenas 2 prêmios, já tem no script para ser configurado:

local comb1 = {2160, 10} -- ID do prêmio, Quantidade, para quem acertar 1 item da combinação
local comb2 = {2160, 20} -- ID do prêmio, Quantidade, para quem acertar 2 item da combinação
local comb3 = {2160, 50} -- ID do prêmio , Quantidade, para quem acertar todos itens da combinação + o prêmio configurado acima
local premio = {6132, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)

Basta por o prêmio desejado conforme segue acima.

Mas para por para ganhar o prêmio máximo ao acertar 2 dos itens, vai mudar algumas coisas na estrutura do script que eu acho desnecessário.

Porque já tem prêmio ao acertar 1, 2 e o prêmio máximo que seria acertando os 3 itens.

Então basta você por o prêmio que quiser ao acertar 1, o prêmio que quiser ao acertar 2, e o prêmio que quiser + o prêmio final ao acertar os 3 itens da combinação, pois ao acertar 3 ganha o comb3 e o premio, conforme no script acima.

 

Boa sorte.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Ficou Excelente . Muito obrigado 

Que bom, faça bom proveito.

 

Boa sorte com seu projeto.

Até breve.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Deixa eu te perguntar outra duvida meio besta mais sou leigo nessa parte de Script é o seguinte no meu Serve o Personagem fico de lado para escolher o item e para puxar a alavanca tipo ele fico assim 

 

 eu queria ele de frente e de lado por exemplo . para puxar a alavanca de frente e para escolher o item de lado se possível e não der muito trabalho é claro.  Ou se Preferir só me fale onde que muda que eu me viro . Abraços ! 

 

Ele ta Escolhendo o Item assim de lado até que ta Excelente mais queria que para puxar a alavanca ele fica-se de frente pra ela,  No caso ai esta para puxar a alavanca de frente a placa.

 

 

Sem_t_tulo.png

http://postimg.org/image/wkfw8qsff/

Editado por igorcbc (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Substitua uma parte do script por este:

Obs: Você colocará o script abaixo após a linha do término de configuração, ou seja, apague tudo que estiver abaixo de:

-------- FIM DAS CONFIGURAÇÕES --------

E adicione o script do spoiler.

 

function onUse(cid, item, frompos, item2, topos)
local dir = getPlayerLookDir(cid)
local gget = getGlobalStorageValue(gstrg)
local gnumb = items[gget]
local gnumba = items[gget + 1]
local gnumbs = items[gget - 1]
    
    if gnumb then
        if dir == NORTH or dir == SOUTH then -- Caso não esteja em posição de jogar.
            doPlayerSendTextMessage(cid, 18, "Para jogar, siga as dicas abaixo: \n Para escolher o item da sorte, vire-se para baixo e clique na alavanca até selecioná-lo. \n Para jogar, após ter selecionado o item da sorte, vire-se para cima e puxe novamente a alavanca.")
            
        elseif dir == WEST then -- Posição de Jogar
            if gget ~= 0 then
                if getGlobalStorageValue(gstrg_control) < 1 then
                    if getPlayerItemCount(cid, valor[1]) >= valor[2] then
                    math1 = math.random(1, qtdd)
                    math2 = math.random(1, qtdd)
                    math3 = math.random(1, qtdd)
                        doPlayerRemoveItem(cid, valor[1], valor[2])
                        mayNotMove(cid, true)
                        doAddCondition(cid, condition_infight)
                        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Máquina em funcionamento, aguarde.")
                        setGlobalStorageValue(gstrg_control, 1)
                    --- Criando itens
                        doSendMagicEffect(pos[1], eff)
                        doCreateItem(items[math1][1], pos[1])
                        setGlobalStorageValue(istrg[1], items[math1][1])
                        addEvent(doSendMagicEffect, 1000, pos[2], eff)
                        addEvent(doCreateItem, 1000, items[math2][1], pos[2])
                        setGlobalStorageValue(istrg[2], items[math2][1])
                        addEvent(doSendMagicEffect, 2000, pos[3], eff)
                        addEvent(doCreateItem, 2000, items[math3][1], pos[3])
                        setGlobalStorageValue(istrg[3], items[math3][1])
                    --- Checando Itens
                        if gnumbs[1] == getGlobalStorageValue(istrg[1]) then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você já acertou o primeiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            doPlayerSendTextMessage(cid, 18, "Que pena, já perdeu na primeira chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[2]) then
                            addEvent(doPlayerSendTextMessage, 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o segundo item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que pena, perdeu na segunda chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o terceiro item da combinação.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que pena, perdeu na terceira chance.")
                        end
                        addEvent(function()
                        for z = 1, 3 do
                            doRemoveItem(getTileItemById(pos[z], getGlobalStorageValue(istrg[z])).uid, 1)
                            doSendMagicEffect(pos[z], reff)
                        end
                            mayNotMove(cid, false)
                            setGlobalStorageValue(gstrg_control, 0)
                            addEvent(CassPremio, 500, cid)
                        end, 5000)
                    --- Fim Checagem
                    else
                        doPlayerSendCancel(cid, "Você precisa de "..valor[2].." "..getItemNameById(valor[1]).." para jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para jogar novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro selecione o item de sorte para poder jogar.")
            end
            
        elseif dir == EAST then -- Posição de Selecionar Item da Sorte
            if getGlobalStorageValue(gstrg_control) < 1 then
                if gget <= 0 then
                    doCreateItem(gnumba[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumba[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, 2)
                elseif gget >= 2 and gget < (qtdd + 1) then    
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doCreateItem(gnumb[1], 1, iluck_pos)
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumb[1]).." como seu item da sorte.")
                    setGlobalStorageValue(gstrg, (gget + 1))
                elseif gget >= (qtdd + 1) then
                    if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
                        doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
                    end
                    doSendMagicEffect(iluck_pos, effect)
                    doPlayerSendCancel(cid, "Você resetou os itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para selecionar outro item da sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Você ativou o Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    if getPlayerStorageValue(cid, gstrg) == 1 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, você acertou um item da combinação e foi recompensado em "..comb1[2].." "..getItemNameById(comb1[1])..".")
        doPlayerAddItem(cid, comb1[1], comb1[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 2 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, foi por pouco, mas você acertou dois itens da combinação e foi recompensado em "..comb2[2].." "..getItemNameById(comb2[1])..".")
        doPlayerAddItem(cid, comb2[1], comb2[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) == 3 then
        doBroadcastMessage("Parabéns ao jogador "..getPlayerName(cid).." acertou as 3 combinações da Cassino Slots e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou TODOS itens da combinação e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
        setPlayerStorageValue(cid, gstrg, 0)
    elseif getPlayerStorageValue(cid, gstrg) > 3 then
        doPlayerSendCancel(cid, "Mais sorte da próxima vez.")
        setPlayerStorageValue(cid, gstrg, 0)
    end
    addEvent(doTeleportThing, 200, cid, fila)
return true
end

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Olá Adriano, Bom dia !

Cara eu adicionei este sistema em meu server e ele é simplesmente magnifico parabéns.

Eu queria saber se há alguma maneira de poder colocar mais machines com esse script, pois eu montei uma coin house no meu server e queria por mais delas. obrigado.

Link para o post
Compartilhar em outros sites

AEW VLW MSM , o meu ficou muito bom sem nenhum bug

 

 

 
 
se te ajudei mi ajude com um like
 
post-154810-0-74779100-1428114524_thumb.        post-154810-0-22067300-1428114531_thumb.          post-154810-0-83198200-1427326965.gif
post-154810-0-48855100-1429834735.gif
 
 
 
 
0 comentários:

 

Link para o post
Compartilhar em outros sites

Olá Adriano, Bom dia !

Cara eu adicionei este sistema em meu server e ele é simplesmente magnifico parabéns.

Eu queria saber se há alguma maneira de poder colocar mais machines com esse script, pois eu montei uma coin house no meu server e queria por mais delas. obrigado.

Tem sim.

Vou te mostrar como faz de uma maneira padrão, porém, quando tiver um tempo, vou deixar o script com configuração automática ao criar mais "cabines".

Enfim, você terá que ir adicionando uma actionID diferente para cada alavanca.

Alavancas:

No tutorial foi usada a actionID: 12129.

Logo, sugiro que vá criando uma com cada actionID.

Ex: a primeira com 12129, a segunda com 12130, a terceira com 12131, sucessivamente; cada uma com seu script em actions.xml normalmente.

No Script:

No script, você precisará mexer nesta parte:

local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
Precisará mudar estes valores, pois os mesmos não podem se repetir entre as cabines de Cassino para não causar bug porque são Storages Globais que salvam a ID dos itens sorteados para evitar fraude.

Aqui também precisará mudar para não causar bug entre os scripts:

addEvent(CassPremio, 500, cid) -- linha 94 do script
function CassPremio(cid) -- linha 141 do script

Que deverá receber um número na frente para diferenciar um script do outro.

Ficando assim:

--- Primeiro script
addEvent(CassPremio1, 500, cid) -- linha 94 do script
function CassPremio1(cid) -- linha 141 do script

--- Segundo script
addEvent(CassPremio2, 500, cid) -- linha 94 do script
function CassPremio2(cid) -- linha 141 do script

Sucessivamente.

Boa sorte, qualquer problema, poste e resolveremos.

 

 

AEW VLW MSM , o meu ficou muito bom sem nenhum bug

Que bom que gostou.

Faça bom proveito do sistema.

 

Abraços e boa sorte com seu projeto.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Ae Adriano deu um problema. Se um jogador estiver em uma machine, oque está na outra machine não pode jogar. segue as imagens e os scripts e me diz se foi algum erro meu. obrigado.

 

Machine Coin 1

------- Script by: Adriano Swatt ----


local condition_infight = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition_infight, CONDITION_PARAM_TICKS, 8000)

local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
local items = {
[0] = {0}, -- NEUTRO
[1] = {26743}, -- ID do ITEM 1
[2] = {26744}, -- ID do ITEM 2
[3] = {26745}, -- ID do ITEM 3
[4] = {26746}, -- ID do ITEM 4
[5] = {26747}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6
[7] = {2188}, -- ID do ITEM 7
[8] = {2189}, -- ID do ITEM 8
[9] = {2190}, -- ID do ITEM 9
[10] = {2191}, --ID do ITEM 10
[11] = {0} -- NEUTRO
}
local qtdd = 5 -- Quantidade de Itens a Sortear // Não precisa apagar as demais linhas de configuração acima.
local valor = {26645, 2} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {26645, 3} -- ID , Quantidade, para quem acertar 1 item da combinação
local comb2 = {26645, 10} -- ID , Quantidade, para quem acertar 2 item da combinação
local comb3 = {26645, 20} -- ID , Quantidade, para quem acertar todos itens da combinação + o prêmio configurado acima
local premio = {26645, 25} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
local iluck_pos = {x=732, y=1106, z=8} -- Posição onde fica a amostra do item da sorte
local pos = {{x=734, y=1106, z=8}, {x=735, y=1106, z=8}, {x=736, y=1106, z=8}} -- Posições onde os itens sorteados aparecerão
local effect = 12 -- Efeito na hora de selecionar o item da sorte
local eff = 13 -- Efeito ao criar os itens na mesa (hora do sorteio)
local reff = 14 -- Efeito ao remover itens da mesa (ao finalizar)
-------- FIM DAS CONFIGURAÇÕES --------

function onUse(cid, item, frompos, item2, topos)
local dir = getPlayerLookDir(cid)
local gget = getGlobalStorageValue(gstrg)
local gnumb = items[gget]
local gnumba = items[gget + 1]
local gnumbs = items[gget - 1]

if gnumb then
if dir == WEST or dir == EAST then -- Caso não esteja em posição de jogar.
doPlayerSendTextMessage(cid, 18, "Para jogar, siga as dicas abaixo: \n Para escolher o item da sorte, vire-se para baixo e clique na alavanca até selecioná-lo. \n Para jogar, após ter selecionado o item da sorte, vire-se para cima e puxe novamente a alavanca.")

elseif dir == NORTH then -- Posição de Jogar
if gget ~= 0 then
if getGlobalStorageValue(gstrg_control) < 1 then
if getPlayerItemCount(cid, valor[1]) >= valor[2] then
math1 = math.random(1, qtdd)
math2 = math.random(1, qtdd)
math3 = math.random(1, qtdd)
doPlayerRemoveItem(cid, valor[1], valor[2])
mayNotMove(cid, true)
doAddCondition(cid, condition_infight)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Máquina em funcionamento, aguarde.")
setGlobalStorageValue(gstrg_control, 1)
--- Criando itens
doSendMagicEffect(pos[1], eff)
doCreateItem(items[math1][1], pos[1])
setGlobalStorageValue(istrg[1], items[math1][1])
addEvent(doSendMagicEffect, 1000, pos[2], eff)
addEvent(doCreateItem, 1000, items[math2][1], pos[2])
setGlobalStorageValue(istrg[2], items[math2][1])
addEvent(doSendMagicEffect, 2000, pos[3], eff)
addEvent(doCreateItem, 2000, items[math3][1], pos[3])
setGlobalStorageValue(istrg[3], items[math3][1])
--- Checando Itens
if gnumbs[1] == getGlobalStorageValue(istrg[1]) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você já acertou o primeiro item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
doPlayerSendTextMessage(cid, 18, "Que pena, já perdeu na primeira chance.")
end
if gnumbs[1] == getGlobalStorageValue(istrg[2]) then
addEvent(doPlayerSendTextMessage, 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o segundo item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que pena, perdeu na segunda chance.")
end
if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o terceiro item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que pena, perdeu na terceira chance.")
end
addEvent(function()
for z = 1, 3 do
doRemoveItem(getTileItemById(pos[z], getGlobalStorageValue(istrg[z])).uid, 1)
doSendMagicEffect(pos[z], reff)
end
mayNotMove(cid, false)
setGlobalStorageValue(gstrg_control, 0)
addEvent(CassPremio1, 500, cid)
end, 5000)
--- Fim Checagem
else
doPlayerSendCancel(cid, "Você precisa de "..valor[2].." "..getItemNameById(valor[1]).." para jogar.")
end
else
doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para jogar novamente.")
end
else
doPlayerSendCancel(cid, "Primeiro selecione o item de sorte para poder jogar.")
end

elseif dir == SOUTH then -- Posição de Selecionar Item da Sorte
if getGlobalStorageValue(gstrg_control) < 1 then
if gget <= 0 then
doCreateItem(gnumba[1], 1, iluck_pos)
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumba[1]).." como seu item da sorte.")
setGlobalStorageValue(gstrg, 2)
elseif gget >= 2 and gget < (qtdd + 1) then
if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
end
doCreateItem(gnumb[1], 1, iluck_pos)
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumb[1]).." como seu item da sorte.")
setGlobalStorageValue(gstrg, (gget + 1))
elseif gget >= (qtdd + 1) then
if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
end
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você resetou os itens.")
setGlobalStorageValue(gstrg, 0)
end
else
doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para selecionar outro item da sorte.")
end
end
else
doPlayerSendCancel(cid, "Você ativou o Cassino Slots.")
setGlobalStorageValue(gstrg, 0)
end
return true
end

function CassPremio1(cid)
if getPlayerStorageValue(cid, gstrg) == 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, você acertou um item da combinação e foi recompensado em "..comb1[2].." "..getItemNameById(comb1[1])..".")
doPlayerAddItem(cid, comb1[1], comb1[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) == 2 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, foi por pouco, mas você acertou dois itens da combinação e foi recompensado em "..comb2[2].." "..getItemNameById(comb2[1])..".")
doPlayerAddItem(cid, comb2[1], comb2[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) == 3 then
doBroadcastMessage("Parabéns ao jogador "..getPlayerName(cid).." acertou as 3 combinações da Cassino Slots e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou TODOS itens da combinação e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
doPlayerAddItem(cid, premio[1], premio[2])
doPlayerAddItem(cid, comb3[1], comb3[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) > 3 then
doPlayerSendCancel(cid, "Mais sorte da próxima vez.")
setPlayerStorageValue(cid, gstrg, 0)
end
return true
end

 

Machine Coin 2

------- Script by: Adriano Swatt ----


local condition_infight = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition_infight, CONDITION_PARAM_TICKS, 8000)

local gstrg = 12130 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12133 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12134, 12135, 12136} -- Não Mexa, Storage de Itens.
local items = {
[0] = {0}, -- NEUTRO
[1] = {26743}, -- ID do ITEM 1
[2] = {26744}, -- ID do ITEM 2
[3] = {26745}, -- ID do ITEM 3
[4] = {26746}, -- ID do ITEM 4
[5] = {26747}, -- ID do ITEM 5
[6] = {2187}, -- ID do ITEM 6
[7] = {2188}, -- ID do ITEM 7
[8] = {2189}, -- ID do ITEM 8
[9] = {2190}, -- ID do ITEM 9
[10] = {2191}, --ID do ITEM 10
[11] = {0} -- NEUTRO
}
local qtdd = 5 -- Quantidade de Itens a Sortear // Não precisa apagar as demais linhas de configuração acima.
local valor = {26645, 2} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {26645, 3} -- ID , Quantidade, para quem acertar 1 item da combinação
local comb2 = {26645, 10} -- ID , Quantidade, para quem acertar 2 item da combinação
local comb3 = {26645, 20} -- ID , Quantidade, para quem acertar todos itens da combinação + o prêmio configurado acima
local premio = {26645, 25} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
local iluck_pos = {x=741, y=1106, z=8} -- Posição onde fica a amostra do item da sorte
local pos = {{x=743, y=1106, z=8}, {x=744, y=1106, z=8}, {x=745, y=1106, z=8}} -- Posições onde os itens sorteados aparecerão
local effect = 12 -- Efeito na hora de selecionar o item da sorte
local eff = 13 -- Efeito ao criar os itens na mesa (hora do sorteio)
local reff = 14 -- Efeito ao remover itens da mesa (ao finalizar)
-------- FIM DAS CONFIGURAÇÕES --------

function onUse(cid, item, frompos, item2, topos)
local dir = getPlayerLookDir(cid)
local gget = getGlobalStorageValue(gstrg)
local gnumb = items[gget]
local gnumba = items[gget + 1]
local gnumbs = items[gget - 1]

if gnumb then
if dir == WEST or dir == EAST then -- Caso não esteja em posição de jogar.
doPlayerSendTextMessage(cid, 18, "Para jogar, siga as dicas abaixo: \n Para escolher o item da sorte, vire-se para baixo e clique na alavanca até selecioná-lo. \n Para jogar, após ter selecionado o item da sorte, vire-se para cima e puxe novamente a alavanca.")

elseif dir == NORTH then -- Posição de Jogar
if gget ~= 0 then
if getGlobalStorageValue(gstrg_control) < 1 then
if getPlayerItemCount(cid, valor[1]) >= valor[2] then
math1 = math.random(1, qtdd)
math2 = math.random(1, qtdd)
math3 = math.random(1, qtdd)
doPlayerRemoveItem(cid, valor[1], valor[2])
mayNotMove(cid, true)
doAddCondition(cid, condition_infight)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Máquina em funcionamento, aguarde.")
setGlobalStorageValue(gstrg_control, 1)
--- Criando itens
doSendMagicEffect(pos[1], eff)
doCreateItem(items[math1][1], pos[1])
setGlobalStorageValue(istrg[1], items[math1][1])
addEvent(doSendMagicEffect, 1000, pos[2], eff)
addEvent(doCreateItem, 1000, items[math2][1], pos[2])
setGlobalStorageValue(istrg[2], items[math2][1])
addEvent(doSendMagicEffect, 2000, pos[3], eff)
addEvent(doCreateItem, 2000, items[math3][1], pos[3])
setGlobalStorageValue(istrg[3], items[math3][1])
--- Checando Itens
if gnumbs[1] == getGlobalStorageValue(istrg[1]) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você já acertou o primeiro item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
doPlayerSendTextMessage(cid, 18, "Que pena, já perdeu na primeira chance.")
end
if gnumbs[1] == getGlobalStorageValue(istrg[2]) then
addEvent(doPlayerSendTextMessage, 1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o segundo item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que pena, perdeu na segunda chance.")
end
if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou o terceiro item da combinação.")
setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
else
addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que pena, perdeu na terceira chance.")
end
addEvent(function()
for z = 1, 3 do
doRemoveItem(getTileItemById(pos[z], getGlobalStorageValue(istrg[z])).uid, 1)
doSendMagicEffect(pos[z], reff)
end
mayNotMove(cid, false)
setGlobalStorageValue(gstrg_control, 0)
addEvent(CassPremio2, 500, cid)
end, 5000)
--- Fim Checagem
else
doPlayerSendCancel(cid, "Você precisa de "..valor[2].." "..getItemNameById(valor[1]).." para jogar.")
end
else
doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para jogar novamente.")
end
else
doPlayerSendCancel(cid, "Primeiro selecione o item de sorte para poder jogar.")
end

elseif dir == SOUTH then -- Posição de Selecionar Item da Sorte
if getGlobalStorageValue(gstrg_control) < 1 then
if gget <= 0 then
doCreateItem(gnumba[1], 1, iluck_pos)
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumba[1]).." como seu item da sorte.")
setGlobalStorageValue(gstrg, 2)
elseif gget >= 2 and gget < (qtdd + 1) then
if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
end
doCreateItem(gnumb[1], 1, iluck_pos)
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você selecionou o "..getItemNameById(gnumb[1]).." como seu item da sorte.")
setGlobalStorageValue(gstrg, (gget + 1))
elseif gget >= (qtdd + 1) then
if getTileItemById(iluck_pos, gnumbs[1]).uid > 0 then
doRemoveItem(getTileItemById(iluck_pos, gnumbs[1]).uid, 1)
end
doSendMagicEffect(iluck_pos, effect)
doPlayerSendCancel(cid, "Você resetou os itens.")
setGlobalStorageValue(gstrg, 0)
end
else
doPlayerSendCancel(cid, "Precisa esperar o jogo finalizar para selecionar outro item da sorte.")
end
end
else
doPlayerSendCancel(cid, "Você ativou o Cassino Slots.")
setGlobalStorageValue(gstrg, 0)
end
return true
end

function CassPremio2(cid)
if getPlayerStorageValue(cid, gstrg) == 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, você acertou um item da combinação e foi recompensado em "..comb1[2].." "..getItemNameById(comb1[1])..".")
doPlayerAddItem(cid, comb1[1], comb1[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) == 2 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, foi por pouco, mas você acertou dois itens da combinação e foi recompensado em "..comb2[2].." "..getItemNameById(comb2[1])..".")
doPlayerAddItem(cid, comb2[1], comb2[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) == 3 then
doBroadcastMessage("Parabéns ao jogador "..getPlayerName(cid).." acertou as 3 combinações da Cassino Slots e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você acertou TODOS itens da combinação e foi recompensado em "..comb3[2].." "..getItemNameById(comb3[1]).." e "..premio[2].." "..getItemNameById(premio[1])..".")
doPlayerAddItem(cid, premio[1], premio[2])
doPlayerAddItem(cid, comb3[1], comb3[2])
setPlayerStorageValue(cid, gstrg, 0)
elseif getPlayerStorageValue(cid, gstrg) > 3 then
doPlayerSendCancel(cid, "Mais sorte da próxima vez.")
setPlayerStorageValue(cid, gstrg, 0)
end
return true
end

post-74390-0-96344500-1428594027_thumb.p

post-74390-0-84223500-1428594030_thumb.p

Link para o post
Compartilhar em outros sites

Simples, pois estes valores:

-- primeiro script
local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
 
-- segundo script
local gstrg = 12130 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12133 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12134, 12135, 12136} -- Não Mexa, Storage de Itens.

Salvam se o jogo está em execução.

Veja o que o valor 12130 está repetido em ambos scripts, como disse, os valores não podem se repetir porque controlam se o jogo já está sendo executado.

 

Aconselho que neste campo, use assim:

-- primeiro
local gstrg = 12129 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12131, 12132, 12133} -- Não Mexa, Storage de Itens.
 
-- segundo
local gstrg = 12135 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12136 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12137, 12138, 12139} -- Não Mexa, Storage de Itens.
 
-- terceiro
local gstrg = 12140 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12141 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12142, 12143, 12144} -- Não Mexa, Storage de Itens.
 
-- Sucessivamente...

Boa sorte.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Agora funcionou perfeitamente, muito obrigado cara, muito obrigado mesmo  :wow:  :wow:  Rep+

Que bom.

Faça bom proveito.

 

Qualquer novidade, entre em contato.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Opa Adriano blz? Gostaria de saber como eu aumento a sorte dos itens darem, sem mudar a quantidade exemplo. Deixar os 10 itens mais a chance de cair 1/2/3 itens serem maiores mas não toda hora, apenas de vez enquanto mas do jeito que esta, cair 3x esta quase impossible! Thanks

Link para o post
Compartilhar em outros sites

Para adicionar porcentagem de chance de cair itens teria que modificar todo o script.

Porque a base da chance está na quantidade de itens à serem sorteados.

Sendo assim, se diminuir a quantidade automaticamente ficará mais fácil de conseguir a combinação.

 

Abraços.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Para adicionar porcentagem de chance de cair itens teria que modificar todo o script.

Porque a base da chance está na quantidade de itens à serem sorteados.

Sendo assim, se diminuir a quantidade automaticamente ficará mais fácil de conseguir a combinação.

 

Abraços.

Ok, Obrigado mesmo assim!

Adriano do nada, o cassino começou  a bugar e não querer mais funcionar dar o erro como o print a seguir mas nem se quer aparecer o item

Print : http://i.imgur.com/hQVKj7r.jpg

Link para o post
Compartilhar em outros sites

Provavelmente nas horas de testes você deu reload em actions ou fechou o servidor enquanto o jogo estava sendo executado.

Para voltar ao normal, precisa mudar a chave da globalstorage abaixo para "0" (zero).

local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.

Faça pelo sql ou por algum comando do GOD caso seu servidor tenha.

 

Boa sorte.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Provavelmente nas horas de testes você deu reload em actions ou fechou o servidor enquanto o jogo estava sendo executado.

Para voltar ao normal, precisa mudar a chave da globalstorage abaixo para "0" (zero).

local gstrg_control = 12130 -- Não Mexa, Storage de Controle Jogo em Execução.

Faça pelo sql ou por algum comando do GOD caso seu servidor tenha.

 

Boa sorte.

Ok, obrigado. Veja teu private fico no aguardo!

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Arkanjo39
      CUIDA, CUIDA E VEM CONHECER NOSSO SERVER. KING BAIAK ACABOU DE SER LANÇADO!!! VEM SER O TOP 1 Site com Otclient: https://kingbaiak.com/ PARA NOVOS JOGARES ADM TA DANDO AQUELA FORCINHA! SERVIDOR 8.60 COM RESETS, MONTARIAS E GOLDEN OUTFIT! INFORMAÇÕES BÁSICAS DO SERVIDOR: [+] MAPA BAIAK [+] HIGH EXP [+] RESETS COM + DAMAGE [+] AUTOLOOT AUTOMÁTICO [+] CITY DONATE [+] ROSHAMUUL, ORAMOND E NETHER [+] MONTARIAS E GOLDEN OUTFIT [+] INVASÃO DE MONSTROS AUTOMÁTICAS [+] DAILY MONSTER QUE APARECE AO LOGAR [+] MONTARIAS COM COMANDO !MOUNT [+] SISTEMA DE ROLETA ATUAL [+] CAST WATCH [+] FAST ATTACK [+] CAST ARROWS [+] PUSH CRUZADO [+] REWARD CHEST [+] WARSQUARE [+] COMBO EXP DE POTIONS [+] MINERAÇÃO COM LOJA [+] SISTEMA DE BOSS [+] CRITICAL/DODGE [500/500] [+] LIFE E MANA EM PORCENTAGEM* [+] VARIAS QUESTS [+] EVENTO DTT (AUTOMÁTICO) [+] EVENTO BATLEFIELD (AUTOMÁTICO) [+] EVENTO SNOWBALLWAR (AUTOMÁTICO) [+] EVENTO DESERT WAR (AUTOMÁTICO) [+] EVENTO ZOMBIE (AUTOMÁTICO) [+] EVENTO CAMPO MINADO (AUTOMÁTICO) [+] EVENTO TEAM BATLE (AUTOMÁTICO) [+] EVENTO CAPTURE THE FLAG (AUTOMÁTICO)
    • Por Asnan
      Fusion Games Studio, com orgulho, apresenta um servidor que o levará de volta aos dias de ouro dos jogos, onde a habilidade fazia a diferença, jogar sem bots era o padrão, cada derrota doía e cada vitória trazia uma satisfação genuína.
      Nosso servidor revive o espírito dos jogos clássicos — sem atalhos, sem trapaças, apenas pura estratégia e habilidade.
      Data de lançamento oficial: 18.10.24 15:00
      Junte-se ao Shinobi Legacy hoje!
      Site: https://www.shinobilegacy.pl
      Discord: https://discord.com/invite/ervPpDqjQt
       
      Vídeo promocional
      https://www.youtube.com/watch?v=3Z_HzIdfVjg
       
      Jogue como um dos 16 personagens do universo de Naruto.

       
      Um dos sistemas disponíveis no jogo

       
       
      Aproximamo-nos do Shinobi Legacy com total comprometimento e paixão, cuidando até dos menores detalhes. Nossos esforços e abordagem única nos diferenciam de outros servidores — isso é perceptível desde o primeiro momento em que você experimenta nosso jogo.
      Nosso mapa personalizado em Shinobi Legacy é cuidadosamente elaborado para imergir os jogadores no mundo de Naruto como nunca antes. Cada zona é projetada com detalhes, oferecendo tanto uma experiência nostálgica quanto novos desafios para jogadores de todos os níveis. Masmorras ocultas, caminhos secretos e zonas de guerra perigosas aguardam aqueles que ousam explorar!
      No Shinobi Legacy, o PvP está no coração da experiência. Nossos sistemas, como as habilidades baseadas em guildas, o sistema de adrenalina e a encantação, garantem que nenhuma batalha seja a mesma.
       
      Capturas de tela do jogo

       
       
       
    • Por BTitan
      Baiak Titan: Uma Experiência Incomparável no Universo Baiak
       
      O Baiak Titan combina a nostalgia dos antigos tempos de OTServ com a inovação e modernidade atuais. Oferecemos um mapa vasto, com mais de 100 áreas de caça para explorar, além de vocações equilibradas para um PvP justo e emocionante. Diversos eventos automáticos ocorrem diariamente, garantindo diversão constante para os jogadores. O servidor conta com vários sistemas, como por exemplo, montarias para quem utiliza o cliente exclusivo, monstros do Tibia 9.6+, sistema de mineração, entre outros!
       
      Por Que Escolher o Baiak Titan?
       
      PvP de Alta Qualidade: Embora seja um servidor Baiak, nosso mapa é cuidadosamente projetado para proporcionar ganho de experiência sem perder a seriedade do jogo, oferecendo desafios instigantes e um equilíbrio perfeito para combates épicos.
      Jogabilidade Customizada: O mapa Baiak foi exclusivamente adaptado para promover intensas batalhas de PvP, com recursos inovadores que mantêm a jogabilidade sempre fresca e emocionante.

      Detalhes do Servidor:
       
      IP: baiaktitan.com Website: https://baiaktitan.com Account Manager: 1/1
        Principais Características:
       
      Uptime 24/7, Sem Lag: Jogue a qualquer hora com a estabilidade de servidores dedicados e de alta performance. Velocidade de Ataque Equilibrada: Ajustada perfeitamente para garantir combates dinâmicos e justos. Sistema de Cast: Transmita suas jogadas ao vivo e assista aos seus amigos em ação. Cliente Exclusivo: Software personalizado com novos outfits, montarias e criaturas, enriquecendo ainda mais sua experiência no jogo. Runas, Poções e Flechas Não Infinitas: Valorizamos uma jogabilidade mais estratégica e desafiadora, onde os recursos precisam ser geridos com sabedoria.
      Eventos Automáticos:
       
      Zombie Team Battle Monster Hunter Castle (War of Emperium) Capture The Flag DOTA Corrida Arena War (O último sobrevivente ganha) Fire Storm
        Taxas do Servidor:
       
      EXP: 200x (com stages)
      Skill: 100x
      Magic: 30x
      Loot: 3x
       
      Junte-se à nossa comunidade e viva essa aventura única. O Baiak Titan espera por você!
    • Por campospkks
      Servidor muito bem otimizado, com amplo map para uma diversão imperdível. 
       
      *  Quest System
      * bugs corrigidos 90,0%
      * Client Específico (V8)
      * Mobile Adaptavel e Otimizado
      * database.sql já com (Modulo Pix) 
      * site 95,9% atualizado (Troque, pois a marca já possuí proprietário)
      * Franquia Tibia Custom baseado em armas.
       
      Site Original: soulgun.com.br
      discord.gg/cCWcaMwjuB
      Relançamento Servidor 20-09-2024
      Horario 17:00
      whatsap Grupo
      https://chat.whatsapp.com/JsAyLAmwJQyGEWgHTI4096
      Video Do Game
      https://youtu.be/N8asxdnzmGw


    • Por HoSOnline
      [BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA]

      Hello, I would like to introduce you to a server that I have been working on for some time.
      ____________________________________
      Start HoSOnline - Beta 20.09.2024r 18:00 / BR 6:00 pm
      Discord: https://discord.gg/g7uzMzr3dg
      AccMaker: https://hosonline.eu/home.html
      FanPage FB: https://www.facebook.com/historyofshinobionline
      ________________________________


      ____________________________________

      SERVER INFORMATION
      ________________________________

      Exp Rate: MEDIUM

      On the server I currently have:
      (all systems are described on AccMaker)


      ○ 17 Professions
      ○ Shippuden (Reborn System with DB OTS)
      ○ Task System
      ○ Rider System
      ○ Fly System
      ○ Florist System (only Ino)
      ○ Upgrade System
      ○ Class System Broni/EQ
      ○ 'Combo' System
      ○ Specials Jutsu
      ○ Perks System
      ○ Cast System
      ○ Crafting System
      ○ Hiraishin Kunai
      ○ Boss System
      ○ Sag System..


      Sample Screens from the game:









       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo