-- /Apark and /Aimpound -
DamonD - 31.08.2013
Hello, I need /apark and /aimpound like NGG. These are my park and impound commands...(Admin park & Admin Impound.)
Код:
CMD:park(playerid, params[])
{
if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
{
new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
if(IsPlayerConnected(ownerid))
{
new d = PlayerInfo[playerid][pVehicleKeys];
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
{
new Float:vehPos[3];
GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
}
GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
SetPlayerArmedWeapon(playerid, 0);
new string[29 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s has parked %s's vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
}
for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
{
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
{
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
SetPlayerArmedWeapon(playerid, 0);
new string[30 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s has parked their vehicle.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
SendClientMessageEx(playerid, COLOR_GREY, "You need to be inside a vehicle that you own.");
return 1;
}
Код:
CMD:impound(playerid, params[]) {
switch(PlayerInfo[playerid][pMember]) {
case 1, 2, 3, 7, 11: {
if(!IsAtImpoundingPoint(playerid))
{
SendClientMessageEx(playerid, COLOR_GREY, "You are not near the impound point, you can't impound!");
return 1;
}
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
new
iVehType,
iVehIndex,
iTargetOwner,
iVehTowed = GetVehicleTrailer(GetPlayerVehicleID(playerid));
if(!GetVehicleModel(iVehTowed)) {
return SendClientMessageEx(playerid, COLOR_GREY, "The vehicle in tow has been desynced and therefore cannot be impounded.");
}
foreach(Player, i) {
iVehIndex = GetPlayerVehicle(i, iVehTowed);
if(iVehIndex != -1) {
iVehType = 1;
iTargetOwner = i;
break;
}
}
if(!iVehType) {
for(new i; i < MAX_FAMILY; ++i) {
iVehIndex = GetGangVehicle(i, iVehTowed);
if(iVehIndex != -1) {
iVehType = 2;
iTargetOwner = i;
break;
}
}
}
switch(iVehType) {
case 0, 2: {
SendClientMessageEx(playerid, COLOR_GRAD1, "The impound administration could not find any registration on the vehicle and has returned it.");
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
SetVehiclePos(iVehTowed, 0, 0, 0); // Attempted desync fix
SetVehicleToRespawn(iVehTowed);
}
case 1: {
PlayerVehicleInfo[iTargetOwner][iVehIndex][pvImpounded] = 1;
PlayerVehicleInfo[iTargetOwner][iVehIndex][pvId] = INVALID_PLAYER_VEHICLE_ID;
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
SetVehiclePos(iVehTowed, 0, 0, 0); // Attempted desync fix
DestroyVehicle(iVehTowed);
--PlayerCars;
new
szMessage[96];
format(szMessage, sizeof(szMessage),"* You have impounded %s's %s.",GetPlayerNameEx(iTargetOwner), VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
format(szMessage, sizeof(szMessage), "Your %s has been impounded. You may release it at the DMV in Dillimore.", VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
SendClientMessageEx(iTargetOwner, COLOR_LIGHTBLUE, szMessage);
format(szMessage, sizeof(szMessage), "HQ: %s has impounded %s's %s ($%i unpaid tickets).", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetOwner), VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400], PlayerVehicleInfo[iTargetOwner][iVehIndex][pvTicket]);
SendRadioMessage(PlayerInfo[playerid][pMember], RADIO, szMessage);
}
/*case 2: {
new
szMessage[29 + MAX_PLAYER_NAME];
format(szMessage, sizeof(szMessage),"* You have impounded %s's %s.",FamilyInfo[iTargetOwner][FamilyName], GetVehicleName(iVehTowed));
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
format(szMessage, sizeof(szMessage), "Your %s has been impounded. You may release it at the BH in Dillimore.", GetVehicleName(iVehTowed));
SendNewFamilyMessage(iTargetOwner, COLOR_LIGHTBLUE, szMessage);
FamilyVehicleInfo[iTargetOwner][iVehIndex][fvImpounded] = 1;
FamilyVehicleInfo[iTargetOwner][iVehIndex][fvId] = INVALID_VEHICLE_ID;
DestroyVehicle(iVehTowed);
}*/
}
arr_Towing[playerid] = INVALID_VEHICLE_ID;
}
}
default: SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
}
return 1;
}
Re: -- /Apark and /Aimpound -
RedJohn - 31.08.2013
Re: -- /Apark and /Aimpound -
DamonD - 01.09.2013
Anyone?
Re: -- /Apark and /Aimpound -
DamonD - 01.09.2013
Anyone?
Re: -- /Apark and /Aimpound -
Akon11 - 08.10.2013
Well please I need /aimpound too because I don't know how to script it yet...