[Ajuda] Carro nгo spawnar em determinada coordenada
#1

Bom dia, bom queria uma BASE/ideia (Nгo quero nada pronto) de como fazer isso, quando os carros do servidor forem spawnados, apenas os carros que estiverem em uma determinada coordenada (que seria trassada por mim) nгo fossem spawnados. Estбva pensando em criar igual eu criei minhas gangzones mas nгo sei se daria certo, como sу posso usar o computador no trabalho, estou codando la, aqui nгo tem como eu testar.

Seria + - assim,

PHP код:
if(carros estiverem em tal coordenada){
Veнculo(snгo spawna(m)
}
else {
Veнculo spawna

Alguйm tem alguma ideia?
Reply
#2

Usa o GetVehiclePos no OnVehicleSpawn
Reply
#3

Poderia dar um EXEMPLO? + - assim, irei pegar a coordenada igual a da imagem + -

e dentro dessa бrea os carros nгo podarгo ser respawnados

Nгo entendi muito bem sua lуgica PT, de qualquer forma obrigado!
Reply
#4

Nгo testei '-'
PHP код:
public OnVehicleSpawn(vehicleid)
{
    new 
Float:X,Float:Y,Float:Z;
    
GetVehiclePos(vehicleid,X,Y,Z);
    if((
2464.032) && (> -326.9805) && (< -829.1292) && (> -1051.009))
    {
         
SendClientMessageToAll(0x00FF00FF"Veiculo dentro GZ destruido");
         
DestroyVehicle(vehicleid);
    }
    else
    {
        
SendClientMessageToAll0x00FF00FF"Veiculo fora da GZ");
    }
    return 
1;

Reply
#5

Olб, desculpe a demora de resposta, nгo tive muito tempo esses dias, pфs bem, nгo entendi muito bem a resposta do amigo acima, e peзo desculpa por isso, alguem teria uma outra formula?

Tenho aqui minhas coordenadas que os carros nгo podem ser respawnados, e tambйm tenho meu comando de respawn...


PHP код:
AddPlayerClass(226,1033.3651,-1463.2262,13.5738,90.0886,0,0,0,0,0,0); // Esquerda abaixo
AddPlayerClass(226,978.2904,-1430.8750,13.5469,91.8802,0,0,0,0,0,0); // Direita acima 
PHP код:
if (strcmp(cmd"/respawncarros"true) == 0) {
        if (
IsPlayerConnected(playerid)) {
            if (
PlayerInfo[playerid][pAdmin] < 3) {
                
SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo estб autorizado a usar este comando!");
                return 
true;
            }
            
GetPlayerName(playeridplayernamesizeof(playername));
            if (
admtrampando[playerid] == && admhide[playerid] == 1) {
                
format(stringsizeof(string), "[Atenзгo] Todos os carros foram para seus locais de inicio. By: ADM_OCULTO ");
            } else {
                
format(stringsizeof(string), "[Atenзгo] Todos os veнculos foram para seus locais de inicio. By: %s."playername);
            }
            
SendClientMessageToAll(COLOR_LIGHTREDstring);
            new 
boolunwanted[CAR_AMOUNT];
            for (new 
player 0player MAX_PLAYERSplayer++) {
                if (
IsPlayerConnected(player) && IsPlayerInAnyVehicle(player)) {
                    
unwanted[GetPlayerVehicleID(player)] = true;
                }
            }
            for (new 
car 1car <= CAR_AMOUNTcar++) {
                if (
unwanted[car] == false) {
                
SetVehicleToRespawn(car);
               }
            }
        }
        return 
0;
    } 
Obrigado novamente!
Reply
#6

PHP код:
if (strcmp(cmd"/respawncarros"true) == 0) { 
        if (
IsPlayerConnected(playerid)) { 
            if (
PlayerInfo[playerid][pAdmin] < 3) { 
                
SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo estб autorizado a usar este comando!"); 
                return 
true
            } 
            
GetPlayerName(playeridplayernamesizeof(playername)); 
            if (
admtrampando[playerid] == && admhide[playerid] == 1) { 
                
format(stringsizeof(string), "[Atenзгo] Todos os carros foram para seus locais de inicio. By: ADM_OCULTO "); 
            } else { 
                
format(stringsizeof(string), "[Atenзгo] Todos os veнculos foram para seus locais de inicio. By: %s."playername); 
            } 
            
SendClientMessageToAll(COLOR_LIGHTREDstring); 
            new 
boolunwanted[CAR_AMOUNT]; 
            for (new 
player 0player MAX_PLAYERSplayer++) { 
                if (
IsPlayerConnected(player) && IsPlayerInAnyVehicle(player)) { 
                    
unwanted[GetPlayerVehicleID(player)] = true
                } 
            } 
            for (new 
car 1car <= CAR_AMOUNTcar++)
            {
                if (
unwanted[car] == false)
                {
                    new 
Float:X,Float:Y,Float:Z;
                    
GetVehiclePos(carXYZ);
                    if((
2464.032) && (> -326.9805) && (< -829.1292) && (> -1051.009))
                    {
                    }
                    else
                    {
                        
SetVehicleToRespawn(car);
                    }
               }
            }
        } 
        return 
0
    } 
use o Xtreme Vehicle Plotter para pegar a posiзгo
no modo gangzones

PHP код:
//if((X < POS_X_MAX) && (X > POS_X_MIN) && (Y < POS_Y_MAX) && (Y > POS_Y_MIN)) 
Quote:

GangZoneCreate(Float:minx, Float:miny, Float:maxx, Float:maxy)











================================================== ======

Reply
#7

Eu fiz assim, mas os carros dentro dessa coordenada ainda respawnam com o comando, serб por que?

PHP код:
if (strcmp(cmd"/respawncarros"true) == 0) {
        if (
IsPlayerConnected(playerid)) {
            if (
PlayerInfo[playerid][pAdmin] < 3) {
                
SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo estб autorizado a usar este comando!");
                return 
true;
            }
            
GetPlayerName(playeridplayernamesizeof(playername));
            if (
admtrampando[playerid] == && admhide[playerid] == 1) {
                
format(stringsizeof(string), "[Atenзгo] Todos os carros foram para seus locais de inicio. By: Mr_Capitao.");
            } else {
                
format(stringsizeof(string), "[Atenзгo] Todos os veнculos foram para seus locais de inicio. By: %s."playername);
            }
            
SendClientMessageToAll(COLOR_LIGHTREDstring);
            new 
boolunwanted[CAR_AMOUNT];
            for (new 
player 0player MAX_PLAYERSplayer++) {
                if (
IsPlayerConnected(player) && IsPlayerInAnyVehicle(player)) {
                    
unwanted[GetPlayerVehicleID(player)] = true;
                }
            }
           for (new 
car 1car <= CAR_AMOUNTcar++)
            {
                if (
unwanted[car] == false)
                {
                    new 
Float:X,Float:Y,Float:Z;
                    
GetVehiclePos(carXYZ);
                    if((
942.2568) && (> -1500.266) && (1086.765) && (> -1401.572))
                    {
                        
//
                    
}
                    else
                    {
                        
SetVehicleToRespawn(car);
                    }
               }
            }
        }
        return 
0;
    } 
As coordenadas estгo certas pфs fiz um comando pra testar:

PHP код:
if (strcmp(cmd"/testecord"true) == 0)
{
new 
sennior;
sennior GangZoneCreate(942.2568, -1500.2661086.765, -1401.572);
GangZoneShowForPlayer(playeridsennior0x00FFFF5C);
return 
1;

Reply
#8

o correto й assim
PHP код:
if((1086.765) && (942.2568) && (< -1401.572) && (> -1500.266)) 

parametros do GangZoneCreate

Quote:

(Float:minx, Float:miny, Float:maxx, Float:maxy)
(942.2568, -1500.266, 1086.765, -1401.572);

parametros do IF

Quote:

((X < POS_X_MAX) && (X > POS_X_MIN) && (Y < POS_Y_MAX) && (Y > POS_Y_MIN))

Reply
#9

Funcionou, obrigado, poderia me explicar a ordem de pegar as coordenadas aqui?

PHP код:
942.2568, -1500.2661086.765, -1401.572 
Vocк inverteu alguma coisa, e preciso fazer isso em mais locais.

Por exemplo, vocк colocou o 1086.765 primeiro, depois o 942.2568 ...
Reply
#10

Quote:
Originally Posted by Sennior
Посмотреть сообщение
Funcionou, obrigado, poderia me explicar a ordem de pegar as coordenadas aqui?

PHP код:
942.2568, -1500.2661086.765, -1401.572 
Vocк inverteu alguma coisa, e preciso fazer isso em mais locais.

Por exemplo, vocк colocou o 1086.765 primeiro, depois o 942.2568 ...

PHP код:
if((942.2568) && (> -1500.266) && (1086.765) && (< -1401.572)) 
em ordem
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)