[Ajuda] Deletar veiculo sem utilidade
#1

tenho um comando que cria carros para os playes, quero apagar os veiculos que os playes nao estao usando, mas se apagar todos vai apagar os carros do server, entao quero apagar apenas os carros que foram criados com:
Код:
LVehicleID
Код:
LVehicleID = CreateVehicle(car, X,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1);
quero respawn todos os carros sem uso e apagar os sem uso que tem LVehicleID na frente

Код:
	if(strcmp(cmdtext, "/RCT", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(PlayerInfo[playerid][pAdmin] < 1)
			{
			    SendClientMessage(playerid, COLOR_RED, "Vocк nгo estб autorizado a usar este comando!");
			    return 1;
			}
			
			new bool:vehicle[MAX_VEHICLES];
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			format(string, sizeof string, "{88AA88}[TBD]:{ffb020}  %s{AAFFFF} respawnou todos os veнculo.", playername);
			SendClientMessageToAll(-1, string);
			for(new j = 1; GetVehicleModel(j); ++j)
			{
				vehicle[j] = false;
				for(new i, p = GetMaxPlayers(); i < p; ++i)
				{
					if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
					if(IsPlayerInVehicle(i, j))
	        		{
						vehicle[j] = true;
						break;
					}
				}
				if(!vehicle[j]) SetVehicleToRespawn(j);
				new LVehicleID;
				DestroyVehicle(GetPlayerVehicleID(LVehicleID));


			}
		}
		return 1;
	}
Reply
#2

esse code estб como queres?
mesmo assim eu n sei, desculpa ;-;
Reply
#3

Ajuda alguem ai?? estamos precisando muito... ajuda ai fazendo favor.
Reply
#4

Crie uma condiзгo if pra verificar se o carro й o desejado.

Abraзos,
Reply
#5

nao to sabendo fazer isso...
Reply
#6

Faзa o seguinte, crie uma variбvel global per-vehicle.

PHP код:
new pVehicle[MAX_VEHICLES]; 
Ao criar o veнculo do jogador, coloque a cйlula correspondente do vetor como verdadeiro. Dessa forma saberemos que o veнculo foi criado por um jogador.

PHP код:
// comando de criar veнculo
// Supondo que ele criou o veнculo LVehicleID

pVehicle[LVehicleID] = true
Sempre que for destruir o veнculo de um jogador, certifique-se de tornar a variбvel como falsa novamente.

E й claro, para destruir todos os veнculos que sгo de jogadores, vocк pode criar uma funзгo para isto.
Basta passar um loop por todos os veнculos e ver qual que й de jogador. Se for, destrуi.

PHP код:
stock DestruirVeiculos()
{
    for(new 
iMAX_VEHICLES; ++i)
    {
        if(!
pVehicle[i])
            continue;
        
        
DestroyVehicle(i);
    }

A partir daн, basta chamar a funзгo DestruirVeiculos quando quiser destruн-los.

Sugiro que leia estes tutoriais:

https://sampforum.blast.hk/showthread.php?tid=235924
https://sampforum.blast.hk/showthread.php?tid=290735
Reply
#7

tipo nгo deu exetamente como eu queria...

vou da um exemplo mais facil:

eu tenho um comando que cria um carro com a variбvel LVehicleID veja:
PHP код:
new LVehicleID;
if(
strcmpcmd "/elegy"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            
LVehicleID CreateVehicle(562,1603.7396,-1627.1694,13.6376,271.2545,0,1,500);
        }
        return 
1;
    } 
So que chega um momento que tem muitos carros no server criados por esse comando e queria um comando para apagar todos os carros com a variбvel LVehicleID, (so apagar os carros com essa variavel) os demais nao apagassem

vlw pela ajuda anterior
Reply
#8

Wiki samp ja diz

pawn Код:
new vehicleid;
          vehicleid= GetPlayerVehicleID(playerid);
          DestroyVehicle(vehicleid);
Reply
#9

Acontece que essa variбvel sу pode assumir um valor por vez. Entгo a cada veнculo criado o ID do antigo й perdido.

A melhor opзгo й criar o vetor global como ensinei no post anterior.
Reply
#10

Quote:
Originally Posted by ZeZin
Посмотреть сообщение
Wiki samp ja diz

pawn Код:
new vehicleid;
          vehicleid= GetPlayerVehicleID(playerid);
          DestroyVehicle(vehicleid);

ai ele so deleta o carro que esta dentro quero deletar todos com a variavel
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)