29.10.2016, 18:41
(
Последний раз редактировалось HnnK; 29.10.2016 в 19:35.
)
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.
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.
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.
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.
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
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. }
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 }
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 }
Perdoem caso o cуdigo esteja mб identado.
Link: http://pastebin.com/Gxp6p3aT