[Action] Roll System [8.50]

Vilden
Por Vilden
em Actions e Talkactions

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Roll System

(essa script foi testado no alissow ots)

 

 

Comentario:

 

Bem, eu irei postar aqui uma action que funciona da seguinte maneira: o player compra as apostas no NPC, no caso gold ingots e gold nuggets, cada gold nugget vale 10k e cada ingot 50k, apos adquirida a aposta, o player deve colocá-la no ArrowSlot (onde ficam os bolts), feito isso ele puxa a lavanca e o dado é jogado, se ele tirar um 6 ele ganha 4 vezes o que ele apostou, cada vez que ele vai jogar é removido somente 1 item para ser a aposta, ou seja, não tem como ele apostar mais de 1 gold ingot ou nugget, depois de jogar, o player pega o que recebeu e troca no mesmo NPC para receber seu prêmio em dinheiro (Eu arrumei os preços de venda menores do que os de compra para se fazer um balanceamento nos prêmios porque senão o player levaria muita vantagem).

 

 

Então vamos ao Script:

 

Em data/actions/actions.xml:

 

<action actionid="7655" event="script" value="rolldice.lua"/>

(Eu usei o actionid 7655 na lavanca mais pode alterar a gosto.)

 

Com seu Map Editor crie um local parecido com este (não precisa ser idêntico, fique a vontade para alterar):

rolldemo.jpg

 

Em data/actions/scripts crie um arquivo rolldice.lua e nele cole:

 

function onUse(cid, item, frompos, item2, topos)

 

Bet = getPlayerSlotItem(cid, 10)

 

if Bet.itemid == 2157 then

Type = " gold nugget"

elseif Bet.itemid == 9971 then

Type = " gold ingot"

else

doPlayerSendTextMessage(cid, 25, "[Roll] Ponha seus gold nuggets ou ingots no slot Arrow para serem sua aposta.")

return 0

end

 

local dicepos = {x=30, y=744, z=7}

local player = getPlayerPosition(cid)

Roll = math.random(1, 6)

 

if Roll == 1 then

doSendAnimatedText(player, 'Number 1', 180)

doPlayerRemoveItem(cid,Bet.itemid,1)

doSendMagicEffect(dicepos, 26)

