[Tutorial] Respawn em Carros perto
#1

Boas pessoal, tudo tranquilo?
Bom, nunca postei aqui, entгo, venho tentar trazer a vocкs um tutorial de um comando de respawn de carro SIMPLES.
O comando consiste no seguinte, um administrador, ao executar o comando, setarб os veнculos que estгo a uma distвncia de 20.0 em suas posiзхes inicias.
O cуdigo й bem simples. Toda sugestгo e crнtica й bem vinda.

Explicaзгo
Aviso: Para entender o funcionamento deste comando, й necessбrio que se tenha noзгo bбsica de utilizaзгo de variбveis, condicionais, etc.
Lembrem-se de definir as variбveis, o cуdigo pode ser adaptado ao seu GM.

Este cуdigo pode ser adaptado ao seu GM, ele verifica se o Player que digitou o comando й um administrador de Nнvel maior que 3, caso nгo seja, o comando nгo irб completar, e serб enviada uma mensagem ao player.
Код:
            if(Player[playerid][pAdm] < 3) //Vocкs podem adaptar de acordo com o modo que vocкs tкm no GM.
            { //Caso o player que digitou o comando seja um nнvel de administrador menor que 3    
               return 1; //irб chamar o retorno, ou seja, nгo completarб o comando.
            }
Este cуdigo verifica se o administrador estб trabalhando. Caso a variбvel esteja com o valor 0, ou seja, caso ele nгo esteja trabalhando, enviarб uma mensagem ao PLAYERID (player que digitou o comando) dizendo que ele nгo estб em modo trabalho.
Caso vocк nгo saiba criar um sistema de trabalho para administradores, clique aqui.
Caso seu servidor nгo tenha sistema de trabalho, vocк pode apagar essa parte do comando.


Код:
            if(admtramp[playerid] == 0) 
            {
                SendClientMessage(playerid, CINZA, "Vocк nгo estб trabalhando, use /trabalhar."); //Enviarб ao playerid
                return 1; //logo apуs dara o retorno
            }
Else й uma resposta a condicional if, e significa, em modo bruto de se falar, se nгo.
Ou seja, se o player que digitar o comando, nгo estiver em modo trabalho, enviarб a mensagem do cуdigo acima pra ele, dizendo que ele nгo estб trabalhando, ELSE(SE NГO), ou seja, caso ele esteja em modo trabalho, o comando serб prosseguido.

Loop: foi criado um Loop em MAX_VEHICLES, ou seja, em todos os veнculos do servidor.

GetVehiclePos: Estб coletando a posiзгo X, Y e Z do veнculo do Loop, que foram salvas nas variбveis pos[0], pos[1] e pos[2].


IsPlayerInRangeOfPoint(playerid, 20.0, X,Y,Z): Caso o player esteja em uma range de 20.0 de X,Y,Z, serб prosseguido o comando. X, Y e Z no cуdigo й a pos[0], pos[1]e pos[2] do carro, ou seja, a posiзгo em que o carro do Loop se encontra.
Resumindo, caso o player esteja em uma range de 20.0 da posiзгo em que o carro estб, o veнculo serб setado em sua posiзгo inicial, seu respawn, pelo comando: SetVehicleToRespawn.
Код:
            else
            {
                new name[MAX_PLAYER_NAME]; //Variбvel criada para armazenar o nome do player
                GetPlayerName(playerid, name, sizeof(name)); //Geta o nome do player
                new Float:Pos[3]; //Variбvel criada para armazenar a posiзгo X,Y,Z do player
                GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); //Geta a posiзгo X,Y,Z do player
                new Float:pos[3];//Cria uma variбvel para getar posiзгo de um veнculo
                for(new i; i < MAX_VEHICLES; i++) //Cria um loop em todos os veнculos do servidor
                {
                    GetVehiclePos(i, pos[0], pos[1], pos[2]); // Geta a posiзгo do veнculo no loop
                    if(IsPlayerInRangeOfPoint(playerid, 20, pos[0], pos[1], pos[2]))//Caso o player esteja perto do carro
                    {
                        SetVehicleToRespawn(i); // veнculo й setado em sua posiзгo inicial
                    }
                }
                SendClientMessage(playerid, -1, "Vocк deu respawn nos carros a 20 metros de vocк."); //Mensagem de sucesso
            }
Bom, o cуdigo й bem simples, espero que vocкs tenham gostado. Й meu primeiro tutorial, perdoem-me qualquer erro. Te ajudei? Gostou do tutorial? Achou construtivo? Deixe seu Rep+, isso me incentivarб a continuar.
Perdoem caso o cуdigo esteja mб identado.

Link: http://pastebin.com/Gxp6p3aT
Reply


Messages In This Thread
Respawn em Carros perto - by HnnK - 29.10.2016, 18:41
Re: Respawn em Carros perto - by ReyMysterio - 29.10.2016, 18:42
Re: Respawn em Carros perto - by Relaxed - 29.10.2016, 18:51
Re: Respawn em Carros perto - by ClaudioF - 29.10.2016, 20:13
Re: Respawn em Carros perto - by rLucky - 01.11.2016, 06:20
Re: Respawn em Carros perto - by HnnK - 04.11.2016, 16:37
Re: Respawn em Carros perto - by Bruno13 - 04.11.2016, 18:40
Re: Respawn em Carros perto - by HnnK - 04.11.2016, 23:27
Re: Respawn em Carros perto - by PT - 05.11.2016, 22:23
Re: Respawn em Carros perto - by HnnK - 06.11.2016, 01:49

Forum Jump:


Users browsing this thread: 4 Guest(s)