Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera, vou colocar aqui um script que desenvolvi para o meu servidor.

Nada mais é que uma box onde você clica e ganha um item aleatório.

 

Primeiro vamos ao código, crie um arquivo chamado misterybox.lua em actions/scripts:

local items = {2647, 2650, 2661, 2668, 2393}
local chancenada = 10

function onUse(cid, item)

if (getPlayerPremiumDays(cid) < 1) then
doPlayerSendCancel(cid, "Nao pode usar se nao for premium account.")
return true
end

if math.random(1, 100) <= chancenada then
doPlayerSendCancel(cid, "Nao veio nada.")
doRemoveItem(item.uid, 1)
return true
end

doPlayerAddItem(cid, items[math.random(1, #items)], 1)
doRemoveItem(item.uid, 1)
return true
end 

Agora explicando:

 

local items = {2647, 2650, 2661, 2668, 2393}

Os números colocados dentro do { } e separados por vírgula, são os ids dos itens que podem vir da mistery box.

Ou seja, para adicionar um item novo, você coloca uma vírgula e põe outro id. Para remover, retire um id e uma vírgula.

Ex adicionar:

local items = {2647, 2650, 2661, 2668, 2393, 2392}

Ex retirar:

local items = {2647, 2650, 2661, 2668, 2393}

Entenderam?

 

Agora vamos explicar o "chancenada"

Ali você põe um valor entre 0 e 100 que vai corresponder à chance em % de não vir nada na misterybox.

No caso está 10% de chance de não vir nada.

 

No script ela tá configurada pra ser usada só por premmium accounts, mas se quiser mudar é só retirar isso aqui:

if (getPlayerPremiumDays(cid) < 1) then
doPlayerSendCancel(cid, "Nao pode usar se nao for premium account.")
return true
end

Agora adicione em actions/actions.xml:

    <action itemid="132" script="misterybox.lua"/> 

Onde 132, é o id do item "mistery box", que é o item que você da use no jogo e ganha algum item aleatório depois.

Eu criei no meu servidor o item mistery box, editando o items.otb e colocando um item novo, mas você pode usar algum já existente e apenas editar, ou faça do jeito que achar melhor!

 

Bom galera, por agora é isso! Um abraço à todos!

[TalkAction] Comando !stamina e stamina potion.

http://www.tibiaking.com/forum/topic/38953-talkaction-stamina-recupera-stamina-e-d%C3%A1-uma-potion-de-stamina/

Krell Gaming, OTServer estará ONLINE em breve!

Training Offline

Tasks, Mounts, Addons, Outfits

Quests baú, Quests lógicas, Quests misteriosas

Mistery Box (Itens Aleatórios), Upgrade your Itens(Melhorar os atributos dos itens), Frag Remover, Monster Cards

Stamina System e Stamina Potion

Castle com sistema próprio

Área Free com variadas e equilibradas hunts.

Mapa RPG porém equilibrado às rates do servidor.

Rates Variadas (Stages que podem variar de exp alta pra baixa, não baixando sempre como a maioria)

Drop rate: variando entre 3 ou mais x

Skills e ML: 20/10

Houses apenas para premium accounts.

Premium Account = 15 reais um mês.

Aproveite!

Link para o post
Compartilhar em outros sites

Simples, mas bem bolado.

 


 

doPlayerSendCancel(cid, "Nao pode usar se nao for premium account.")

return true

 

 

 

No caso para ele não continuar a ler o script não teria que ser um return false?


if math.random(1, 100) <= chancenada then

doPlayerSendCancel(cid, "Nao veio nada.")

doRemoveItem(item.uid, 1)

return true

end

 

doPlayerAddItem(cid, items[math.random(1, #items)], 1)

doRemoveItem(item.uid, 1)

return true

end 

 

Essa parte tem o return true tbem, mas não sei .. 

E não ficaria melhor assim? (só uma dica)

 

local items = {2647, 2650, 2661, 2668, 2393}
local chancenada = 10

function onUse(cid, item)

	if (getPlayerPremiumDays(cid) >= 1) then
		if math.random(1, 100) > chancenada then
			doPlayerAddItem(cid, items[math.random(1, #items)], 1)
		else	
			doPlayerSendCancel(cid, "Nao veio nada.")
		end

		doRemoveItem(item.uid, 1)
	else
		doPlayerSendCancel(cid, "Nao pode usar se nao for premium account.")
	end

	return true
end

Mesmo assim, muito bom seu script, é bom ver alguém criando coisas novas ... 

Link para o post
Compartilhar em outros sites

Olha, pelo pouco que eu entendo o return true devolveria o valor true para a função OnUse, e acho que daria na mesma do return false. A diferença no caso é que executaria a ação onuse mas não teria nenhuma ação no jogo, e no false não daria ação OnUse, aí acho que apareceria (You cannot use this object) ou até mesmo nada, então como a true funcionou eu resolvi deixar assim mesmo hahahaha

Bom você ajudou a dar uma simplificada boa no script, é que como eu não queria me enrolar muito nos else ifs, acabei fazendo com ações progressivas, onde tem uma condição universal, se ela for falsa checa a próxima, ou seja, eu faço por método de exclusão, pra mim fica mais simples de entender sabe? Mas é doidera minha, talvez fique até melhor mais compacto como você postou é que é o meu jeitinho de fazer! Hahahaha

Bom, valeu pelo feedback mano, fico feliz! To aqui pensando pra caramba e bolando umas coisas novas pro meu servidor, o que eu não acho aqui no fórum eu acabo criando e divido aqui com vocês :D

Abraços man!

[TalkAction] Comando !stamina e stamina potion.

http://www.tibiaking.com/forum/topic/38953-talkaction-stamina-recupera-stamina-e-d%C3%A1-uma-potion-de-stamina/

Krell Gaming, OTServer estará ONLINE em breve!

Training Offline

Tasks, Mounts, Addons, Outfits

Quests baú, Quests lógicas, Quests misteriosas

Mistery Box (Itens Aleatórios), Upgrade your Itens(Melhorar os atributos dos itens), Frag Remover, Monster Cards

Stamina System e Stamina Potion

Castle com sistema próprio

Área Free com variadas e equilibradas hunts.

Mapa RPG porém equilibrado às rates do servidor.

Rates Variadas (Stages que podem variar de exp alta pra baixa, não baixando sempre como a maioria)

Drop rate: variando entre 3 ou mais x

Skills e ML: 20/10

Houses apenas para premium accounts.

Premium Account = 15 reais um mês.

Aproveite!

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo