Postado Julho 4, 2018 6 anos @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 Julho 4, 2018 6 anos por Emanueldk (veja o histórico de edições)
Postado Julho 5, 2018 6 anos 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.
Postado Julho 5, 2018 6 anos @Adriano SwaTT funcionou, vlw Editado Julho 5, 2018 6 anos por Emanueldk (veja o histórico de edições)
Postado Março 29, 2019 6 anos @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: Spoiler • Cidade [8.60] • Cave de Boss • Widget Gesior • Autoloot 100% • [Old Client] Como Hookar Dll • Configurando VPS Windowns • [Solução] Código Caracteres Especiais Discord: Belmont#7352 Não esqueça do REP+
Postado Março 29, 2019 6 anos 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.
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.