quando o jogador clica para jogar quando ele ganha ele perde o dinheiro ?
ou ele ganha e ganha apenas o dinheiro que ele depositou ?
info
Grupo: Visconde
Registrado: 28/02/14
Posts: 416
Reputação: +90
Gênero: Masculino

quando o jogador clica para jogar quando ele ganha ele perde o dinheiro ?
ou ele ganha e ganha apenas o dinheiro que ele depositou ?
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Testei e o code funciona perfeitamente.
Verifica se a tag esta correta:
<action actionid="7010-7019" event="script" value="nomedoscript.lua" />
E tambem a posiçao do dinheiro eh relativa a alavanca entao ele vai ficar 1 sqm pra esquerda e o id da alavanca tem que ser 1945
@Mkalo
Sim, no server que eu testei(peguei) funfa perfeitamente, eu copiei e colei o cassino do cara no mapa tambem na mesma posição tudo certinho...
Tag certa, tudo certinho nenhum erro.
O dinheiro que ele deixo encima do sqm, some. Ele ganhando ou não...
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Não existe isso, se funciona pra mim tem que funcionar pra voce ou dar erro.
Como eu disse o motivo eh que o codigo provavelmente nem esta sendo executado, verifique o actionid das alavancas se sao de 7010 a 7019 e verifique se o id delas sao 1945.
Qual sua versão do TFS?
Editado Novembro 29 por MatheusMkalo
Editado Novembro 29 por brendoonh
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Hmm tenta retirar esse tile e essa mesa do lugar onde fica o dinheiro, se não funcionar usa isso:
--[ Script written and published by Orzeleagle/Collocorpus ]--
function addTileItem(itemid, amount, pos)
if amount%100 > 0 then
local iuid = doCreateItemEx(itemid, amount%100)
doTileAddItemEx(pos, iuid)
end
for i = 1, math.floor(amount/100) do
iuid = doCreateItemEx(itemid, 100)
doTileAddItemEx(pos, iuid)
end
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
chance = math.random(1, 100), --losowanie
win_chance = 80, --chance to win a percentage of
multi = 3, --how many times you win more (eg 2 or 1cc bet, win and get 2cc)
items = {2160, 2152}, --id items whom you can play
min_count = 1, --Minimum Number of items (1 = least 1cc)
max_count = 100 --maximum number of objects (10 = maximum 10cc)
}
local positions = {
[7010] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7011] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7012] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7013] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7014] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7015] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7016] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7017] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7018] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7019] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255}
}
local itemplay = getThingfromPos(positions[item.actionid])
local storage, exh = 56500, 5 --storage id, time exh
if (item.itemid == 1945) then
doTransformItem(item.uid, 1946)
if (getPlayerStorageValue(cid, storage)-os.time(t) < 1) then
doPlayerSetStorageValue(cid, storage, os.time(t)+exh)
if (isInArray(config.items, itemplay.itemid)) then
if (itemplay.type >= config.min_count) and (itemplay.type <= config.max_count) then
if (config.chance <= config.win_chance) then
doRemoveItem(itemplay.uid, itemplay.type)
positions[item.actionid].stackpos = nil
addTileItem(itemplay.itemid, (itemplay.type*config.multi), positions[item.actionid])
doSendMagicEffect(positions[item.actionid], 31)
doSendMagicEffect(getCreaturePosition(cid), 27)
doPlayerSendCancel(cid, "Parabéns, você acaba de ganhar em nosso cassino!")
doSendAnimatedText(getCreaturePosition(cid), "~!Winner!~", TEXTCOLOR_YELLOW)
return true
else
doRemoveItem(itemplay.uid, itemplay.type)
doSendMagicEffect(positions[item.actionid], 31)
doSendMagicEffect(getCreaturePosition(cid), 13)
doPlayerSendCancel(cid, "É o seu dia de azar! você perdeu.")
doSendAnimatedText(getCreaturePosition(cid), "~!Loser!~", TEXTCOLOR_LIGHTBLUE)
return true
end
else
doPlayerSendCancel(cid, "You can play only with amount from ".. config.min_count .." to ".. config.max_count ..".")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doPlayerSendCancel(cid, "You cannot play with this item.")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doPlayerSendCancel(cid, "You must wait another ".. getPlayerStorageValue(cid, storage)-os.time(t) .." seconds.")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doTransformItem(item.uid, 1945)
doSendMagicEffect(fromPosition, 2)
return true
end
end
Se não funcionar o jeito vai ser adicionar o dinheiro direto na backpack do player.
Editado Novembro 30 por MatheusMkalo
Primeiro teste: Remover tile e a mesa:
Agora o dinheiro nao some quando ganha, os 1kk continua em vez de 2kk
Segundo teste: Trocando a script:
Ficou da mesma forma, com a mesa e o tile o dinheiro some, sem a mesa e o tile, quando ganha nao aparece o premio em dobro, fica somente o que apostamos..
up
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

