Ir para conteúdo

[Talkaction] Tente A Sorte


Demonbholder

Posts Recomendados

Oi galera, vim trazer para vocês mais uma talkaction meio inútil, mas espero que vocês gostem, ela funciona da seguinte maneira, se você tiver 500k, e usar a talkaction, esse dinheiro vai ser removido, e você ira tentar a sorte, sendo que suas chances são essas:

 

40% de ganhar algum item;
10% de sumonar um ghazbaran que irá te atacar;
50% de não acontecer nada.

 

É claro que o ghazbaran só irá ser sumonado se você estiver em area não protect zone. Certo, para adicionar o script, vá em data/talkaction/scripts, crie um arquivo .lua e cole isto nele:

 

function onSay(cid, words, param)

if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário

local random = math.random(1, 10)

if (isInArray({1, 2, 3, 4, 5}, random)) then
doPlayerSendTextMessage(cid, 22, "Desculpe, não foi dessa fez, tente novamente.")

elseif random == 6 then
doPlayerAddItem(cid, 2160, 100)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou 500k")

elseif random == 7 then
doPlayerAddItem(cid, 2471, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou um golden helmet")

elseif random == 8 then
doPlayerAddItem(cid, 2469, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma dragon scale legs")

elseif random == 9 then
doPlayerAddItem(cid, 2646, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma golden boots")

elseif random == 10 and getTilePzInfo(getCreaturePosition(cid)) == FALSE then
doCreateMonster('ghazbaran', getCreaturePosition(cid))

end
end
return doPlayerSendCancel(cid, "Você não tem dinheiro suficiente")
end

 

Versão dois (sem ghazbaran), suas chances vão ser:

 

40% de ganhar algum item;
60% de não acontecer nada.

 

O script da versão dois fica assim:

 

function onSay(cid, words, param)

if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário

local random = math.random(1, 10)

if (isInArray({1, 2, 3, 4, 5, 10}, random)) then
doPlayerSendTextMessage(cid, 22, "Desculpe, não foi dessa fez, tente novamente.")

elseif random == 6 then
doPlayerAddItem(cid, 2160, 100)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou 500k")

elseif random == 7 then
doPlayerAddItem(cid, 2471, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou um golden helmet")

elseif random == 8 then
doPlayerAddItem(cid, 2469, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma dragon scale legs")

elseif random == 9 then
doPlayerAddItem(cid, 2646, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou uma golden boots")

end
end
return doPlayerSendCancel(cid, "Você não tem dinheiro suficiente")
end

 

Depois vá em data/talkactions, abra o arquivo talkactions.xml e cole, entre as tags para players, a seguinte tag:

 

<talkaction words="palavras" event="script" value="nome_do_arquivo.lua"/>

 

Onde words="" são as palavras para ativar a talkactions e value="" é o nome do arquivo .lua que você criou para colar o script acima

 

Script testado em Thyrania 8.5, espero que gostem, valeu.

Editado por Demonbholder
Link para o comentário
Compartilhar em outros sites

magina vc lá de boa,compra o item da sorte no npc,ai chega ali na frente do dp,opa vamo ve que item eu vo ganha vamos ver... PORRA UM GHAZBARAN,AI SE ELE TIVER SEM AOL PERDE OS ITEMS e além disso mata todos os amigo/pessoas low level que tiver ali pela cidade uiHSUIHUISHiuHSUIhsUIHuishsuishUIUI

sinitro irmao

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

cara achei as duas versões muito legais, embora haja o problema de causa desordem em frent ao dp caso um ghaz seja criado é também um script bem útil para deixar o ot mais dinâmico, só me fala uma coisinha fera tem como tu por esse script como um item a ser usado em vez de talk actiion? desd ja agradesço!!.. ;s

Link para o comentário
Compartilhar em outros sites

Ser usado e sumir ou que o jogador só possa usar uma vez mesmo?

 

ai demonbholder queria pedir a msm coisa que o cara la, tipo, vc da use num item(ex:maquina de cassino) e ganha dinheiro

ou nao ganha nada, mais o item continua la, seria tipo um item de mapa.(estatua)

Link para o comentário
Compartilhar em outros sites

@Sazu

 

É para remover o dinheiro do jogador? Se for tente:

 

function onUse(cid, item)

if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário

local random = math.random(1, 10)
local chance = {
[1] = {id = 2160, quant = 100, message = "Parabéns, você ganhou 500k."},
[2] = {id = 2471, quant = 1, message = "Parabéns, você ganhou um golden helmet."},
[3] = {id = 2469, quant = 1, message = "Parabéns, você ganhou uma dragon scale legs."},
[4] = {id = 2646, quant = 1, message = "Parabéns, você ganhou uma golden boots."},
}

for ite, res in pairs(chance) do
if ite == random then
doPlayerSendTextMessage(cid, 22, chance[random].message)
doPlayerAddItem(cid, chance[random].id, chance[random].quant)
break
end
end
end

return TRUE
end

 

No caso acima há 4 chances de vir itens, se quiser aumentar ou diminuir esses itens, edite a tabela chance logo acima, onde o numero entre colchetes deve ser de 1 a 10. A cada número que tu adicionar vai aumentar a chance.

 

Caso não queira que o dinheiro seja removido, retire estas linhas:

 

if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário

 

e

 

retire qualquer end ACIMA do return TRUE.

 

Até mais.

Link para o comentário
Compartilhar em outros sites

-----EDITED---

 

funciono certin :D vlws

 

dps do rep usei meu hj ja :s

 

 

tipo, tem como eu botar % em cada item assim:

10% = golden helmet

30% = demon helmet

50% = royal helmet

20% = magic sword

 

fazer cada item ter sua chance de vir em vez de randon?

Editado por Sazu
Link para o comentário
Compartilhar em outros sites

tipo, sim tem chance de nao vir ficando assim +/-

 

40% crystal coin

20% magic sword

10% soft boots

30% nothing

________________________________________________

 

e demonbholder queria pedir que vc coloca-se exasthed de 2segs :s

Link para o comentário
Compartilhar em outros sites

Feito:

 

function onSay(cid, item)

if getPlayerStorageValue(cid, 30047) - os.time() <= 0 then
if doPlayerRemoveMoney(cid, 500) == TRUE then -- dinheiro necessário

local random = math.random(1, 10)
local chance = {
{id = 2160, quant = 1, message = "Parabéns, você ganhou uma crystal coin.", mat = {1,2,3,4}},
{id = 2400, quant = 1, message = "Parabéns, você ganhou uma magic sword.", mat = {5,6}},
{id = 2640, quant = 1, message = "Parabéns, você ganhou uma soft boots.", mat = {7}},
}

for ite, res in pairs(chance) do
if table.find(chance[ite].mat, random) then
doPlayerSendTextMessage(cid, 22, chance[ite].message)
doPlayerAddItem(cid, chance[ite].id, chance[ite].quant)
setPlayerStorageValue(cid, 30047, 2 + os.time())
break
end
end
end
end

return TRUE
end

 

Da uma testada ai, eu testei mas editei bastante o script depois.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...