Postado Julho 4, 2022 2 anos Boa noite, o meu cassino funciona perfeitamente bem, exceto por uma coisa: Como o script recria os itens ao rodar, o que eu coloquei no map editor não conta, em caso de clean as peças são removidas e, ao usar a alavanca sem nenhum item, dá o seguinte erro na console: 2022-07-04 20:43:03 - [Error - Action Interface] 2022-07-04 20:43:03 - data/actions/scripts/cassino.lua:onUse 2022-07-04 20:43:03 - Description: 2022-07-04 20:43:03 - (luaDoRemoveItem) Item not found Mas ai ele sorteia novamente. Conseguimos suprimir o erro na console? @Vodkart@xWhiteWolf
Postado Julho 11, 2022 2 anos Em 04/07/2022 em 20:50, Bruno Rezende disse: Mas ai ele sorteia novamente. Conseguimos suprimir o erro na console? coloca um getTileItemById(pos, item.itemid).uid pra checar se existe item no local, ou até um getThingFromPos(pos).itemid, faz um if checando se há algo, se for maior que 0 ai chama o doRemove, se não, não chama Editado Julho 11, 2022 2 anos por FeeTads (veja o histórico de edições)
Postado Julho 11, 2022 2 anos 1 minuto atrás, FeeTads disse: coloca um getTileItemById(pos, item.itemid).uid pra checar se existe item no local, ou até um getThingFromPos(pos), faz um if checando se há algo, se for maior que 0 ai chama o doRemove, se não, não chama Não tenho experiência pra fazer essa edição no código da maneira correta, poderia me mostrar por favor? Meu código do cassino: local config = { leverid = 1945, -- id da alavanca transformedid = 1946, -- id da alavanca ao clicar nela moneyPos = {x = 121, y = 37, z = 6}, -- posicao que vai o dinheiro delay = 200, -- esse delay e o tempo que demora entre cada shuffle shuffle = 5, -- quantidade de shuffles por cada peça, lembre que a ultima peça vai rodar 3 * shuffle entao evite valores grandes) multiplier = 2, -- por quanto multiplica o dinheiro apostado effect = 27 } local pieces = { -- POSICOES DE CADA PEÇA. [1] = {x = 120, y = 36, z = 6}, [2] = {x = 120, y = 37, z = 6}, [3] = {x = 120, y = 38, z = 6} } local function shuffle(id, times, final, pos) -- funcao que rotaciona a peca local item = getTileItemById(pos, id) if item and times > 0 then doRemoveItem(item.uid) doCreateItem(id == 2638 and 2639 or 2638, 1, pos) addEvent(shuffle, config.delay, id == 2638 and 2639 or 2638, times - 1, final, pos) else local nid = id if item and id ~= final then doRemoveItem(item.uid) doCreateItem(final, 1, pos) nid = final end if times == 0 then addEvent(shuffle, config.delay * config.shuffle * #pieces + config.delay * 10, nid, -1, 2639, pos) end doSendMagicEffect(pos, math.abs(final - 2638)) end end local function premiateWinner(uid, money, eff, result) if isPlayer(uid) then if result[1] == result[2] and result[2] == result[3] then doPlayerAddMoney(uid, money * config.multiplier) doSendMagicEffect(getCreaturePosition(uid), eff) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You won ".. money * config.multiplier .." gold coins. Congratulations!") else doSendMagicEffect(getCreaturePosition(uid), CONST_ME_POFF) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You lost. Better luck next time.") end end end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == config.leverid then local pc = getTileItemById(config.moneyPos, 2152) local cc = getTileItemById(config.moneyPos, 2160) local money = 0 if pc and pc.type > 0 then money = money + pc.type * 100 doRemoveItem(pc.uid) end if cc and cc.type > 0 then money = money + cc.type * 10000 doRemoveItem(cc.uid) end if money >= 100 then doTransformItem(item.uid, config.transformedid) local pos = fromPosition addEvent(function() local lever = getTileItemById(pos, config.transformedid) if lever and lever.uid > 0 then doTransformItem(lever.uid, config.leverid) end end, (config.delay * #pieces) * (config.shuffle + 10)) local result = {} for i = 1, #pieces do local id = 2639 result[i] = math.random(0, 1) shuffle(id, config.shuffle * i, result[i] + 2638, pieces[i]) end addEvent(premiateWinner, config.delay * #pieces * config.shuffle, cid, money, config.effect, result) else doPlayerSendCancel(cid, "You need to place your offer. The minimum offer is 1 platinum coin.") end else doPlayerSendCancel(cid, "You need to wait the turn end to bet again.") end return true end
Postado Julho 11, 2022 2 anos 4 minutos atrás, Bruno Rezende disse: Não tenho experiência pra fazer essa edição no código da maneira correta, poderia me mostrar por favor? cara, como não uso esse código e não consigo testar ele, arrumar por aqui seria dificil kkkkkkkkk, mas te chamei no discord ai, posso te ajudar a resolver, sem testar pra eu saber como roda o script é dificil, qualquer coisa te ajudo la e não cobro por isso tbm
Postado Agosto 9, 2022 2 anos Pessoalmente, penso que é fácil ganhar dinheiro com casinos ou apostas desportivas, se assim o desejar. Neste momento aposto na 22bet e ganho mais do que o meu emprego principal
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.