--[ Script written and published by Orzeleagle/Collocorpus ]--
function addPlayerItem(itemid, amount, cid)
if amount%100 > 0 then
local iuid = doCreateItemEx(itemid, amount%100)
doPlayerAddItemEx(cid, iuid)
end
for i = 1, math.floor(amount/100) do
iuid = doCreateItemEx(itemid, 100)
doPlayerAddItemEx(cid, iuid)
end
return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
chance = math.random(1, 100), --losowanie
win_chance = 80, --chance to win a percentage of
multi = 3, --how many times you win more (eg 2 or 1cc bet, win and get 2cc)
items = {2160, 2152}, --id items whom you can play
min_count = 1, --Minimum Number of items (1 = least 1cc)
max_count = 100 --maximum number of objects (10 = maximum 10cc)
}
local positions = {
[7010] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7011] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7012] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7013] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7014] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7015] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7016] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7017] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7018] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},
[7019] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255}
}
local itemplay = getThingfromPos(positions[item.actionid])
local storage, exh = 56500, 5 --storage id, time exh
if (item.itemid == 1945) then
doTransformItem(item.uid, 1946)
if (getPlayerStorageValue(cid, storage)-os.time(t) < 1) then
doPlayerSetStorageValue(cid, storage, os.time(t)+exh)
if (isInArray(config.items, itemplay.itemid)) then
if (itemplay.type >= config.min_count) and (itemplay.type <= config.max_count) then
if (config.chance <= config.win_chance) then
doRemoveItem(itemplay.uid, itemplay.type)
positions[item.actionid].stackpos = nil
addPlayerItem(itemplay.itemid, (itemplay.type*config.multi), cid)
doSendMagicEffect(positions[item.actionid], 31)
doSendMagicEffect(getCreaturePosition(cid), 27)
doPlayerSendCancel(cid, "Parabéns, você acaba de ganhar em nosso cassino!")
doSendAnimatedText(getCreaturePosition(cid), "~!Winner!~", TEXTCOLOR_YELLOW)
return true
else
doRemoveItem(itemplay.uid, itemplay.type)
doSendMagicEffect(positions[item.actionid], 31)
doSendMagicEffect(getCreaturePosition(cid), 13)
doPlayerSendCancel(cid, "É o seu dia de azar! você perdeu.")
doSendAnimatedText(getCreaturePosition(cid), "~!Loser!~", TEXTCOLOR_LIGHTBLUE)
return true
end
else
doPlayerSendCancel(cid, "You can play only with amount from ".. config.min_count .." to ".. config.max_count ..".")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doPlayerSendCancel(cid, "You cannot play with this item.")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doPlayerSendCancel(cid, "You must wait another ".. getPlayerStorageValue(cid, storage)-os.time(t) .." seconds.")
doSendMagicEffect(fromPosition, 2)
return true
end
else
doTransformItem(item.uid, 1945)
doSendMagicEffect(fromPosition, 2)
return true
end
end
Em 02/12/2015 at 19:18, MatheusGlad disse:--[ Script written and published by Orzeleagle/Collocorpus ]--function addPlayerItem(itemid, amount, cid) if amount%100 > 0 then local iuid = doCreateItemEx(itemid, amount%100) doPlayerAddItemEx(cid, iuid) end for i = 1, math.floor(amount/100) do iuid = doCreateItemEx(itemid, 100) doPlayerAddItemEx(cid, iuid) end return trueendfunction onUse(cid, item, fromPosition, itemEx, toPosition)local config = {chance = math.random(1, 100), --losowaniewin_chance = 80, --chance to win a percentage ofmulti = 3, --how many times you win more (eg 2 or 1cc bet, win and get 2cc)items = {2160, 2152}, --id items whom you can playmin_count = 1, --Minimum Number of items (1 = least 1cc)max_count = 100 --maximum number of objects (10 = maximum 10cc)}local positions = {[7010] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7011] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7012] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7013] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7014] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7015] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7016] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7017] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255}, [7018] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255},[7019] = {x=fromPosition.x-1, y=(fromPosition.y), z=fromPosition.z, stackpos=255}}local itemplay = getThingfromPos(positions[item.actionid])local storage, exh = 56500, 5 --storage id, time exhif (item.itemid == 1945) thendoTransformItem(item.uid, 1946)if (getPlayerStorageValue(cid, storage)-os.time(t) < 1) thendoPlayerSetStorageValue(cid, storage, os.time(t)+exh)if (isInArray(config.items, itemplay.itemid)) thenif (itemplay.type >= config.min_count) and (itemplay.type <= config.max_count) thenif (config.chance <= config.win_chance) thendoRemoveItem(itemplay.uid, itemplay.type)positions[item.actionid].stackpos = niladdPlayerItem(itemplay.itemid, (itemplay.type*config.multi), cid)doSendMagicEffect(positions[item.actionid], 31)doSendMagicEffect(getCreaturePosition(cid), 27)doPlayerSendCancel(cid, "Parabéns, você acaba de ganhar em nosso cassino!")doSendAnimatedText(getCreaturePosition(cid), "~!Winner!~", TEXTCOLOR_YELLOW)return trueelsedoRemoveItem(itemplay.uid, itemplay.type)doSendMagicEffect(positions[item.actionid], 31)doSendMagicEffect(getCreaturePosition(cid), 13)doPlayerSendCancel(cid, "É o seu dia de azar! você perdeu.")doSendAnimatedText(getCreaturePosition(cid), "~!Loser!~", TEXTCOLOR_LIGHTBLUE)return trueendelsedoPlayerSendCancel(cid, "You can play only with amount from ".. config.min_count .." to ".. config.max_count ..".")doSendMagicEffect(fromPosition, 2)return trueendelsedoPlayerSendCancel(cid, "You cannot play with this item.")doSendMagicEffect(fromPosition, 2)return trueendelsedoPlayerSendCancel(cid, "You must wait another ".. getPlayerStorageValue(cid, storage)-os.time(t) .." seconds.")doSendMagicEffect(fromPosition, 2)return trueendelsedoTransformItem(item.uid, 1945)doSendMagicEffect(fromPosition, 2)return trueendend
Funfou.. valeu!
info
Grupo: Visconde
Registrado: 04/01/14
Posts: 320
Reputação: +15
Boa noite comunidade xTibiana...
Estou com um problema em um sistema de cassino...
Quando o cara coloca o dinheiro la e puxa a alavanca e aparece a mensagem que ele ganhou, o dinheiro que teria que aparecer em dobro no local , some.. Peguei esse sistema de outro server, mais no meu não funciona saberiam me explicar o por quê desse bug? Pois n dá nenhum erro distro.
E se tiver como arrumar, se souber por gentileza.. Eu ficaria mt grato!!!
REP+ pra quem conseguir me ajudar ou tentar!! Valeu
@, esqueci de por o script

Editado Novembro 29 por brendoonh