// This command allows you to create a speedcamera COMMAND:criarradar(playerid, params[]) { // Setup local variables new Float:x, Float:y, Float:z, Float:Angle, MaxSpeed, file[100], File:PFile, LineForFile[100], Msg[128]; // Send the command to all admins so they can see it SendAdminText(playerid, "/criarradar", params); // Check if the player has logged in if (APlayerData[playerid][LoggedIn] == true) { // Check if the player's admin-level is at least 5 if (APlayerData[playerid][PlayerLevel] >= 5) { if (sscanf(params, "i", MaxSpeed)) SendClientMessage(playerid, 0xFF0000AA, "Digite: \"/criarradar <Velocidade>\""); else { // Get player's position and facing angle GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, Angle); z = z - 1.0; // Adjust camera Z-coordinate 1m lower than normal (otherwise the camera floats in the air) // Move the player a bit, otherwise he could get stuck inside the camera-object SetPlayerPos(playerid, x, y + 1.0, z + 1.0); // Save the camera to a file for (new CamID; CamID < MAX_CAMERAS; CamID++) { // Check if this index is free if (ACameras[CamID][CamSpeed] == 0) { // Setup this camera (create the objects and store the data) SetupSpeedCamera(CamID, x, y, z, Angle, MaxSpeed); // Save the file format(file, sizeof(file), CameraFile, CamID); // Construct the complete filename for this camera-file PFile = fopen(file, io_write); // Open the camera-file for writing format(LineForFile, 100, "CamX %f\r\n", x); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamY %f\r\n", y); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamZ %f\r\n", z); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamAngle %f\r\n", Angle); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamSpeed %i\r\n", MaxSpeed); fwrite(PFile, LineForFile); // And save it to the file fclose(PFile); // Close the file // Let the player know he created a new camera format(Msg, 128, "Voce Criou o Radar de ID: %i", CamID); SendClientMessage(playerid, 0x00FF00FF, Msg); // Exit the function return 1; } } // In case all camera-slots are occupied (100 camera's have been created already), let the player know about it format(Msg, 128, "{FF0000}Voce nao Pode Criar mais de %i Radares", MAX_CAMERAS); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } } else return 0; } else return 0; // Let the server know that this was a valid command return 1; } // This command allows you to delete a speedcamera COMMAND:deletarradar(playerid, params[]) { // Setup local variables new file[100], Msg[128]; // Send the command to all admins so they can see it SendAdminText(playerid, "/deletarradar", params); // Check if the player has logged in if (APlayerData[playerid][LoggedIn] == true) { // Check if the player's admin-level is at least 5 if (APlayerData[playerid][PlayerLevel] >= 5) { // Loop through all camera's for (new CamID; CamID < MAX_CAMERAS; CamID++) { // Check if this index is used if (ACameras[CamID][CamSpeed] != 0) { // Check if the player is in range of the camera if (IsPlayerInRangeOfPoint(playerid, 5.0, ACameras[CamID][CamX], ACameras[CamID][CamY], ACameras[CamID][CamZ])) { // Delete the file format(file, sizeof(file), CameraFile, CamID); // Construct the complete filename for this camera-file if (fexist(file)) // Make sure the file exists fremove(file); // Delete the file // Delete both camera objects DestroyObject(ACameras[CamID][CamObj1]); DestroyObject(ACameras[CamID][CamObj2]); DestroyDynamicMapIcon(ACameras[CamID][CamIcon]); // Also clear the data from memory ACameras[CamID][CamX] = 0.0; ACameras[CamID][CamY] = 0.0; ACameras[CamID][CamZ] = 0.0; ACameras[CamID][CamAngle] = 0.0; ACameras[CamID][CamSpeed] = 0; ACameras[CamID][CamObj1] = 0; ACameras[CamID][CamObj2] = 0; ACameras[CamID][CamIcon] = 0; // Let the player know he deleted a camera format(Msg, 128, "Vocк deletou o radar %i", CamID); SendClientMessage(playerid, 0x00FF00FF, Msg); // Exit the function return 1; } } } // In case the player wasn't near a speedcamera, inform him about it SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000} Esteja em um radar para deletб-lo"); } else return 0; } else return 0; // Let the server know that this was a valid command return 1; }
Queria Colocar Uma 3DTextLabel Quando Dou /criarradar e salvar essa 3DTextLabel mesmo se reiniciasse o server, e No /deletarradar Deletar o Radar e a 3DTextLabel
Mais Sou Novato Em Pawn Ninguem Nasce Sabendo, Nгo Achei Nada No Search e Queria Pedir Um Tutorial Ou Demostrasse No Comando Код:
// This command allows you to create a speedcamera COMMAND:criarradar(playerid, params[]) { // Setup local variables new Float:x, Float:y, Float:z, Float:Angle, MaxSpeed, file[100], File:PFile, LineForFile[100], Msg[128]; // Send the command to all admins so they can see it SendAdminText(playerid, "/criarradar", params); // Check if the player has logged in if (APlayerData[playerid][LoggedIn] == true) { // Check if the player's admin-level is at least 5 if (APlayerData[playerid][PlayerLevel] >= 5) { if (sscanf(params, "i", MaxSpeed)) SendClientMessage(playerid, 0xFF0000AA, "Digite: \"/criarradar <Velocidade>\""); else { // Get player's position and facing angle GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, Angle); z = z - 1.0; // Adjust camera Z-coordinate 1m lower than normal (otherwise the camera floats in the air) // Move the player a bit, otherwise he could get stuck inside the camera-object SetPlayerPos(playerid, x, y + 1.0, z + 1.0); // Save the camera to a file for (new CamID; CamID < MAX_CAMERAS; CamID++) { // Check if this index is free if (ACameras[CamID][CamSpeed] == 0) { // Setup this camera (create the objects and store the data) SetupSpeedCamera(CamID, x, y, z, Angle, MaxSpeed); // Save the file format(file, sizeof(file), CameraFile, CamID); // Construct the complete filename for this camera-file PFile = fopen(file, io_write); // Open the camera-file for writing format(LineForFile, 100, "CamX %f\r\n", x); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamY %f\r\n", y); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamZ %f\r\n", z); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamAngle %f\r\n", Angle); fwrite(PFile, LineForFile); // And save it to the file format(LineForFile, 100, "CamSpeed %i\r\n", MaxSpeed); fwrite(PFile, LineForFile); // And save it to the file fclose(PFile); // Close the file // Let the player know he created a new camera format(Msg, 128, "Voce Criou o Radar de ID: %i", CamID); SendClientMessage(playerid, 0x00FF00FF, Msg); // Exit the function return 1; } } // In case all camera-slots are occupied (100 camera's have been created already), let the player know about it format(Msg, 128, "{FF0000}Voce nao Pode Criar mais de %i Radares", MAX_CAMERAS); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } } else return 0; } else return 0; // Let the server know that this was a valid command return 1; } // This command allows you to delete a speedcamera COMMAND:deletarradar(playerid, params[]) { // Setup local variables new file[100], Msg[128]; // Send the command to all admins so they can see it SendAdminText(playerid, "/deletarradar", params); // Check if the player has logged in if (APlayerData[playerid][LoggedIn] == true) { // Check if the player's admin-level is at least 5 if (APlayerData[playerid][PlayerLevel] >= 5) { // Loop through all camera's for (new CamID; CamID < MAX_CAMERAS; CamID++) { // Check if this index is used if (ACameras[CamID][CamSpeed] != 0) { // Check if the player is in range of the camera if (IsPlayerInRangeOfPoint(playerid, 5.0, ACameras[CamID][CamX], ACameras[CamID][CamY], ACameras[CamID][CamZ])) { // Delete the file format(file, sizeof(file), CameraFile, CamID); // Construct the complete filename for this camera-file if (fexist(file)) // Make sure the file exists fremove(file); // Delete the file // Delete both camera objects DestroyObject(ACameras[CamID][CamObj1]); DestroyObject(ACameras[CamID][CamObj2]); DestroyDynamicMapIcon(ACameras[CamID][CamIcon]); // Also clear the data from memory ACameras[CamID][CamX] = 0.0; ACameras[CamID][CamY] = 0.0; ACameras[CamID][CamZ] = 0.0; ACameras[CamID][CamAngle] = 0.0; ACameras[CamID][CamSpeed] = 0; ACameras[CamID][CamObj1] = 0; ACameras[CamID][CamObj2] = 0; ACameras[CamID][CamIcon] = 0; // Let the player know he deleted a camera format(Msg, 128, "Vocк deletou o radar %i", CamID); SendClientMessage(playerid, 0x00FF00FF, Msg); // Exit the function return 1; } } } // In case the player wasn't near a speedcamera, inform him about it SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000} Esteja em um radar para deletб-lo"); } else return 0; } else return 0; // Let the server know that this was a valid command return 1; } |
//Vou te molhar o pгo no leite OLHE!!!!!
SetupSpeedCamera(CamID, Float:x, Float:y, Float:z, Float:rot, MaxSpeed)
{
new string1[60];
ACameras[CamID][CamX] = x;
ACameras[CamID][CamY] = y;
ACameras[CamID][CamZ] = z;
ACameras[CamID][CamAngle] = rot;
ACameras[CamID][CamSpeed] = MaxSpeed;
ACameras[CamID][CamObj1] = CreateDynamicObject(18880, x, y, z, 0.0, 0.0, rot);
ACameras[CamID][CamObj2] = CreateDynamicObject(18880, x, y, z, 0.0, 0.0, rot + 180.0);
ACameras[CamID][CamIcon] = CreateDynamicMapIcon(x, y, z, 34, 0, 0, 0, -1, 150.0);
format(string1,128,"{FF0000}Velocidade Maxima \n{FFFFFF}%02i {FF0000}Km/H",ACameras[CamID][CamSpeed]);
ACameras[CamID][Cam3DText] = CreateDynamic3DTextLabel(string1,-1,x,y,z +5.0,100.0);
}
//agora chega o resto й ctg...