Ir para conteúdo

Featured Replies

Postado

Seguinte,

 

Tenho um script no meu servidor que transforma o item Belongings of a Deceased ao ser usado por um dos 11 itens que esta no script. Eu gostaria de aumentar a chance de alguns e diminuir a de outros para que um item seja mais dificil de ser conseguido ao clicar.

 

Segue script:

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

presente = math.random(1,11)
pos = getPlayerPosition(cid)

if presente == 1 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2237,1)
doRemoveItem(item.uid,1)

elseif presente == 2 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2232,1)
doRemoveItem(item.uid,1)

elseif presente == 3 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,6577,1)
doRemoveItem(item.uid,1)

elseif presente == 4 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2220,1)
doRemoveItem(item.uid,1)

elseif presente == 5 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2227,1)
doRemoveItem(item.uid,1)

elseif presente == 6 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,5894,1)
doRemoveItem(item.uid,1)

elseif presente == 7 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,13508,1)
doRemoveItem(item.uid,1)

elseif presente == 8 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,13926,1)
doRemoveItem(item.uid,1)

elseif presente == 9 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,13925,1)
doRemoveItem(item.uid,1)

elseif presente == 10 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,5879,1)
doRemoveItem(item.uid,1)

elseif presente == 11 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2114,1)
doRemoveItem(item.uid,1)
end

return 1
end

 

Eu tentei adicionar mais linhas tipo:

elseif presente == 12 then
doSendMagicEffect(pos,27)
doPlayerAddItem(cid,2237,1)
doRemoveItem(item.uid,1)
end

 

E mudar o random

presente = math.random(1,11)

presente = math.random(1,12)

 

Porem ele da erro de item duplicado pelo ID, ou seja não consigo adicionar um mesmo item como se ele tivesse duas chances de ser escolhido.

Se alguém puder me ajudar a melhorar esse script colocando chance de cada um ser escolhido eu agradeço.

Postado

Ao meu ver (não sou expert em script) seu script não tem uma linha que indique a probabilidade de chance pra tirar algum item.

17 minutos atrás, Beryzinho disse:

presente = math.random(1,11)

Nessa linha simplesmente diz que os items do 1 ao 11 serão randomicamente escolhidos, então se no caso você quiser colocar mais de 11 itens, você precisa colocar o último número do último item no lugar desse 11

Postado

Cara, olhando esse seu script me deu dor de cabeça. Tenta utilizar esse script, e edite as chances por você mesmo, não sei a probabilidade dos items de serem raros ou não.

 

local config = {
	{from = 1, to = 100, itemId = 2237},
	{from = 101, to = 200, itemId = 2232},
	{from = 201, to = 300, itemId = 6577},
	{from = 301, to = 400, itemId = 2220},
	{from = 401, to = 500, itemId = 2227},
	{from = 501, to = 600, itemId = 5894},
	{from = 601, to = 700, itemId = 13508},
	{from = 701, to = 800, itemId = 13926},
	{from = 801, to = 900, itemId = 13925},
	{from = 901, to = 1000, itemId = 5879},
	{from = 1001, to = 1100, itemId = 2114}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local chance, randomItem = math.random(1100)
	for i = 1, #config do
		randomItem = config[i]
		if chance >= randomItem.from and chance <= randomItem.to then
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_CRAPS)
			doPlayerAddItem(cid, randomItem.itemId, 1)
			doRemoveItem(item.uid,1)
			break
		end
	end
	return true
end

 

Postado
  • Autor
7 horas atrás, vankk disse:

Cara, olhando esse seu script me deu dor de cabeça. Tenta utilizar esse script, e edite as chances por você mesmo, não sei a probabilidade dos items de serem raros ou não.

 


local config = {
	{from = 1, to = 100, itemId = 2237},
	{from = 101, to = 200, itemId = 2232},
	{from = 201, to = 300, itemId = 6577},
	{from = 301, to = 400, itemId = 2220},
	{from = 401, to = 500, itemId = 2227},
	{from = 501, to = 600, itemId = 5894},
	{from = 601, to = 700, itemId = 13508},
	{from = 701, to = 800, itemId = 13926},
	{from = 801, to = 900, itemId = 13925},
	{from = 901, to = 1000, itemId = 5879},
	{from = 1001, to = 1100, itemId = 2114}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local chance, randomItem = math.random(1100)
	for i = 1, #config do
		randomItem = config[i]
		if chance >= randomItem.from and chance <= randomItem.to then
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_CRAPS)
			doPlayerAddItem(cid, randomItem.itemId, 1)
			doRemoveItem(item.uid,1)
			break
		end
	end
	return true
end

 

 

Obrigado Vankk ficou muito mais simples.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo