Histórico de Edições
Please note that revisions older than 15 days are pruned and will no longer show here
Não há histórico de edição para mostrar, ou este comentário foi editado por um moderador.
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por 77mateus77
Olá pessoal, gostaria de saber como posso adicionar um sistema de cassino por npc automatico, como este na imagen abaixo
-
Por Adriano SwaTT
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 simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo:
Como funciona?
O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu.
Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável).
Como jogar?
Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar.
Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado.
Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca.
E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente.
Dicas de instalação!
Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo:
Instalando:
Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro:
Agora em “actions.xml” adicione a tag abaixo:
Agora basta configurar de acordo com as informações disponíveis no início do script.
Vejam o vídeo demonstrativo do Sistema em funcionamento.
Criado por: Adriano Swatt'
-
Por xWhiteWolf
Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
Primeiramente façam uma sala parecida com essa aqui:
Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.
O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.
em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
Agora em data/actions/actions.xml adicione:
<action actionid="16541" script="cassino.lua"/>
Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
<action actionid="16542" script="cassino2.lua"/>;
Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem
Aqui tem um pequeno gif que o membro @eviltox nos forneceu:
Abraços do Lobo!
-
Por Baalszor
Como faço para envés do script só apostar grana, apostar gold nuggets também??? No momento estou usando este script... Id da gold nugget 2157 - tentei colocar ai o script bugo...
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
local function delayMoneyRemoval(item, pos)
doRemoveItem(getTileItemById(pos, item).uid)
return true
end
local function placeMoney(amount, table_middle_pos)
local remain = amount
local gold_nugget = 0
local crystal_coins = 0
if (math.floor(amount / 10000) >= 1) then
crystal_coins = math.floor(amount / 10000)
remain = remain - gold_nugget * 10000
end
if ((remain / 100) >= 1) then
gold_nuggets = remain / 100
end
addEvent(doCreateItem, 550, 2160, crystal_coins, table_middle_pos)
addEvent(doCreateItem, 600, 2157, gold_nuggets, table_middle_pos)
end
local function rollDice(roll, cc_count, pc_count, table_left_pos, table_middle_pos, npc)
local dice_ids = {5792, 5793, 5794, 5795, 5796, 5797}
local random_rollval = math.random(1,6)
local total_g = (10000 * cc_count) + (100 * pc_count)
local prize_percent = 1.0 -- 100%
if ((total_g) <= 20 and (total_g) >= 5) then
doSendMagicEffect(table_left_pos, CONST_ME_CRAPS)
for _, itemId in pairs(dice_ids) do
if(getTileItemById(table_left_pos, itemId).uid > 0) then
doTransformItem(getTileItemById(table_left_pos, itemId).uid, dice_ids[random_rollval])
end
end
if (roll == 1 and random_rollval <= 3) then
placeMoney(total_g + (total_g * prize_percent), table_middle_pos)
addEvent(doSendMagicEffect, 400, table_left_pos, 28)
addEvent(doSendMagicEffect, 700, table_left_pos, 28)
addEvent(doCreatureSay, 500, npc, "You win "..total_g.." gold coins, Parabéns você venceu", TALKTYPE_SAY, false, 0)
elseif (roll == 2 and random_rollval >= 4) then
placeMoney(total_g + (total_g * prize_percent), table_middle_pos)
addEvent(doSendMagicEffect, 400, table_left_pos, 28)
addEvent(doSendMagicEffect, 700, table_left_pos, 28)
addEvent(doCreatureSay, 500, npc, "You win "..total_g.." gold coins, Parabéns você venceu!", TALKTYPE_SAY, false, 0)
else
addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_BLOCKHIT)
addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_BLOCKHIT)
addEvent(doCreatureSay, 500, npc, "Você perdeu tente denovo.", TALKTYPE_SAY, false, 0)
end
doCreatureSay(npc, string.format("%s rolled a %d.", getCreatureName(npc), random_rollval), TALKTYPE_ORANGE_1, false, 0, table_left_pos)
else
addEvent(doCreateItem, 100, 2160, cc_count, table_middle_pos)
addEvent(doCreateItem, 150, 2157, pc_count, table_middle_pos)
doCreatureSay(npc, "Você precisa jogar o dinheiro no meio do depot e falar L para 1 a 3 ou H para 4 a 6 o preço minimo para a aposta é 5kk e o maximo 20kk.", TALKTYPE_SAY, false, 0)
end
return true
end
function creatureSayCallback(cid, type, msg)
-- NPC userdata instance
local npc = getNpcCid()
-- Participating player userdata instance
local position = {x = getNpcPos().x+2, y = getNpcPos().y, z = getNpcPos().z}
position.stackpos = STACKPOS_TOP_CREATURE
local player_uid = getThingfromPos(position).uid
-- Game table position userdata instances
local table_left_pos = {x = 126, y = 58, z = 7}
local table_middle_pos = {x = 127, y = 58, z = 7}
-- Search for coins on the left and middle tables and create item userdata instances
local table_middle_cc = getTileItemById(table_middle_pos, 2160)
local table_middle_pc = getTileItemById(table_middle_pos, 2157)
-- Other variables
local cc_count = 0
local pc_count = 0
local ROLL, LOW, HIGH = 0, 1, 2
if (player_uid ~= 0) then
if ((msgcontains(string.lower(msg), 'high') or msgcontains(string.lower(msg), 'h')) and (isPlayer(player_uid) and player_uid == cid)) then
ROLL = HIGH
elseif ((msgcontains(string.lower(msg), 'low') or msgcontains(string.lower(msg), 'l')) and (isPlayer(player_uid) and player_uid == cid)) then
ROLL = LOW
else
return false
end
if (table_middle_cc.uid ~= 0) then
cc_count = table_middle_cc.type
doTeleportThing(table_middle_cc.uid, table_left_pos)
addEvent(delayMoneyRemoval, 300, 2160, table_left_pos)
end
if (table_middle_pc.uid ~= 0) then
pc_count = table_middle_pc.type
doTeleportThing(table_middle_pc.uid, table_left_pos)
addEvent(delayMoneyRemoval, 300, 2157, table_left_pos)
end
addEvent(rollDice, 500, ROLL, cc_count, pc_count, table_left_pos, table_middle_pos, npc)
else
return false
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
-
Por velosoaxl
Gente seguinte, esse script logo abaixo é um action de cassino que funciona da seguinte forma; é criada uma alavanca com um uniqueID "X" a qual
quando acinonada pelo player é removido "x" item(s) no meu caso coloquei o item gold nugguets (como moeda). O scrip está funcionando, remove
e adiciona um dos items "sorteados". Porém quando o player tem mais ou menos GOLD NUGGUETS (EX: no script coloquei 20 quando o player tem
100 ele aciona 5 vezes e só! agora, se ele tiver 101, buga e ele aciona infinitamentes... acontece da mesma forma se ele tiver apenas 1 GOLD NUGGUETSS)
a alavanca é acinonada normalmente.
SCRIPT.
function onUse(cid, item, frompos, item2, topos)
--== Configurações
local config = {
items = {X, X, X, X, X, X, X, X}, -- Itens que ele pode ganhar
vp = 2159, -- ID do Vip Coin
}
--== Fim das Configurações
local rand = math.random(1, #config.items)
if (item.actionid == 1140) and item.itemid == 1945 then
if getPlayerItemCount(cid, config.vp) >= 6 then
doPlayerRemoveItem(cid, config.vp, X)
doPlayerAddItem(cid, config.items[rand], 1)
doBroadcastMessage("O Jogador "..getCreatureName(cid).." Ganhou um "..getItemNameById(config.items[rand])..".")
else
doPlayerSendCancel(cid,"Você precisa de X coins")
doSendMagicEffect(getPlayerPosition(cid), 2)
end
elseif item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
end
return TRUE
end
---------------------------------------------------------------------------------------------------------------------------------------------
Desde já agradeço e fico no aguardo.
Abraços!
-