29.11.2015, 02:11
Quero que vocкs me ajudem que quando eu usar o comando, todos os veнculos a nгo ser os de facзхes mudem de virtual world, jб tem o comando de estacionar que faz ele mudar, mas quero que o comando administrativo faзa isso tambйm.
Код:
CMD:respawncars(playerid, params[]) { if (PlayerData[playerid][pAdmin] < 2) return SendErrorMessage(playerid, "Vocк nгo tem permissгo para usar esse comando."); new carro; new count; for (new i = 1; i != MAX_VEHICLES; i ++) { if (IsValidVehicle(i) && GetVehicleDriver(i) == INVALID_PLAYER_ID) { RespawnVehicle(i); //SetVehicleVirtualWorld(i, i+1); //CarData[i][carSpawn] = 0; count++; } } if (!count) return SendErrorMessage(playerid, "Nгo hб veнculos para respawn."); SendServerMessage(playerid, "Vocк respawnou %d veнculos desocupados.", count); return 1; }
Код:
CMD:estacionar(playerid, params[]) { new carid = GetPlayerVehicleID(playerid); if (!carid) return SendErrorMessage(playerid, "Vocк precisa estar dentro do seu veнculo."); if (IsVehicleImpounded(carid)) return SendErrorMessage(playerid, "Este veнculo estб preso, vocк nгo pode usб-lo."); if ((carid = Car_GetID(carid)) != -1 && Car_IsOwner(playerid, carid)) { if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendErrorMessage(playerid, "Vocк deve ser o motorista!"); static g_arrSeatData[10] = {INVALID_PLAYER_ID, ...}, g_arrDamage[4], Float:health, seatid; for (new i = 0; i < 14; i ++) { CarData[carid][carMods][i] = GetVehicleComponentInSlot(CarData[carid][carVehicle], i); } GetVehicleDamageStatus(CarData[carid][carVehicle], g_arrDamage[0], g_arrDamage[1], g_arrDamage[2], g_arrDamage[3]); GetVehicleHealth(CarData[carid][carVehicle], health); foreach (new i : Player) if (IsPlayerInVehicle(i, CarData[carid][carVehicle])) { seatid = GetPlayerVehicleSeat(i); g_arrSeatData[seatid] = i; } GetVehiclePos(CarData[carid][carVehicle], CarData[carid][carPos][0], CarData[carid][carPos][1], CarData[carid][carPos][2]); GetVehicleZAngle(CarData[carid][carVehicle], CarData[carid][carPos][3]); Car_Spawn(carid); Car_Save(carid); SetVehicleToRespawn(GetPlayerVehicleID(playerid)); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVehicleID(playerid)+1); //SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 123); CarData[GetPlayerVehicleID(playerid)][carSpawn] = 0; SendServerMessage(playerid, "Seu %s foi estacionado com sucesso!", ReturnVehicleName(CarData[carid][carVehicle])); UpdateVehicleDamageStatus(CarData[carid][carVehicle], g_arrDamage[0], g_arrDamage[1], g_arrDamage[2], g_arrDamage[3]); SetVehicleHealth(CarData[carid][carVehicle], health); for (new i = 0; i < sizeof(g_arrSeatData); i ++) if (g_arrSeatData[i] != INVALID_PLAYER_ID) { PutPlayerInVehicle(g_arrSeatData[i], CarData[carid][carVehicle], i); g_arrSeatData[i] = INVALID_PLAYER_ID; } } else SendErrorMessage(playerid, "Vocк nгo estб em nenhum veнculo que possa estacionar"); return 1; }