28.12.2015, 23:36
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); }