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 chateadoagr
      Bem-vindo ao Genesis Online Tibia (GOT), um mundo onde a civilização foi devastada por um apocalipse zumbi. Inspirado em referências como The Walking Dead e Resident Evil, o GOT desafia você a sobreviver em meio ao caos, enfrentando hordas de mortos-vivos, explorando ruínas perigosas e formando alianças estratégicas. Embarque nesta jornada épica de sobrevivência e descoberta, onde cada escolha molda seu destino em um cenário hostil repleto de desafios e perigos iminentes.
       
       
      Adentre o universo de Genesis Online Tibia (GOT), um jogo repleto de sistemas inovadores e emocionantes. Equipe-se com um vasto arsenal de armas para enfrentar as ameaças do apocalipse zumbi, enquanto o sistema autoloot simplifica suas conquistas. Desenvolva seu personagem através de um sistema de upgrade único, aprimorando habilidades e atributos para enfrentar desafios cada vez mais formidáveis.
       
      Explore um mundo imersivo onde o som desempenha um papel crucial, criando uma atmosfera envolvente e realista. Vasculhe cada canto em busca de recursos vitais, desvendando segredos e tesouros ocultos. Siga uma cativante história através de missões que expandem o enredo, revelando os mistérios por trás do apocalipse e oferecendo recompensas valiosas.
       
      Em Genesis Online Tibia, a jornada pela sobrevivência é repleta de ação, estratégia e emoção, convidando você a se aventurar em um mundo onde cada decisão molda seu destino e determina sua capacidade de enfrentar os desafios que aguardam.

      Em breve imagens do servidor!
       
       
    • Por prot def
      Versão Beta já disponível no site: http://otshinobi.servegame.com/ 
      Servidor Online, aproveite e crie sua conta e baixe o client para Pc ou Android, todos os dados do seu personagem permanecerão intactos na versão definitiva que será lançada em breve!









      Já disponível em: Client 8.54 (Old) / New Client e Client Mobile para Android
      Temos 27 Vocações disponíveis
      Personagens FREE: Naruto, Sasuke, Sakura, Kakashi, Rock Lee, Shikamaru, Neji, Tenten, Hinata, Killer Bee, Gaara, Kiba, Temari, Kankuro, Shisui e Jiraiya.
      Personagens Shop Free (compre com Gold dentro do game): Obito, Tsunade, Kisame e Itachi.
      Personagens Shop VIP: Itachi (Shop), Obito (Shop) Minato (Shop) Madara (Shop) Tsunade (Shop) Hashirama (Shop) Nidaime (Tobirama) (Shop) Nagato (Shop) Raikage (Shop) Kisame (Shop)  (Você pode donatar pelo LivePix)
      Personagens Especiais obtidos através de eventos dentro do game: Orochimaru e Yamato.
      Transformações, jutsus e habilidades exclusivas para cada vocação
      Upe se divertindo pelo mapa, rate de experiência desafiante, ganhe jutsus e transformações exclusivas ao upar 
      Mapa exclusivo que terá atualizações periódicas:
      -> vilas disponíveis até o momento: Vila da Folha, Vila da Areia, Vila da Névoa, Vila da Pedra, Vila da Nuvem Vila da Chuva (Konoha, Kirigakure, Sunagakure, Iwagakure, Kumogakure, Amegakure) e País das Ondas.
      -> Area Vip: Várias Hunts para upar e farmar (Zetsu Covil, Member Akatsuki Covil, Northwest Island, Hunt Nagato, Hunt Samurais, Paper Island, Orochimaru Island) e Vila Shinobi Exclusiva para usuários Vip
      Sistema de graduação ninja: genin, chunin, jounin e anbu - Evolua seu ranking shinobi, apenas os merecedores se tornarão Kage.
      Exame Chunin completo, reviva o nostálgico arco do anime para se tornar Chunin
      Crie sua própria guild ou entre em uma existente
      Organização Akatsuki - torne-se membro da maior organização criminosa do mundo ninja
      Rank level (Figure entre os melhores jogadores do jogo)
      Reviva as sagas de Naruto Clássico e Naruto Shippuden
      Sistema de guilds - crie ou entre em uma guild e divirta-se com seus amigos
      Mundo PVP
      Eventos PVP
      Eventos de invasão, proteja a vila da destruição: Invasões em Konoha (Pain e Orochimaru) e Invasão de Deidara e Sasori em Sunagakure
      Compra e venda de casas para usuários Vip
      Npc Shop e NPC Shop Event - compre sua VIP ACCOUNT E VOCAÇÃO VIP ''totalmente'' GRÁTIS utilizando a moeda do jogo (GOLD).
      Npc Minoru - leva você diretamente para outras vilas e várias hunts do mapa. Area Free: Konoha, Kirigakure, Sunagakure, Iwagakure, Kumogakure, Amegakure, Valley of the End, South Forest, South Island, West Desert. Area VIP: Zetsu Covil, Member Akatsuki Covil, Northwest Island, Hunt Nagato, Hunt Samurais, Paper Island, Orochimaru Island, Vila Shinobi area com casas exclusivas para compra.
      Reviva vários arcos do Anime: Lute contra diversos personagens do anime com habilidades únicas
      Sistema Chakra Bijuu - torne-se jinchuuriki das bestas de cauda e utilize seu poder em batalha
      Diversas armas e equipamentos do anime
      Tasks da Tsunade - derrote os shinobi mais poderosos do mundo ninja e ganhe recompensas em Gold: 
      deidara da pedra 
      hidan das fonte
      itachi da folha 
      kabuto da folha
      kakuzo da cachoeira 
      kisame da nevoa
      konan da chuva
      madara da folha
      nagato da chuva
      orochimaru da folha
      pain da chuva
      sasori da areia
      tobi da folha
      Vários Npcs de Tasks espalhados pelo mapa: derrote inimigos e traga itens em troca de experiência e recompensas.
      Quests: Temos várias Quests Disponíveis e várias outras em desenvolvimento:
      ->Quest Nto Points FREE - Ganhe Nto Points para comprar itens vip com o Npc Shop (compre Premium Account, Vocações e itens)
      -> Shukaku Quest - Quest realizada em quatro pessoas 
      -> Sambi Quest - Quest realizada em duas pessoas 
      -> Akatsuki Ring Quest 
      -> Kurama Quest
      -> Quest Templo do Fogo
      -> Minato Quest
      -> Itachi Quest 
      -> Sasuke Boss Quest 
      -> Hidan Quest
      -> Kakuzo Quest 
      -> Sasori Quest 
      ->Pain Quest
      ->Tobirama Quest
      Jogo utiliza base parecida com o ntoultimate dos velhos tempos.
      Jogue e ajude a manter o servidor aberto até o lançamento da versão final
      Crie sua conta e baixe o jogo no site oficial: otshinobi.servegame.com 
      DIVIRTA-SE!
      DISPONÍVEL TAMBÉM CLIENT MOBILE!

    • Por sirmagna
      Procuro equipe interessada em desenvolver um projeto de "Tibia HunterxHunter"
      Tenho um projeto pré-montado que estou criando sozinho
      estarei disponibilizando uma previa 
      das minhas sprites 
      preciso de uma equipe com boas ideias e criativa
      para concluir o ot e deixar online para todos desfrutarem dessa obra prima
       
      *******ate o momento o projeto contem sprites do Killua Zoldyck/Hisoka Morow/Gon Freecss/Chrollo Lucilfer/Kurapika
      >>>Previa:



      OTClient_2024-02-09_19-29-45.mp4

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo