Ir para conteúdo
  • Cadastre-se

[Sistema 0.3.6 - 8.54] Chuva Editado por LeoTK & NightWolf


Posts Recomendados

Ficou perfeito esse rain system, parabéns pelo código!! Gostei mesmo, espero ver mais scripts seus daqui pra frente, você é o cara mesmo!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart obrigado vod bom eu sempre tenho ajuda kkk e foi só uma modificação no script ali e outra aqui ^^ mesmo assim valeu xD

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
21 horas atrás, LeoTK disse:

Salve galera bom tinha uns membros do fórum atrás do sistema de chuva porém estava confuso e totalmente configuravel apenas por math.random então com ajuda do @xWhiteWolf agora o script esta totalmente sem math.random e eu detalhei tudo dentro do script como configurar etc...

 

tópico original

 

Aviso 1º: Mude a tag do globalevents.xml para interval=1

Aviso 2º: Todas as explicações estão dentro do script basta ler

 

Vídeo demonstrativo

 

 

 

Vamos as modificações basicamente substitua o arquivo que fica em data/globalevents/scripts/rain.lua abra ele e cole esse código dentro
 

  Mostrar conteúdo oculto

 



---[[ RETIRADO O MATH.RANDOM BY LEOTK & NIGHTWOLF
-- minX e Y : Pegar a posição lado esquerda, cima
-- maxX e Y : Pegar a posição lado direito, baixo
-- Effects : Configurar o id dos efeitos distance e o pingo caindo e o effect e o pingo ao ter contato com uma superficie
-- Chuva de neve esta desativado para ativar basta remover os comentários
-- Retirado a função de criar poça de água também para ativar basta retirar o comentário
-- rain.chance : Quanto maior mais chuva quanto menor menos chuva
-- rain:start : os dois ultimos números configuraveis só ir testando vai mudar a quantidade da chuva e a força também
---]]

local rain = Rain:new()
 
function onThink(interval, lastExecution)
    local minX = 1024
    local minY = 1249
    local maxX = 1042
    local maxY = 1260
	
local frompos = {x=minX, y=minY, z=7}
local topos = {x=maxX, y=maxY, z=7}
 
    local effects = {
        snow = {
            disteffect = 150,
            effect = 254
        },
        rain = {
            disteffect = 185,
            effect = 131
 
        }
    }

		--rain.chance = math.random(10,50)
		--rain:start({fromPos = frompos, toPos = topos}, effects.snow, 300, math.random(100, 500))
	--else
		rain.chance = 650
		--rain.createItem = {chance = math.random(0,10), item = {itemid = 2016, type = 1}}
		rain:start({fromPos = frompos, toPos = topos}, effects.rain, 100, 100)
	return TRUE
end

 

 

 

 

Aproveitando fiz uma modificação na direção que a chuva cai caso quiser a modificação vá em data/globalevents/scripts/lib e abra o arquivo rain.lua e substitua tudo que tiver lá por esse código
 

  Mostrar conteúdo oculto

 



-- Features:
	-- chance = OBJECT.chance = INT
	-- createItem = OBJECT.createItem = {chance = INT, item = {itemid = INT, type = INT}}

---[[ EDITANDO O LADO DA CHUVA BY LEOTK
-- possivel editar o lado que a chuva vem alterando o +3 e -7
-- 	doSendDistanceShoot({x = position.x + 3, y = position.y - 7, z = Z}, {x = position.x, y = position.y, z = Z}, disteffect)
---]] 
 
Rain = {ignoreIds = {4526}}
 
function Rain:new()
    local obj = {}
    setmetatable(obj, self)
    self.__index = self
	return obj
end
function Rain:getPositionInArea(fromPos, toPos)
	self.positions = {}
	for Y = fromPos.y, toPos.y do
		for X = fromPos.x, toPos.x do
			if (getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid ~= 0) then
				if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid)), "water")) then
					table.insert(self.positions, {x=X, y=Y, z=Z})
				end
			end
		end
	end
	return true
end
 
function Rain:doRain(position, disteffect, effect)
	if (self.duraction ~= self.executed) then
		local chance = self.chance or 100
		if (math.random(0, 1000) <= chance) then
			for Z = 0, 7 do
				if (getTileThingByPos(({x = position.x, y = position.y, z = Z})).itemid ~= 0) then
					doSendDistanceShoot({x = position.x + 3, y = position.y - 7, z = Z}, {x = position.x, y = position.y, z = Z}, disteffect)
					doSendMagicEffect({x = position.x, y = position.y, z = Z}, effect)
					if (self.createItem) then
						if (math.random(0, 1000) <= self.createItem.chance) then
							if (isInArray(self.ignoreIds, getTileThingByPos({x=X, y=Y, z=Z, stackpos=0}).itemid) == FALSE) then
								local item = doCreateItem(self.createItem.item.itemid, self.createItem.item.type, {x=position.x, y=position.y, z=Z})
								doDecayItem(item)
							end
						end
					end
					break
				end
			end
		end
		return true
	else
		return false
	end
end
 
function Rain:start(positions, effects, duraction, delay, var)
	self:getPositionInArea(positions.fromPos, positions.toPos)
	if not (self.positions[1]) then
		return false
	end
	self.delay = delay
	self.var = var or self
	self.effects = effects
	self.duraction = duraction
	self.executed = 0
	addEvent(doCallback, self.delay, {var=self.var})
	return true
end
 
function doCallback(p)
	for _, v in pairs(p.var.positions) do
		if not (p.var:doRain(v, p.var.effects.disteffect, p.var.effects.effect)) then
			return true
		end
	end
	addEvent(doCallback, p.var.delay, {var=p.var})
	p.var.executed = p.var.executed+1
end

 

 

 

 

 

Créditos:

@Guilherme.

@xWhiteWolf

@LeoTK

Elexonic (Otland)

 

Testei em 3 poketibias, Aconteceu nada. .-. 

                                                                             1535210279_tumblr_o9b6yoxM1Z1tco8kto1_500(3).gif.f527686e19da738322c39555244decac.gif

                                                             Meus tópicos         

                                                         Se ajudei você deixe seu Rep! para fortalecer a amizade ^^

                                                                              Vamos ajudar o fórum a crescer mais.

                                                                          1641206641_gif-escudo-fla-3d(1).gif.a5d3c0c24824d5272a181aa91c5eda0c.gif

                                                                                                Mengão porra! . .

                                                                     tumblr_oxm8eriUeU1sqwgnro2_400.gif.22e347b2fc58fdfd88dbf84f4bdaa1bc.gif

                                                                                ----- NPC que vende informação -----

                                                                           -----Baú Que dá Outfit se tiver Level -----

                                                                     ----- [Npc] Que vende Stones (itens) por diamonds -----

 

 

                                                                       

                       

Link para o post
Compartilhar em outros sites

@Ayron5 o que eu fiz foi uma modificação vai no tópico original e instala e depois substitui os que eu editei

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
  • Moderador

Cara tu é cabeça dura demais kkk, parabéns funcionou direitinho !

function onLove()
if getPlayerTrueLove(girlfriend) then
doPlayerBeHappy(cid, true)
doRemoveVirginity(cid, true)
else
doSendCancel(cid,"you do not know how good it feels to be loved")
end end

;)

 

Link para o post
Compartilhar em outros sites

@Radamanthys Wov claro apenas coloque a posição minX e minY seria a posição <<< /\ esquerda cima e a maxX e maxY seria a posição >>> \/ direita baixo

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo