[TUT] Criando um Simples Streamer..
#1

[TUT] Criando Simples Streamer

Olб a Todos Primeiramente vou fazer um Breve introduзгo de como Criar um Simples Sistema de Streamer neste Tutorial vamos nos Basear em Objetos espero que gostem..

Resumindo:

Streamer mais conhecido como Stream sгo o que colocam em Jogos normalmente usados para Carregarem quando um player chega perto do Local para pesar Menos o Jogo e nгo ter que Rodar vбrios Objetos de uma Ъnica vez, entгo aparecendo o que foi usado no Streamer..

Porque:

Bom Atualmente a Versгo mais usada 0.3a tem um Limite de Objetos de '200' esse Limite nгo й bom para quem tem Servidor que Ocupam bastante Objetos,Arenas,Stunts ou atй Drift e outros.
Por Padrгo esses objetos Sгo criados idependente se O Player estб em Los Santos e O Objeto esta em San Fiero, por isso foi criado e tiveram e idйia de criar o Streamer que й Praticamente vбrias Arrays Floats (Nъmeros Decimais) para Armazenar as Coordenadas dos Objetos,assim checando, quando o player chegasse perto de um Tal Ponto o Objeto й Criado,caso contrбrio destruido,assim nunca fazendo '200' objetos de uma vez sу, e sim Ultilizando a Tйcnica de Stream que eu Falei Acima..

Cуdigos:
Bom Primeiramente coloquem ao Topo de Seu Projeto:
pawn Код:
#define ATUALIZAR_OBJETOS 800
#define DISTANCIA 100 //-- Distancia para Cria-los
forward ChecarObjetos();
forward AtualizarObjetos();
EXPLICAЗГO:
ATUALIZAR_OBJETOS 800 -> Tempo para Atualizar & Checar Objetos (Milisegundos)
forward -> Definir Public Responsбvel pela Criaзгo dos Objetos

Agora Logo em OnFilterScriptInit/GameModeInit:
pawn Код:
SetTimer("ChecarObjetos",ATUALIZAR_OBJETOS,true);
EXPLICAЗГO:
SetTimer -> Inicia Tempo para Atualizar & Checar Objetos (Milisegundos)
ChecarObjetos -> Public Responsбvel pela Criaзгo dos Objetos
true -> Indica que O Timer Deve se Repetir
ATUALIZAR_OBJETOS -> Indica que O Timer Deve repetir-se a cada 800 Seg (Definido Anteriormente)

Vamos Definir a Array do Objeto:

pawn Код:
new object;
Finalmente vamos a Public Mais importante de Todas a que checarб e Realizarб a Criaзгo dos Objetos:
Final de Seu Projeto:
pawn Код:
public AtualizarObjetos()
{
    for(new all = 0; all <= MAX_PLAYERS; ++ all)
    {
        if(IsPlayerConnected(all))
        {
            if(PlayerToPoint(DISTANCIA,all,2001.195679,1547.113892,14.283400)) return object = CreatePlayerObject( all, 2587, 2001.195679, 1547.113892, 14.283400, 0, 0, 96 );
            DestroyPlayerObject(all,object );
        }
    }
    return 1;
}
Final do Projeto a Funзгo que Calcula as Distancias:
pawn Код:
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
    {
         new Float:oldposx, Float:oldposy, Float:oldposz;
         new Float:tempposx, Float:tempposy, Float:tempposz;
         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
         tempposx = (oldposx -x);
         tempposy = (oldposy -y);
         tempposz = (oldposz -z);
         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
         {
             return 1;
         }
     }
     return 0;
}
TERMINANDO A EXPLICAЗГO:
stock PlayerToPoint = Essa funзгo serб a que calcularб a Distancia entre o Player e O Objeto
for(new all = 0;... Este Serб o Loop que pegara Todos o Nъmeros de Slots Possiveis
if(IsPlayerConnected(all)) = Essa funзгo verifica os Player conectados para nгo criar Objetos para Player Inexistente,Evitando de Lagar o Server..

if(PlayerToPoint(DISTANCIA,all,2001.195679,1547.11 3892,14.283400)) return object = CreatePlayerObject( all, 2587, 2001.195679, 1547.113892, 14.283400, 0, 0, 96 );
DestroyPlayerObject(all,object );



Esse Cуdigo verifica se o Player esta perto do Objeto,Caso estiver Perto Retorna Criando Objeto,Caso esta Longe Destroi Objeto..

FIM

Se ainda tiverem dъvidas de como Criar vбrios Objetos sem precisar tudo Isso,nгo excite em pedir
Reply
#2

Quote:
Originally Posted by DraKoN
Посмотреть сообщение
Tutorial Ainda Inacabado daqui 20 Minutos Termino Ele,Surgiu um Imprevisto,rs.
sera que sequestraram o drakon ?
sera que mataram ele ?
sera que a mulher dele estб em trabalho de parto ?
sera que ele ta dando o ** ?
oq sera que ele estб fazendo?
Reply
#3

@Canabis
Pede pra sua Mгe ¬¬
Brinkz \HUAUHUHSUHA =d
Fui jantar...
Dai assistir um Partida do Futebol que estava dando
Bater umas Coisas
e VOLTEI
Reply
#4

Quote:
Originally Posted by DraKoN
Посмотреть сообщение
@Canabis
Pede pra sua Mгe ¬¬
Brinkz \HUAUHUHSUHA =d
Fui jantar...
Dai assistir um Partida do Futebol que estava dando
Bater umas Coisas
e VOLTEI
sauhsauash!!!
mais termina o tutu ai eu quero ver como vai fica esse negocio ae
Reply
#5

Putz й que agora deu preguiзa -q
Reply
#6

Preciso de um streamer bom porquк o meu server й um RP num mapa criado. Ou seja - Preciso de um Streamer rбpido e com um bom DrawDistance. Sabe como fazer um, tio DraKoN?
Reply
#7

usa o midostream lelete....

tem 1 plugin streamer... que o drakon disse ser bom...

mas sei la =/
Reply
#8

esses 20 minutos estб sendo os mais longo da minha vida!
Reply
#9

@[GangstA]Kasura
Sim O Mido й um Bom Streamer apesar de ser a mesma coisa que eu postei ai, eu aconselho Streamer ou xStreamer, eu uso xStreamer pelo fato de quase nгo ser usado, e o Autor nгo libero mais,eu tenho ele pra Download + TUTO, UP

@higoroliveira22
Sim eu lembro

"Ok Higor vocк me ensina a fazer tutorial e eu te ensino como pegar tua namorada de jeito como eu faзo"
"Ok,mais me mostra direitin"

huusahsa To ZuanDo =D

@LeLeTe
A Versгo 0.3b ja esta disponнvel com o DrawDistance Configurбvel,caso nгo consiga tente fazer a Base de meu Tutorial, sу que colocando Todos Objetos em uma Ъnica Array com Valores Decimais (FLOAT)
pawn Код:
new Float:Objetos[][] =
{
}
Ou Atй Mesmo em uma Array com a Constante equivalente a dos Objetos

pawn Код:
new Objetos[5];
5 = Nъmero Objetos
Reply
#10

Tio DraKoN aui da esses erro

Код:
G:\TUGA VL\gamemodes\tvl.pwn(469) : error 031: unknown directive
G:\TUGA VL\gamemodes\tvl.pwn(78318) : warning 235: public function lacks forward declaration (symbol "AtualizarObjetos")
G:\TUGA VL\gamemodes\tvl.pwn(78324) : error 017: undefined symbol "DISTANCIA"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
no tuto falta isso dae
pawn Код:
forward AtualizarObjetos();
e da erro nisso
pawn Код:
#DISTANCIA 100
mas se eu colocar
pawn Код:
#define DISTANCIA 100
da certo

Код:
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase
cocerta ae o tutorial.
Ah e Parabens

Quote:
Originally Posted by DraKoN
Посмотреть сообщение


"Ok Higor vocк me ensina a fazer tutorial e eu te ensino como pegar tua namorada de jeito como eu faзo"
"Ok,mais me mostra direitin"

ahahahahahha euri
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)