Advertisement
CIBERKILLER

CP System 1.0

Aug 1st, 2014
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.31 KB | None | 0 0
  1. //Include
  2. #include <a_samp>
  3. #include <ocmd>
  4. #include <sscanf_michael>
  5.  
  6. //Einstellungen
  7. #define POS_PRISON 98.8493,1915.8795,18.2316
  8.  
  9. //Variablen
  10. new Text:Textdraw[5];
  11. new PlayerText:pTextDraw[MAX_PLAYERS][5];
  12. new Timer[MAX_PLAYERS];
  13.  
  14. //Timer
  15. forward UpdateCPInfo(playerid);
  16.  
  17. public OnFilterScriptInit()
  18. {
  19.     Textdraw[0] = TextDrawCreate(610.666625, 174.892593, "usebox");
  20.     TextDrawLetterSize(Textdraw[0], 0.000000, 5.168106);
  21.     TextDrawTextSize(Textdraw[0], 494.666687, 0.000000);
  22.     TextDrawAlignment(Textdraw[0], 1);
  23.     TextDrawColor(Textdraw[0], 0);
  24.     TextDrawUseBox(Textdraw[0], true);
  25.     TextDrawBoxColor(Textdraw[0], 102);
  26.     TextDrawSetShadow(Textdraw[0], 0);
  27.     TextDrawSetOutline(Textdraw[0], 0);
  28.     TextDrawFont(Textdraw[0], 0);
  29.  
  30.     Textdraw[1] = TextDrawCreate(515.333312, 171.318557, "CP - Jail");
  31.     TextDrawLetterSize(Textdraw[1], 0.469999, 1.724444);
  32.     TextDrawAlignment(Textdraw[1], 1);
  33.     TextDrawColor(Textdraw[1], -1);
  34.     TextDrawSetShadow(Textdraw[1], 0);
  35.     TextDrawSetOutline(Textdraw[1], 1);
  36.     TextDrawBackgroundColor(Textdraw[1], 51);
  37.     TextDrawFont(Textdraw[1], 1);
  38.     TextDrawSetProportional(Textdraw[1], 1);
  39.     return 1;
  40. }
  41.  
  42.  
  43. public OnPlayerDeath(playerid, killerid, reason)
  44. {
  45.     if(GetPVarInt(playerid, "Checkpoints") < 1)return 1;
  46.     SetPVarInt(playerid, "Tod", 1);
  47.     return 1;
  48. }
  49.  
  50. public OnPlayerSpawn(playerid)
  51. {
  52.     if(GetPVarInt(playerid, "Tod") < 1)return 1;
  53.     SpawnPlayer(playerid);
  54.     SetPlayerPos(playerid, POS_PRISON), SetPlayerInterior(playerid, 0);
  55.     TextDrawHideForPlayer(playerid, Textdraw[0]),TextDrawHideForPlayer(playerid, Textdraw[1]);
  56.     KillTimer(Timer[playerid]);
  57.     SetPlayerCheckpoint(playerid, 284.9121,1808.0790,17.6406, 5);
  58.     TextDrawShowForPlayer(playerid, Textdraw[0]),TextDrawShowForPlayer(playerid, Textdraw[1]);
  59.     PlayerTextDrawShow(playerid, pTextDraw[playerid][0]);
  60.     Timer[playerid] = SetTimerEx("UpdateCPInfo", 500, true, "i", playerid);
  61.     RemovePlayerAttachedObject(playerid, 0);
  62.     SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  63.     SendClientMessage(playerid, -1, "Du kannst dich nicht durch Töten aus der Patsche holen!");
  64.     SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
  65.     SetPlayerAttachedObject(playerid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
  66.     SetPlayerSkin(playerid, 46);
  67.     GameTextForPlayer(playerid, "~r~Prison!", 2000, 5);
  68.     SetPVarInt(playerid, "Tod", 0);
  69.     return 1;
  70. }
  71.  
  72. public OnFilterScriptExit()
  73. {
  74.     return 1;
  75. }
  76.  
  77. public OnPlayerRequestClass(playerid, classid)
  78. {
  79.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  80.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  81.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  82.     return 1;
  83. }
  84.  
  85. public OnPlayerConnect(playerid)
  86. {
  87.     pTextDraw[playerid][0] = CreatePlayerTextDraw(playerid, 496.333312, 191.229644, "Restliche_CP:");
  88.     PlayerTextDrawLetterSize(playerid, pTextDraw[playerid][0], 0.375000, 1.351111);
  89.     PlayerTextDrawAlignment(playerid, pTextDraw[playerid][0], 1);
  90.     PlayerTextDrawColor(playerid, pTextDraw[playerid][0], -16776961);
  91.     PlayerTextDrawSetShadow(playerid, pTextDraw[playerid][0], -1);
  92.     PlayerTextDrawSetOutline(playerid, pTextDraw[playerid][0], 0);
  93.     PlayerTextDrawBackgroundColor(playerid, pTextDraw[playerid][0], 51);
  94.     PlayerTextDrawFont(playerid, pTextDraw[playerid][0], 1);
  95.     PlayerTextDrawSetProportional(playerid, pTextDraw[playerid][0], 1);
  96.     return 1;
  97. }
  98.  
  99. public OnPlayerDisconnect(playerid, reason)
  100. {
  101.     return 1;
  102. }
  103.  
  104. public OnPlayerEnterCheckpoint(playerid)
  105. {
  106.     if(GetPVarInt(playerid, "Checkpoints") > 0)
  107.     {
  108.         new rand = 1 + random(4);
  109.         if(rand == 0){SetPlayerCheckpoint(playerid, 284.9121, 1808.0790, 17.6406, 5.0),SetPVarInt(playerid, "Checkpoints", GetPVarInt(playerid, "Checkpoints") - 1);return 1; }
  110.         if(rand == 1){SetPlayerCheckpoint(playerid, 208.9993, 1940.2766, 17.6406, 5.0),SetPVarInt(playerid, "Checkpoints", GetPVarInt(playerid, "Checkpoints") - 1);return 1; }
  111.         if(rand == 2){SetPlayerCheckpoint(playerid, 97.0144, 1819.4020, 17.6406, 5.0),SetPVarInt(playerid, "Checkpoints", GetPVarInt(playerid, "Checkpoints") - 1);return 1; }
  112.         if(rand == 3){SetPlayerCheckpoint(playerid, 220.7634, 1851.2101, 12.6547, 5.0),SetPVarInt(playerid, "Checkpoints", GetPVarInt(playerid, "Checkpoints") - 1);return 1; }
  113.         if(rand == 4){SetPlayerCheckpoint(playerid, 208.2701, 1840.2062, 17.6406, 5.0),SetPVarInt(playerid, "Checkpoints", GetPVarInt(playerid, "Checkpoints") - 1);return 1; }
  114.     }
  115.     return 1;
  116. }
  117.  
  118. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  119. {
  120.     if(newkeys == KEY_JUMP && GetPVarInt(playerid, "Checkpoints") > 0)
  121.     {
  122.         //ApplyAnimation(playerid, "ped", "FALL_fall", 3.0, 1, 1, 0, 1, 1);
  123.         TogglePlayerControllable(playerid, true);
  124.         SendClientMessage(playerid, -1, "Bitte unterlasse das Bunnyhopping im CP - Jail");
  125.         return 1;
  126.     }
  127.     return 1;
  128. }
  129.  
  130. public OnPlayerCommandText(playerid, cmdtext[])
  131. {
  132.     return 1;
  133. }
  134.  
  135. ocmd:cpjail(playerid, params[])
  136. {
  137.     new id, value, reason[50], sendername[24], giveplayerid[24], string[256], Float:x, Float:y, Float:z;
  138.     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "Du bist nicht berechtigt.");
  139.     if(sscanf(params, "uis", id, value, reason))return SendClientMessage(playerid, -1, "Fehler: /cpjail [Spielername/Spielerid] [Anzahl] [Grund]");
  140.     if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, -1, "Der Spieler ist nicht online");
  141.     if(GetPVarInt(id, "Checkpoints") > 0)return SendClientMessage(playerid, -1, "Dieser Spieler ist bereits im CP Jail");
  142.     if(value < 20 || value > 300)return SendClientMessage(playerid, -1, "Mindesten: 20 | Mindesten: 300");
  143.     GetPlayerName(playerid, sendername, sizeof(sendername)), GetPlayerName(id, giveplayerid, sizeof(giveplayerid));
  144.     format(string, sizeof(string), "[JAIL]: %s wurde von %s für %i CPS eingesperrt. Grund: %s", giveplayerid, sendername, value, reason);
  145.     SendClientMessageToAll(0xD70000FF, string);
  146.     SetPVarInt(id, "Checkpoints", value);
  147.     SetPlayerSpecialAction(id, SPECIAL_ACTION_CUFFED);
  148.     SetPlayerAttachedObject(id, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
  149.     GameTextForPlayer(id, "~r~Prison!", 2000, 5);
  150.     SetPlayerPos(id, POS_PRISON), SetPlayerInterior(id, 0);
  151.     SetPlayerCheckpoint(id, 284.9121,1808.0790,17.6406, 5);
  152.     TextDrawShowForPlayer(id, Textdraw[0]),TextDrawShowForPlayer(id, Textdraw[1]);
  153.     PlayerTextDrawShow(id, pTextDraw[id][0]);
  154.     Timer[id] = SetTimerEx("UpdateCPInfo", 500, true, "i", id);
  155.     GetPlayerPos(id, x, y, z);
  156.     SetPlayerSkin(id, 46);
  157.     SetPVarFloat(id, "X", x),SetPVarFloat(id, "Y", y),SetPVarFloat(id, "Z", z),SetPVarInt(id, "Int", GetPlayerInterior(id));
  158.     return 1;
  159. }
  160.  
  161. ocmd:cpunjail(playerid, params[])
  162. {
  163.     new id, string[256], giveplayerid[24], sendername[24];
  164.     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "Du bist nicht berechtigt.");
  165.     if(sscanf(params, "u", id))return SendClientMessage(playerid, -1, "/cpunjail [Spielerid/Spielername]");
  166.     if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, -1, "Der Spieler ist nicht online");
  167.     GetPlayerName(playerid, sendername, sizeof(sendername)), GetPlayerName(id, giveplayerid, sizeof(giveplayerid));
  168.     if(GetPVarInt(id, "Checkpoints") == 0)return SendClientMessage(playerid, -1, "Der Spieler ist nicht im CP - Jail");
  169.     format(string, sizeof(string), "[JAIL]: %s wurde von %s aus dem CP - Jail geholt.", giveplayerid, sendername);
  170.     SendClientMessageToAll(0xD70000FF, string);
  171.     SetPVarInt(id, "Checkpoints", 0);
  172.     return 1;
  173. }
  174.  
  175. public UpdateCPInfo(playerid)
  176. {
  177.     if(GetPVarInt(playerid, "Checkpoints") < 1)
  178.     {
  179.         SetPlayerPos(playerid, GetPVarFloat(playerid, "X"), GetPVarFloat(playerid, "Y"), GetPVarFloat(playerid, "Z")), SetPlayerInterior(playerid, GetPVarInt(playerid, "Int"));
  180.         GameTextForPlayer(playerid, "Du bist ~g~FREI!", 2000, 5);
  181.         TextDrawHideForPlayer(playerid, Textdraw[0]),TextDrawHideForPlayer(playerid, Textdraw[1]);
  182.         PlayerTextDrawHide(playerid, pTextDraw[playerid][0]);
  183.         RemovePlayerAttachedObject(playerid, 0);
  184.         SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  185.         KillTimer(Timer[playerid]);
  186.         return 1;
  187.     }
  188.     new string[25];
  189.     format(string, sizeof(string), "Restliche_CP: %i", GetPVarInt(playerid, "Checkpoints"));
  190.     PlayerTextDrawSetString(playerid, pTextDraw[playerid][0], string);
  191.     return 1;
  192. }
  193.  
  194. ocmd:t(playerid)return SetPlayerHealth(playerid, (0-1.1));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement