Can anyone show me how to do this? this all the code. my table is speedcamera
Код:
enum SpeedTraps
{
Float:CamX,
Float:CamY,
Float:CamZ,
Float:CamAngle,
CamSpeed,
CamObj1,
CamObj2,
}
new gCameras[MAX_PLAYERS][SpeedTraps];
OnGameModeInit:
for(new i; i < MAX_CAMERAS; i++)
{
INI_ParseFile(Camera_Path(i), "LoadCamera_%s", .bExtra = true, .extra = i);
CreateSpeedCamera(i, gCameras[i][CamX], gCameras[i][CamY], gCameras[i][CamZ], gCameras[i][CamAngle], gCameras[i][CamSpeed]);
}
//Speed cam
forward LoadCamera_data(i, name[], value[]);
public LoadCamera_data(i, name[], value[])
{
INI_Float("CamX", gCameras[i][CamX]);
INI_Float("CamY", gCameras[i][CamY]);
INI_Float("CamZ", gCameras[i][CamZ]);
INI_Float("CamAngle", gCameras[i][CamAngle]);
INI_Int("CamSpeed", gCameras[i][CamSpeed]);
return 1;
}
CMD:addcam(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:Angle, MaxSpeed, string[70];
if (sscanf(params, "i", MaxSpeed)) return SendClientMessage(playerid, -1, "Usage: /addcam [Max Speed]");
GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, Angle); z = z - 1.0;
SetPlayerPos(playerid, x, y + 1.0, z + 1.0);
for (new i; i < MAX_CAMERAS; i++)
{
if (gCameras[i][CamSpeed] == 0)
{
CreateSpeedCamera(i, x, y, z, Angle, MaxSpeed);
new INI:CamFile = INI_Open(Camera_Path(i));
INI_WriteFloat(CamFile, "CamX", x);
INI_WriteFloat(CamFile, "CamY", y);
INI_WriteFloat(CamFile, "CamZ", z);
INI_WriteFloat(CamFile, "CamAngle", Angle);
INI_WriteInt(CamFile, "CamSpeed", MaxSpeed);
INI_Close(CamFile);
format(string, sizeof(string), "You created a speed camera with ID: %i.", i);
SendClientMessage(playerid, -1, string);
return 1;
}
}
format(string, sizeof(string), "You cannot create more than %i speedcameras.", MAX_CAMERAS);
SendClientMessage(playerid, -1, string);
return 1;
}
CMD:delcam(playerid, params[])
{
new string[70];
for (new CamID; CamID < MAX_CAMERAS; CamID++)
{
if (gCameras[CamID][CamSpeed] != 0)
{
if (IsPlayerInRangeOfPoint(playerid, 5.0, gCameras[CamID][CamX], gCameras[CamID][CamY], gCameras[CamID][CamZ]))
{
new fileToDelete[72];
format(fileToDelete, sizeof(fileToDelete), "/Cameras/Cam%i.ini", CamID);
fremove(fileToDelete);
DestroyDynamicObject(gCameras[CamID][CamObj1]);
DestroyDynamicObject(gCameras[CamID][CamObj2]);
gCameras[CamID][CamX] = 0.0;
gCameras[CamID][CamY] = 0.0;
gCameras[CamID][CamZ] = 0.0;
gCameras[CamID][CamAngle] = 0.0;
gCameras[CamID][CamSpeed] = 0;
gCameras[CamID][CamObj1] = 0;
gCameras[CamID][CamObj2] = 0;
format(string, sizeof(string), "You deleted id camera %i", CamID);
SendClientMessage(playerid, -1, string);
}
else
{
format(string, sizeof(string), "You're not near by an speed trap!");
SendClientMessage(CamID, -1, string);
}
}
}
return 1;
}
stock Camera_Path(CamID)
{
new string[40];
format(string, sizeof(string), "/Cameras/Cam%i.ini", CamID);
return string;
}
stock CreateSpeedCamera(CamID, Float:x, Float:y, Float:z, Float:rot, MaxSpeed)
{
gCameras[CamID][CamX] = x;
gCameras[CamID][CamY] = y;
gCameras[CamID][CamZ] = z;
gCameras[CamID][CamAngle] = rot;
gCameras[CamID][CamSpeed] = MaxSpeed;
gCameras[CamID][CamObj1] = CreateDynamicObject(18880, x, y, z, 0.0, 0.0, rot);
//gCameras[CamID][CamObj2] = CreateDynamicObject(18880, x, y, z, 0.0, 0.0, rot + 180.0);
}