Y_Less

Cueball

Nov 15th, 2007
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.33 KB | None | 0 0
  1. #include <a_samp>
  2. #define FILTERSCRIPT
  3. #if defined FILTERSCRIPT
  4.  
  5. /*---------------------------------------------------------------------------
  6. / Change These To Alter Script
  7. //-------------------------------------------------------------------------*/
  8.  
  9. #define VehicleTele true
  10. #define PrintInConsole true
  11. #define SendAdminMessage true
  12.  
  13. new File:GenCmds;
  14.  
  15. public OnFilterScriptInit()
  16. {
  17. print("\n**************************************************");
  18. print("* Command_Generator by ~Cueball~ *");
  19. print("**************************************************\n");
  20. if(!fexist("Generated_Commands.txt")) { GenCmds = fopen("Generated_Commands.txt", io_readwrite); fclose(GenCmds); }
  21. return 1;
  22. }
  23.  
  24. public OnFilterScriptExit()
  25. {
  26. print("\n**************************************************");
  27. print("* Command_Generator Closed *");
  28. print("**************************************************\n");
  29. return 1;
  30. }
  31. #endif
  32.  
  33. public OnPlayerConnect(playerid)
  34. {
  35. SendClientMessage(playerid,0x33CCFFAA,"Running Command_Generator Script by ~Cueball~ || To get started type /saveloc at your wanted location");
  36. return 1;
  37. }
  38.  
  39. public OnPlayerCommandText(playerid, cmdtext[])
  40. {
  41. new cmd[128];
  42. new idx;
  43. cmd = strtok(cmdtext, idx);
  44. if(strcmp (cmd, "/saveloc", true)==0)
  45. {
  46. new Float:x, Float:y, Float:z, Float:Ang, tmp[128], CommandName[700], VehicleLine[700], PlayerLine[700], AltPlayerLine[700], ReturnLine[50], EndBrace[50], NewLine[50], Separator[80], ConfirmationMessage[100], Stats[50], XValue[50], YValue[50], ZValue[50], ANGValue[50], AdminMessage[100], PlayerIp[50], PlayerName[MAX_PLAYER_NAME], hour, minute, second, year, month, day;
  47. tmp = strtok(cmdtext, idx); if (tmp[0] == 0) { SendClientMessage(playerid,0xFFFFFFAA,"Usage: /saveloc [teleport/command name] (DO NOT INCLUDE THE '/'!)"); return 1; }
  48. GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME); GetPlayerIp(playerid,PlayerIp,50); GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid,Ang); gettime(hour,minute,second); getdate(year,month,day);
  49. format(CommandName,700,"if (strcmp(\"/%s\", cmdtext,true)==0) { //requested by player '%s' (IP:%s) on the %d/%d/%d. Time: %d:%d:%d\r\n",cmdtext[9],PlayerName,PlayerIp,day,month,year,hour,minute,second);
  50. format(VehicleLine,700," if (GetPlayerState(playerid) == 2) { SetVehiclePos(GetPlayerVehicleID(playerid),%f,%f,%f); SetVehicleZAngle(GetPlayerVehicleID(playerid), %f); SetCameraBehindPlayer(playerid); } \r\n",x,y,z,Ang);
  51. format(PlayerLine, 700," else { SetPlayerPos(playerid,%f,%f,%f); SetPlayerFacingAngle(playerid,%f); SetCameraBehindPlayer(playerid); }\r\n",x,y,z,Ang);
  52. format(AltPlayerLine, 700," SetPlayerPos(playerid,%f,%f,%f); SetPlayerFacingAngle(playerid,%f); SetCameraBehindPlayer(playerid);\r\n",x,y,z,Ang);
  53. format(ReturnLine, 50,"return 1;\r\n"); format(EndBrace, 50,"}\r\n"); format(NewLine,50," \r\n"); format(Separator, 80,"//=====================================================\r\n");
  54. format(ConfirmationMessage,100,"Command Generator: Your command '/%s' has been generated and sent to the server admin.",cmdtext[9]);
  55. format(Stats,50,"Command Statistics:"); format(XValue,50,"X value: %f",x); format(YValue,50,"Y value: %f",y); format(ZValue,50,"Z value: %f",z); format(ANGValue,50,"Angle value: %f",Ang);
  56. SendClientMessage(playerid,0x33CCFFAA,ConfirmationMessage); SendClientMessage(playerid,0x33CCFFAA,Stats);
  57. SendClientMessage(playerid,0xFFFFFFAA,XValue); SendClientMessage(playerid,0xFFFFFFAA,YValue); SendClientMessage(playerid,0xFFFFFFAA,ZValue); SendClientMessage(playerid,0xFFFFFFAA,ANGValue);
  58. SendClientMessage(playerid,0xFFFFFFAA,"Thankyou. Your command was very helpful to the server owner.");
  59. #if PrintInConsole == true
  60. printf("[generator] Player '%s' (IP:%s) requested '/%s'.", PlayerName,PlayerIp,cmdtext[9]);
  61. #endif
  62. #if SendAdminMessage == true
  63. format(AdminMessage,100,"GENERATOR: Player '%s' (ID:%d) requested '/%s'",PlayerName,playerid,cmdtext[9]); SendClientMessageToAdmins(0x33CCFFAA,AdminMessage);
  64. #endif
  65. GenCmds = fopen("Generated_Commands.txt", io_append); fwrite(GenCmds,CommandName);
  66. #if VehicleTele == true
  67. fwrite(GenCmds,VehicleLine); fwrite(GenCmds,PlayerLine);
  68. #endif
  69. #if VehicleTele != true
  70. fwrite(GenCmds,AltPlayerLine);
  71. #endif
  72. fwrite(GenCmds,ReturnLine); fwrite(GenCmds,EndBrace); fwrite(GenCmds,NewLine); fwrite(GenCmds,Separator); fwrite(GenCmds,NewLine); fclose(GenCmds);
  73.  
  74. return 1;
  75. }
  76. return 0;
  77. }
  78.  
  79. strtok(const string[], &index)
  80. {
  81. new length = strlen(string);
  82. while ((index < length) && (string[index] <= ' '))
  83. {
  84. index++;
  85. }
  86.  
  87. new offset = index;
  88. new result[20];
  89. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  90. {
  91. result[index - offset] = string[index];
  92. index++;
  93. }
  94. result[index - offset] = EOS;
  95. return result;
  96. }
  97.  
  98. stock SendClientMessageToAdmins(colour, const message[]) { // By 50p: http://forum.sa-mp.com/index.php?topic=638.msg59538#msg59538
  99. for(new i=0; i<MAX_PLAYERS; i++) {
  100. if(IsPlayerConnected(i)) {
  101. if(IsPlayerAdmin(i)) {
  102. SendClientMessage(i, colour, message);
  103. }
  104. }
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment