Rain System

TeteuziiN
em Scripts

TeteuziiN

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/07/12Posts: 59Char no Tibia: TeteuziN

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.

GstvoLiber

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/03/14Posts: 64

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

 

-GstavoLiber

GstvoLiber

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/03/14Posts: 64

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

TeteuziiN

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/07/12Posts: 59Char no Tibia: TeteuziN

Vou testar aqui. qualquer coisa edito.

Vlw msm

GstvoLiber

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/03/14Posts: 64

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

TeteuziiN

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/07/12Posts: 59Char no Tibia: TeteuziN

Sim,Funcionou Certinho,Vlw :)

GstvoLiber

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/03/14Posts: 64

Isso ai. Podem fechar o tópico.

 

Pedido Entregue. button_ok.png

Creatserv

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 15/02/14Posts: 106

Otimo funcionar 8.54


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

DuuhCarvalho

:)
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/12Posts: 988Gênero: MasculinoChar no Tibia: Xerife Woody

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