doCreateItem(5792, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce perdeu.")

elseif Roll == 2 then

doSendAnimatedText(player, 'Number 2', 180)

doPlayerRemoveItem(cid,Bet.itemid,1)

doSendMagicEffect(dicepos, 26)

doCreateItem(5793, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce perdeu.")

elseif Roll == 3 then

doSendAnimatedText(player, 'Number 3', 180)

doPlayerRemoveItem(cid,Bet.itemid,1)

doSendMagicEffect(dicepos, 26)

doCreateItem(5794, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce perdeu.")

elseif Roll == 4 then

doSendAnimatedText(player, 'Number 4', 180)

doPlayerRemoveItem(cid,Bet.itemid,1)

doSendMagicEffect(dicepos, 26)

doCreateItem(5795, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce perdeu.")

elseif Roll == 5 then

doSendAnimatedText(player, 'Number 5', 180)

doPlayerRemoveItem(cid,Bet.itemid,1)

doSendMagicEffect(dicepos, 26)

doCreateItem(5796, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce perdeu.")

else

doSendAnimatedText(player, 'Number 6', 30)

doSendMagicEffect(dicepos, 26)

doCreateItem(5797, 1, dicepos)

doPlayerSendTextMessage(cid, 25, "[Roll] Voce ganhou! Premio: 4" .. Type .. "s.")

doSendMagicEffect(player, 27)

doPlayerAddItem(cid, Bet.itemid, 4)

end

end

 

Legenda:

Negrito: Gold Nugget ID

Itálico: Gold Ingot ID.

sublinhado Posição em que o dado será lançado. (Onde está o dado na imagem)

 

 

 

Vamos ao NPC:

 

Em data/npc crie um arquivo Robert.xml e cole:

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Robert" script="data/npc/scripts/robert.lua" walkinterval="5000" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="328" head="78" body="0" legs="0" feet="114" corpse="2212"/>

<parameters>

<parameter key="message_greet" value="Bem vindo |PLAYERNAME|. Eu vendo e compro {gold nuggets} e {gold ingots} para voce fazer suas apostas e receber o seu dinheiro. Para saber as regras e informacoes sobre o Cassino use o comando {!cassino}." />

<parameter key="message_needmoremoney" value="Voce nao tem dinheiro."/>

<parameter key="message_decline" value="|TOTALCOST| Humpf!"/>

</parameters>

</npc>

 

Em data/npc/scripts crie o arquivo robert.lua e cole:

 

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

 

function thinkCallback(cid)

local rand = math.random(1,100)

if rand == 1 then

selfSay('Compro e vendo gold nuggets e gold ingots.')

end

return true

end

 

function greetCallback(cid)

 

return true

 

end

 

local shopModule = ShopModule:new()

npcHandler:addModule(shopModule)

 

shopModule:addSellableItem({'gold nugget', 'gold nugget'}, 2157, 10000, 'gold nugget')

shopModule:addSellableItem({'gold ingot', 'gold ingot'}, 9971, 50000, 'gold ingot')

shopModule:addBuyableItem({'gold nugget', 'gold nugget'}, 2157, 11000, 'gold nugget')

shopModule:addBuyableItem({'gold ingot', 'gold ingot'}, 9971, 55000, 'gold ingot')

 

npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback)

npcHandler:setCallback(CALLBACK_GREET, greetCallback)

npcHandler:addModule(FocusModule:new())

 

Esse será o NPC em que se compram as apostas e as trocam pelo prêmio em dinheiro.

 

Feito isso basta adicionar o NPC ao mapa e pronto!

Divirtam-se.

 

Crédito:

 

Criador: ChesterB

(outro forum)

Atenciosamente, Vilden.

lucasatak

Egoísmo?... Nunca!
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 07/05/08Posts: 120

Muito bom vilden,acabei de testar aqui no meu otsever!

 

Vaaleu!

porco.gif

 

 

voltando aos poucos.

 

 

hsb.gif

 

É CAMPEÃO CARIOCA 2010 PORRA !

Ystifler

R.suxX~*
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/06/08Posts: 66Char no Tibia: Already Master

Muito bom gostei muito disso vou por no meu otserv ;)

flamengo.png

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Que bom que gostaram..

 

~iRockStar~

 

Você poderia modificar para mim?? sou preguiçoso..

tipo modifica se quiser.. dos dois jeitos a script vai

funcionar :D, agradeço se ajudar..

 

Flws..

Atenciosamente, Vilden.

RulezKnight

\/ Mito \/
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 17/07/09Posts: 153Char no Tibia: Victorseksi

ta maneiro :), testei aqui e funfo direitinho!

 

:button_ok: Aprovado

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Que bom que gostou, essa script é muito maneira

e muito criativa, parabéns ao criador ChesterB

Atenciosamente, Vilden.

renansdc

(std::string _name (RenanSdc))
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/11/07Posts: 200

Bem legal essa script

 

Valeu Vilden por trazer ao fórum e parabéns para quem fez ela. :smile_positivo:

Abraços.

 

 

 

 

 

 

 

fanbarjj.png











Retired~ s2 all

 



 

Mesenga

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 19/10/05Posts: 145Char no Tibia: Zigfried Werewolf

gostei, simples, prático e ajuda a inovar um OT!

ESTOU "APOSENTADO DO XTIBIA" DESDE 2010. Atualmente faço Ciências da Computação na UFPE.

Agradeço à tudo e à todos, ótima comunidade.

Totalmente Reformulado - Colocando seu ot SQL online + site

dotaap7.png
herosaleatorios1ko7.gif

Crazydevil

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/09/09Posts: 2Char no Tibia: Crazydevil

Taah otimoo caraa!!

taaah no meeu ot jaah!!

HosterDaian

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/02/11Posts: 2Char no Tibia: Ragos Kaill

Ola, tenho um server de pokemon 8.54 [tfs], que "tentei" colocar o Roll System, fiz tudo certin e tals

mais eh preciso colocar o gold nugget na Slot da arrow certo? bom, no server de pokemon n existe slot algum, alem da backpack, sera que n haveria como me ajudar? colocarem para retirar os nuggets de dentro da backpack?

 

vlws ;D

othereality

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 18/01/11Posts: 343Char no Tibia: Zodriac

Testado e funcionando perfeitamente, muito legal ;)

só que alterei os valores das coisas um pouco.

não me dê rep

apenas leia abaixo

###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###

 

Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra
 players :rip:

A classe Cake Guardian tem uma magia de refletir dano

Temos Eventos próprios acontecendo todo momento

Temos várias sprites únicas do OT

 A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está  :beurk:

Temos um contato muito grande entre desenvolvedor e jogador

 Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:

Não temos sistema vip e não vamos ter

Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)

 24h  :ph34r:

 

Entre no site clicando aqui!