Player resetar veiculos da sua propria casa -
Woof - 10.09.2016
Olб, queria saber como posso fazer um sistema para o jogador respawnar os veнculos da sua casa.
Seria igual o comando de estacionar um veнculo na casa sу que com a funзгo de resetar. Vou estб deixando o comando de estacionar o veнculo.
Код:
COMMAND:estacionar(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:rot, vid, HouseID, Msg[9000];
new engine,lights,alarm,doors,bonnet,boot,objective;
SendAdminText(playerid, "/estacionar", params);
if(PlayerInfo[playerid][NoEvento] == 1) return SendClientMessage(playerid, -1, "{ff0000}Vocк estб no evento!");
if (APlayerData[playerid][LoggedIn] == true)
{
if (GetPlayerVehicleSeat(playerid) == 0)
{
vid = GetPlayerVehicleID(playerid);
HouseID = AVehicleData[vid][BelongsToHouse];
if ((AVehicleData[vid][Owned] == true) && (HouseID != 0))
{
if (IsPlayerInRangeOfPoint(playerid, ParkRange, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
{
GetVehiclePos(vid, x, y, z);
GetVehicleZAngle(vid, rot);
AVehicleData[vid][SpawnX] = x;
AVehicleData[vid][SpawnY] = y;
AVehicleData[vid][SpawnZ] = z;
AVehicleData[vid][SpawnRot] = rot;
for (new i; i < MAX_HOUSESPERPLAYER; i++)
{
HouseID = APlayerData[playerid][Houses][i];
for (new CarSlot; CarSlot < 10; CarSlot++)
{
if (AHouseData[HouseID][VehicleIDs][CarSlot] == vid)
{
House_ReplaceVehicle(HouseID, CarSlot);
PutPlayerInVehicle(playerid, AHouseData[HouseID][VehicleIDs][CarSlot], 0);
GetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], 1, lights, alarm, doors, bonnet, boot, objective);
break;
}
}
}
for (new i; i < MAX_PLAYERS; i++)
{
if (APlayerData[i][PlayerLevel] > 2)
{
format(Msg, 9000, "{00FFCC}%s (id: %i) estacionou o seu veiculo %s em %s", rNome(playerid), playerid, Vehicles[GetVehicleModel(GetPlayerVehicleID(playerid))-400], ReturnPlayerZone(playerid));
SendClientMessage(i, 0xFFFFFFFF, Msg);
}
}
format(Msg, 128, "%s (id: %i) estacionou o seu veiculo %s em %s", rNome(playerid), playerid, Vehicles[GetVehicleModel(GetPlayerVehicleID(playerid))-400], ReturnPlayerZone(playerid));
print(Msg);
SendClientMessage(playerid, -1, "{00ff00}Vocк estacionou o seu veнculo.");
PlayerFile_Save(playerid);
}
else
{
format(Msg, 128, "{FF0000}Vocк precisa estar dentro do veнculo da sua casa para estacionб-lo!", ParkRange);
SendClientMessage(playerid, -1, Msg);
}
}
else
SendClientMessage(playerid, -1, "{FF0000}Vocк nгo pode estacionar um veнculo que nгo й da sua propriedade!");
}
else
SendClientMessage(playerid, -1, "{FF0000}Vocк deve estar dentro do veнculo para estacionб-lo!");
}
else
return 0;
return 1;
}
Re: Player resetar veiculos da sua propria casa - Whoo - 10.09.2016
vocк quer respawnar todos os veнculos de sua casa ? pelo que vi vocк pode ter mais de uma casa e mais de um veiculo, testa e veja de funciona.
Код:
COMMAND:estacionar(playerid, params[])
{
new HouseID;
for (new i; i < MAX_HOUSESPERPLAYER; i++)
{
if(APlayerData[playerid][Houses][i] == 0) continue;
HouseID = APlayerData[playerid][Houses][i];
for(new CarSlot; CarSlot < 10; CarSlot++)
{
if(AHouseData[HouseID][VehicleIDs][CarSlot] == 0) continue;
SetVehicleToRespawn(AHouseData[HouseID][VehicleIDs][CarSlot]);
printf("Casa ID: %d -- %d - CarSlot %d", APlayerData[playerid][Houses][i], HouseID, AHouseData[HouseID][VehicleIDs][CarSlot]);
}
}
return 1;
}
Re: Player resetar veiculos da sua propria casa -
Woof - 10.09.2016
Quando usei o comando, o servidor fechou e ficou assim o console.
http://imgur.com/a/429pH
Re: Player resetar veiculos da sua propria casa - Whoo - 10.09.2016
Код:
COMMAND:estacionar(playerid, params[])
{
new HouseID;
for (new i; i < MAX_HOUSESPERPLAYER; i++)
{
if(APlayerData[playerid][Houses][i] == 0) continue;
HouseID = APlayerData[playerid][Houses][i];
for(new CarSlot; CarSlot < 10; CarSlot++)
{
if(AHouseData[HouseID][VehicleIDs][CarSlot] == 0) continue;
SetVehicleToRespawn(AHouseData[HouseID][VehicleIDs][CarSlot]);
printf("Casa ID: %d -- %d - CarSlot %d", APlayerData[playerid][Houses][i], HouseID, AHouseData[HouseID][VehicleIDs][CarSlot]);
}
}
return 1;
}
Re: Player resetar veiculos da sua propria casa -
Woof - 10.09.2016
Funciono cara, muito obrigado.
Re: Player resetar veiculos da sua propria casa -
Woof - 10.09.2016
Eu fiz uma alteraзгo e coloquei pra enviar uma mensagem, quando ele resetar os veнculos sу que a mensagem й enviada conforme a quantidade de casas que ele tem. Teria possibilidade de colocar uma mensagem para todas as casas?
Код:
COMMAND:rvm(playerid, params[])
{
new HouseID, String[128];
for(new i; i < MAX_HOUSESPERPLAYER; i++)
{
if(APlayerData[playerid][Houses][i] != 0)
{
HouseID = APlayerData[playerid][Houses][i];
for(new CarSlot; CarSlot < 10; CarSlot++)
{
if(AHouseData[HouseID][VehicleIDs][CarSlot] != 0)
{
SetVehicleToRespawn(AHouseData[HouseID][VehicleIDs][CarSlot]);
SendClientMessage(playerid, -1,"{ffff00}Vocк respawnou os veнculos de sua casa.");
}
}
}
}
return 1;
}
Re: Player resetar veiculos da sua propria casa - Ender_ - 10.09.2016
testa agora
pawn Код:
CMD:rvm(playerid, params[])
{
new HouseID, String[128];
for(new i; i < MAX_HOUSESPERPLAYER; i++)
{
if(APlayerData[playerid][Houses][i] != 0)
{
HouseID = APlayerData[playerid][Houses][i];
for(new CarSlot; CarSlot < 10; CarSlot++)
{
if(AHouseData[HouseID][VehicleIDs][CarSlot] != 0)
{
SetVehicleToRespawn(AHouseData[HouseID][VehicleIDs][CarSlot]);
}
}
}
}
return SendClientMessage(playerid, -1,"{ffff00}Vocк respawnou todos veнculos casa.");
}