TE
pedido

Rain System

Por TeteuziiN, 10 de abr. de 2014 em Scripts

10
2.7k
TeteuziiNT
10 de abril de 2014 às 15:15

Olá,Bom vou direto ao pedido.

Eu quero um systema de Chuva, de hora em hora ira chover no server,Mas quero que chova penas no andar 7,para nao causar lags,tbm quero q dentro do pz nao chova.Quero q formem umas poças de agua no chao e tals, (Efeitos Configuraveis)

Sei que ja tem systemas de rain no Forum,mas um causa muito lag e o outro chove no pz.

Servidor: 8.6

TFS 0.4

Desculpe o Incomodo.

GstvoLiberG
10 de abril de 2014 às 15:17

Me manda o link desse que chove no PZ, esse é o mais perto do que você quer, só precisa modificar umas coisas.

 

-GstavoLiber

TeteuziiNT
10 de abril de 2014 às 15:21

Oppa, ta ae
http://www.xtibia.com/forum/topic/210375-hot-sistema-de-chuva-beta/

Editado Abril 10 por TeteuziiN

GstvoLiberG
11 de abril de 2014 às 12:03

Bom, modifiquei um pouco, agora, pelo menos, só vai funcionar se, o player não estiver em um protection zone. Aos poucos vou mechendo e tentando resolver para não cair os efeitos em pz. Já tenho a idéia, só me falta tempo. Ah, também agora só chove no andar 7.

@EDIT

local Cyko = {
interval = 1000, --1000Recommended. But here you decide until it starts raining as hell!
waterid = {4608, 4609, 4610, 4611, 4612}
}


function Rain(cid)
         if getStorage(3000) == 1 then
            for _, cid in ipairs(getPlayersOnline()) do
                if isCreature(cid) then
                   if getThingPos(cid).z == 7 then
                      local pos = getThingPos(cid)
                      local frompos = getThingPos(cid)
                      pos.x = pos.x + math.random(-9,9)
                      pos.y = pos.y + math.random(-9,9)
                      frompos.x = pos.x - 9
                      frompos.y = pos.y - 9  
                                for i = 1,#Cyko.waterid do
                                    if getTileItemById(pos, Cyko.waterid[i]).uid > 0 then
                                       doSendMagicEffect(pos,CONST_ME_WATERSPLASH)
                                       else
                                       if getTileInfo(frompos).protection == false or 

getTileInfo(pos).protection == false then
									      

doSendDistanceShoot(frompos, pos, CONST_ANI_ICE)
									      else
									   end
									   if

(getTileInfo(pos).protection == false and getTileInfo(pos).protection == false)then
                                          doSendMagicEffect(pos,CONST_ME_LOSEENERGY)
                                          else
			                           end
                                    end
                                end
                 end
               end
            end
         end
end

function isUnderRoof(cid)
--We need to figure this out!
end


function onThink(interval, lastExecution)
if getStorage(3000) == 1 then
for _, cid in ipairs(getPlayersOnline()) do
if getThingPos(cid).z == 7 then
for i = 1, 5 do
addEvent(Rain, i*Cyko.interval, cid)
end
end
end
end
return true
end

Agora sim, está certinho. Veja, o efeito que parece que está caindo dentro de templo, ou de houses, é só uma má interpretação do nosso cérebro. Pois, ela está caindo na diagonal, e o lugar que ela cai e sempre onde tem o efeito de rings. veja o exemplo:

 

ZHgg9KL.jpg

 

Outro exemplo:

VlbDiS3.jpg

Portanto, não chove mais dentro de PZ. Agora só preciso aprimorar para não chover onde tiver telhado ou outro andar em cima. Já tenho a idéia também, porém, sem tempo hoje. gastei td meu tempo pra te ajudar rsrsrs.. fica pra próxima.

Se possível +REP

-GstavoLiber

Editado Abril 11 por GstavoLiber

TeteuziiNT
11 de abril de 2014 às 13:21

Vou testar aqui. qualquer coisa edito.

Vlw msm

GstvoLiberG
11 de abril de 2014 às 13:26

Diminui o tempo de intervalo na linha do .xml :

<globalevent name="Rain" interval="1000" event="script" value="rain.lua"/>
<globalevent name="RainTime" interval="36000" event="script" value="raintime.lua"/>

para:

<globalevent name="Rain" interval="200" event="script" value="rain.lua"/>
<globalevent name="RainTime" interval="1000" event="script" value="raintime.lua"/>

Assim você consegue ver melhor.

 

-GstavoLiber

TeteuziiNT
11 de abril de 2014 às 16:33

Sim,Funcionou Certinho,Vlw :)

GstvoLiberG
11 de abril de 2014 às 16:35

Isso ai. Podem fechar o tópico.

 

Pedido Entregue. button_ok.png

CreatservC
11 de abril de 2014 às 17:34

Otimo funcionar 8.54


e no meu server tem efeito da chuva onde eu coloko pode dizer

3 semanas depois...
29 de abril de 2014 às 01:18

Tópico movido para Pedidos e dúvidas resolvidos.