Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

@Adriano SwaTT eu coloquei 2 sala com esse sistema, onde que eu mudo para que cada uma sala seja um script so? tipo, se eu jogar na sala da direita nao vai afetar nada na sala da esquerda, eu testei aqui e quando eu seleciono o item na sala da direita se eu apostar na sala da esquerda sem ter selecionado o item e vim o item que eu selecionei na sala da direita eu ganho na esquerda

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

  • Respostas 131
  • Visualizações 15.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

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

  • Adriano SwaTT
    Adriano SwaTT

    Boa tarde, preciso saber como configurou cada script...   Mas tente fazer como direi abaixo: Vi que criou o sistema de Cassino 6x, certo.. Além das Storages que mudou, precisamos considerar uma f

Posted Images

Postado
  • Autor
6 horas atrás, Emanueldk disse:

@Adriano SwaTT eu coloquei 2 sala com esse sistema, onde que eu mudo para que cada uma sala seja um script so? tipo, se eu jogar na sala da direita nao vai afetar nada na sala da esquerda, eu testei aqui e quando eu seleciono o item na sala da direita se eu apostar na sala da esquerda sem ter selecionado o item e vim o item que eu selecionei na sala da direita eu ganho na esquerda

Boa noite,

 

Cada sala precisa de suas próprias storages nessas variáveis:

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.

 

Ex:

1ª Sala:

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.

 

2ª Sala:

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.

 

Sucessivamente sem cessar. :)

 

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

  • 8 months later...
Postado

@Adriano SwaTT Adriano, eu tenho 3 Cassino Slots, eu coloquei todos os 3 com storage diferente, porém, só 1 funciona 100%, sabe me dizer o que pode ser?

 

 

Scripts

Máquina Da Esquerda <

Spoiler

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

