Ir para conteúdo

Featured Replies

Resolvido por Mor3nao

Ir para solução
  • Respostas 17
  • Visualizações 752
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Cara vou te passar um código que fiz pra 0.4, deve funcionar pra 0.36 também: código lua:   local config = {    itemid = 1451,    itemid2 = 1451,    itemid3 = 1451,    pos = {x=718, y

  • Tenta agora, se nao der, nao sei kk   Agora vai: local config = { [1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1}, [2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2}, [

Postado

Cara vou te passar um código que fiz pra 0.4, deve funcionar pra 0.36 também:
código lua:
 

local config = {
   itemid = 1451,
   itemid2 = 1451,
   itemid3 = 1451,
   pos = {x=718, y=1534, z=10},
   pos2 = {x= 107, y=1507, z=8},
   pos3 = {x= 111, y=1507, z=8},
   chance = 50
 }


function onTime(interval)
  if config.chance >= math.random(1, 100) then
        doBroadcastMessage("Os items X Y Z foram spawnados!") --- Caso queira que mande uma mensagem pra todos players online, ja deixei pronto.
        doCreateItem(config.itemid, 1, config.pos)
        doCreateItem(config.itemid1, 1, config.pos2)
        doCreateItem(config.itemid2, 1, config.pos3)
  end
return true
end

tag no xml:
<globalevent name="nomedoevento" time="04:05:00" event="script" value="nomedoarquivo.lua"/>

Postado
  • Autor

Opa, obrigado amigo, poderia em ajudar para que os itens não fosse stackeis, só respawnasse quando o item sumisse do local q foi respawnado?

 

Codigo:

 

local fromx = 32369 -- posiçao x superior a esquerda da area que sera analisada
local tox = 32370 -- posiçao x inferior a direita da area que sera analisada
local fromy = 32229 -- posiçao y superior a esquerda da area que sera analisada
local toy = 32231 -- posiçao y inferior a direita da area que sera analisada
local floor = 7 -- posição z referece ao andar que criara o item


-- Inicio e Fim devem ser 0, pois serão preenchidos de acordo com sua chance,
-- e se você preencher não fará diferença pois o valor será modificado mesmo assim :D
-- Quanto maior o número em "Chance" maior será a probabilidade de ser o item escolhido

local Itens = 
{	
	{Item = 2160, Chance = 60, Inicio = 0, Fim = 0}, 
	{Item = 2161, Chance = 30, Inicio = 0, Fim = 0},
	{Item = 2164, Chance = 10, Inicio = 0, Fim = 0}
}

function onThink(cid, interval, lastExecution)
	
	local pos = {x= math.random(fromx, tox), y=math.random(fromy, toy), z=floor}
	local ItemSpawn = RetornarItemRandom()
	
	
	if ItemSpawn > 0 then
		if doCreateItem(ItemSpawn, 1, pos) == true then
			return true
		end
	end
	
    return true
end

function RetornarItemRandom()
	
	local Num = 0
	
	-- Adicionar probabilidades
	for i = 1, #Itens do
		Itens[i].Inicio = Num
		Num = ((Num + Itens[i].Chance) - 1)
		Itens[i].Fim = Num
	end
	
	-- Criar a chance
	local Math = math.random(0, Num)
	
	-- Retornar item
	for i = 1, #Itens do
		
		if Itens[i].Inicio <= Math and Itens[i].Fim >= Math then
			return Itens[i].Item
		end
		
	end
	
	return 0
end

 

Postado

Fiz uma bagunça aqui kk mas acho q dá pra entender, mexe só nas config, e cuidado com as virgulas =]

no fim vai ficar assim:

[1] = { 7730, 1125, 6574, 2, 4, 20 }

No caso, teria 20% de chance, de spawnar 4 blue legs(7730), na posição xyz=(1125, 6574, 2)

 

ps: a chance é um numero entre 0 e 100

local config = {
[1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1},
[2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2},
[3] = {3333, POSX3, POSY3, POSZ3, QUANTIDADEITEM3, CHANCE3}
}

function onTime(interval)
local item1 = config[1]
local item2 = config[2]
local item3 = config[3]
local rand = math.random(100)

        local item1Pos = Position((item1[2]), (item1[3]), item1[4])
        local Checkitem1 = Tile(item1Pos):getItemById(item1[1])
if Checkitem1 == 0 and item1[6] >= rand then
     doCreateItem(item1[1], item1[5], item1Pos)
end    

        local item2Pos = Position((item2[2]), (item2[3]), item2[4])
        local Checkitem2 = Tile(item2Pos):getItemById(item2[1])
if Checkitem2 == 0 and item2[6] >= rand then
     doCreateItem(item2[1], item2[5], item2Pos)
end    

        local item3Pos = Position((item3[2]), (item3[3]), item3[4])
        local Checkitem3 = Tile(item3Pos):getItemById(item3[1])
if Checkitem3 == 0 and item3[6] >= rand then
     doCreateItem(item3[1], item3[5], item3Pos)
end    

return true
end

 

Editado por Mor3nao (veja o histórico de edições)

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

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