local gstrg = 12141 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12142 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12143, 12144, 12145} -- 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, 50} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {2160, 250} -- ID, Quantidade, para quem acertar 1 item da combinação
local comb2 = {7443, 1} -- ID, Quantidade, para quem acertar 2 item da combinação
local comb3 = {7443, 1} -- ID, Quantidade, para quem acertar todos itens da combinação + o prêmio configurado abaixo
local premio = {8981, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
-- [[ QUANTIDADE DE ACERTOS ]] --
local combination = 1 -- Quantidade de Acertos com Direito à Prêmio [valor 1 ganha premio comb1 acertando 1 item e assim sucessivamente]
-- Caso queira que só ganhe acertando 3 combinações, use o valor 3 acima.
-- [[ QUANTIDADE DE ACERTOS  ]] --
local iluck_pos = {x=388, y=170, z=7} -- Posição onde fica a amostra do item da sorte
local pos = {{x=386, y=168, z=7}, {x=387, y=168, z=7}, {x=388, y=168, z=7}} -- Posições onde os itens sorteados aparecerão
local effect = 26 -- Efeito na hora de selecionar o item da so??rte
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 == NORTH 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 Esquerda E Clique Na Alavanca Ate Seleciona-Lo. \n Para Jogar, Apos Ter Selecionado O Item Da Sorte, Vire-Se Para Baixo E Puxe Novamente A Alavanca.")
            
        elseif dir == SOUTH 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, "Maquina 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, "Parabens, Voce Ja Acertou O Primeiro Item Da Combinacao.")
                            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, "Parabens, Voce Acertou O Segundo Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que Pena, Voce Perdeu Na Segunda Chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou O Terceiro Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que Pena, Voce 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, "Voce Precisa De "..valor[2].." "..getItemNameById(valor[1]).." Para Jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Jogar Novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro Selecione O Item Da Sorte Para Poder Jogar.")
            end
            
        elseif dir == WEST 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, "Voce 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, "Voce 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, "Voce Resetou Os Itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Selecionar Outro Item Da Sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Voce Ativou O Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    acertos = getPlayerStorageValue(cid, gstrg)
    if acertos == 1 then
        if combination == 1 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Um Item Da Combinacao E Foi Recompensado Com "..comb1[2].." "..getItemNameById(comb1[1])..".")
            doPlayerAddItem(cid, comb1[1], comb1[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Apenas Um Item Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 2 then
        if combination <= acertos then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Dois Itens Da Combinacao E Foi Recompensado Com "..comb2[2].." "..getItemNameById(comb2[1])..".")
            doPlayerAddItem(cid, comb2[1], comb2[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Apenas Dois Itens Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 3 then
        doBroadcastMessage("Parabens Ao Jogador "..getPlayerName(cid).." Ele Acertou As 3 Combinacoes Do Cassino Slots E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou TODOS Itens Da Combinacao E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
    elseif acertos > 3 then
        doPlayerSendCancel(cid, "Mais Sorte Da Proxima Vez.")
    end
    setPlayerStorageValue(cid, gstrg, 0)
    doCassinoRemoveLuckyItem(cid)
    doTeleportThing(cid, {x=394, y=175, z=7}, true)
return true
end
function doCassinoRemoveLuckyItem(cid)
    if isPlayer(cid) then
        for i = 0, #items do
            g = getTileItemById(iluck_pos, items[1])
            if g.uid > 0 then
                doRemoveItem(g.uid)
                doSendMagicEffect(iluck_pos, CONST_ME_POFF)
            end
        end
    end
return true
end

Máquina Do Meio

Spoiler

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

local gstrg = 12151 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12152 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12153, 12154, 12155} -- 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, 50} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {2160, 250} -- ID, Quantidade, para quem acertar 1 item da combinação
local comb2 = {7443, 1} -- ID, Quantidade, para quem acertar 2 item da combinação
local comb3 = {7443, 1} -- ID, Quantidade, para quem acertar todos itens da combinação + o prêmio configurado abaixo
local premio = {8981, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
-- [[ QUANTIDADE DE ACERTOS ]] --
local combination = 1 -- Quantidade de Acertos com Direito à Prêmio [valor 1 ganha premio comb1 acertando 1 item e assim sucessivamente]
-- Caso queira que só ganhe acertando 3 combinações, use o valor 3 acima.
-- [[ QUANTIDADE DE ACERTOS  ]] --
local iluck_pos = {x=392, y=170, z=7} -- Posição onde fica a amostra do item da sorte
local pos = {{x=392, y=168, z=7}, {x=393, y=168, z=7}, {x=394, y=168, z=7}} -- Posições onde os itens sorteados aparecerão
local effect = 26 -- Efeito na hora de selecionar o item da so??rte
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 == NORTH 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 Esquerda E Clique Na Alavanca Ate Seleciona-Lo. \n Para Jogar, Apos Ter Selecionado O Item Da Sorte, Vire-Se Para Baixo E Puxe Novamente A Alavanca.")
            
        elseif dir == SOUTH 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, "Maquina 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, "Parabens, Voce Ja Acertou O Primeiro Item Da Combinacao.")
                            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, "Parabens, Voce Acertou O Segundo Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que Pena, Voce Perdeu Na Segunda Chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou O Terceiro Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que Pena, Voce 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, "Voce Precisa De "..valor[2].." "..getItemNameById(valor[1]).." Para Jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Jogar Novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro Selecione O Item Da Sorte Para Poder Jogar.")
            end
            
        elseif dir == WEST 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, "Voce 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, "Voce 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, "Voce Resetou Os Itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Selecionar Outro Item Da Sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Voce Ativou O Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    acertos = getPlayerStorageValue(cid, gstrg)
    if acertos == 1 then
        if combination == 1 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Um Item Da Combinacao E Foi Recompensado Com "..comb1[2].." "..getItemNameById(comb1[1])..".")
            doPlayerAddItem(cid, comb1[1], comb1[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Apenas Um Item Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 2 then
        if combination <= acertos then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Dois Itens Da Combinacao E Foi Recompensado Com "..comb2[2].." "..getItemNameById(comb2[1])..".")
            doPlayerAddItem(cid, comb2[1], comb2[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Apenas Dois Itens Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 3 then
        doBroadcastMessage("Parabens Ao Jogador "..getPlayerName(cid).." Ele Acertou As 3 Combinacoes Do Cassino Slots E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou TODOS Itens Da Combinacao E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
    elseif acertos > 3 then
        doPlayerSendCancel(cid, "Mais Sorte Da Proxima Vez.")
    end
    setPlayerStorageValue(cid, gstrg, 0)
    doCassinoRemoveLuckyItem(cid)
    doTeleportThing(cid, {x=394, y=175, z=7}, true)
return true
end
function doCassinoRemoveLuckyItem(cid)
    if isPlayer(cid) then
        for i = 0, #items do
            g = getTileItemById(iluck_pos, items[1])
            if g.uid > 0 then
                doRemoveItem(g.uid)
                doSendMagicEffect(iluck_pos, CONST_ME_POFF)
            end
        end
    end
return true
end

Máquina Da Direita >

Spoiler

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

local gstrg = 12146 -- Não Mexa, Storage de Controle Item Global.
local gstrg_control = 12147 -- Não Mexa, Storage de Controle Jogo em Execução.
local istrg = {12148, 12149, 12150} -- 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, 50} -- ID da Moeda pra Jogar, Quantidade (preço)
local comb1 = {2160, 250} -- ID, Quantidade, para quem acertar 1 item da combinação
local comb2 = {7443, 1} -- ID, Quantidade, para quem acertar 2 item da combinação
local comb3 = {7443, 1} -- ID, Quantidade, para quem acertar todos itens da combinação + o prêmio configurado abaixo
local premio = {8981, 1} -- ID do Prêmio, Quantidade (que o player ganhará ao acertar os 3 itens)
-- [[ QUANTIDADE DE ACERTOS ]] --
local combination = 1 -- Quantidade de Acertos com Direito à Prêmio [valor 1 ganha premio comb1 acertando 1 item e assim sucessivamente]
-- Caso queira que só ganhe acertando 3 combinações, use o valor 3 acima.
-- [[ QUANTIDADE DE ACERTOS  ]] --
local iluck_pos = {x=400, y=170, z=7} -- Posição onde fica a amostra do item da sorte
local pos = {{x=400, y=168, z=7}, {x=401, y=168, z=7}, {x=402, y=168, z=7}} -- Posições onde os itens sorteados aparecerão
local effect = 26 -- Efeito na hora de selecionar o item da so??rte
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 == NORTH 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 Esquerda E Clique Na Alavanca Ate Seleciona-Lo. \n Para Jogar, Apos Ter Selecionado O Item Da Sorte, Vire-Se Para Baixo E Puxe Novamente A Alavanca.")
            
        elseif dir == SOUTH 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, "Maquina 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, "Parabens, Voce Ja Acertou O Primeiro Item Da Combinacao.")
                            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, "Parabens, Voce Acertou O Segundo Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 1000, cid, 18, "Que Pena, Voce Perdeu Na Segunda Chance.")
                        end
                        if gnumbs[1] == getGlobalStorageValue(istrg[3]) then
                            addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou O Terceiro Item Da Combinacao.")
                            setPlayerStorageValue(cid, gstrg, (getPlayerStorageValue(cid, gstrg) + 1))
                        else
                            addEvent(doPlayerSendTextMessage, 2000, cid, 18, "Que Pena, Voce 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, "Voce Precisa De "..valor[2].." "..getItemNameById(valor[1]).." Para Jogar.")
                    end
                else
                    doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Jogar Novamente.")
                end
            else
                doPlayerSendCancel(cid, "Primeiro Selecione O Item Da Sorte Para Poder Jogar.")
            end
            
        elseif dir == WEST 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, "Voce 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, "Voce 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, "Voce Resetou Os Itens.")
                    setGlobalStorageValue(gstrg, 0)
                end
            else
                doPlayerSendCancel(cid, "Voce Precisa Esperar O Jogo Finalizar Para Selecionar Outro Item Da Sorte.")
            end
        end
    else
        doPlayerSendCancel(cid, "Voce Ativou O Cassino Slots.")
        setGlobalStorageValue(gstrg, 0)
    end
return true
end

function CassPremio(cid)
    acertos = getPlayerStorageValue(cid, gstrg)
    if acertos == 1 then
        if combination == 1 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Um Item Da Combinacao E Foi Recompensado Com "..comb1[2].." "..getItemNameById(comb1[1])..".")
            doPlayerAddItem(cid, comb1[1], comb1[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hmmm, Voce Acertou Apenas Um Item Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 2 then
        if combination <= acertos then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Dois Itens Da Combinacao E Foi Recompensado Com "..comb2[2].." "..getItemNameById(comb2[1])..".")
            doPlayerAddItem(cid, comb2[1], comb2[2])
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uffa, Foi Por Pouco, Mas Voce Acertou Apenas Dois Itens Da Combinacao, Mais Sorte Da Proxima Vez.")
        end
    elseif acertos == 3 then
        doBroadcastMessage("Parabens Ao Jogador "..getPlayerName(cid).." Ele Acertou As 3 Combinacoes Do Cassino Slots E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, Voce Acertou TODOS Itens Da Combinacao E Foi Recompensado Com "..comb3[2].." "..getItemNameById(comb3[1]).." E "..premio[2].." "..getItemNameById(premio[1])..".")
        doPlayerAddItem(cid, premio[1], premio[2])
        doPlayerAddItem(cid, comb3[1], comb3[2])
    elseif acertos > 3 then
        doPlayerSendCancel(cid, "Mais Sorte Da Proxima Vez.")
    end
    setPlayerStorageValue(cid, gstrg, 0)
    doCassinoRemoveLuckyItem(cid)
    doTeleportThing(cid, {x=394, y=175, z=7}, true)
return true
end
function doCassinoRemoveLuckyItem(cid)
    if isPlayer(cid) then
        for i = 0, #items do
            g = getTileItemById(iluck_pos, items[1])
            if g.uid > 0 then
                doRemoveItem(g.uid)
                doSendMagicEffect(iluck_pos, CONST_ME_POFF)
            end
        end
    end
return true
end

 

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado
  • Autor

Boa tarde, @Phineasz.

 

Não consegui identificar o erro no vídeo.

 

Tente explicar um pouco melhor o que acontece e tento te ajudar.

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

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo