Advertisement
supertimor

Untitled

Feb 12th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdkhooks>
  3. #include <sdktools>
  4. #include <codmod>
  5.  
  6. #define PREFIX "\x01\x0B \x02★Multi-Head★\x01"
  7.  
  8. new const String:nazwa[] = "Fach złodziejski";
  9. new const String:opis[] = "Masz 1/LW szans na zabranie perku swojej ofierze.";
  10.  
  11. new bool:ma_item[65],
  12. wartosc_itemu[65];
  13.  
  14. bool menu_otwarte[MAXPLAYERS+1];
  15. int item_zabijanego;
  16. int index_zabijanego;
  17. char kradziony_item[MAXPLAYERS + 1];
  18. public Plugin:myinfo =
  19. {
  20. name = nazwa,
  21. author = "SUPER TIMOR",
  22. description = "Item - Fach złodziejski",
  23. version = "1.0",
  24. url = "http://steamcommunity.com/id/bonkwszlaufrocku"
  25. };
  26.  
  27. public OnPluginStart()
  28. {
  29. HookEvent("player_death", SmiercGracza);
  30. cod_register_item(nazwa, opis, 0, 0);
  31. }
  32. public cod_item_enabled(client, wartosc)
  33. {
  34. ma_item[client] = true;
  35. wartosc_itemu[client] = wartosc;
  36. menu_otwarte[client] = false;
  37. item_zabijanego = 0;
  38. index_zabijanego = 0;
  39. kradziony_item = "";
  40. }
  41. public cod_item_disabled(client)
  42. {
  43. ma_item[client] = false;
  44. menu_otwarte[client] = false;
  45. item_zabijanego = 0;
  46. index_zabijanego = 0;
  47. kradziony_item = "";
  48. }
  49. public Action:SmiercGracza(Handle:event, String:name[], bool:dontbroadcast)
  50. {
  51. int client = GetClientOfUserId(GetEventInt(event, "userid"));
  52. int killer = GetClientOfUserId(GetEventInt(event, "attacker"));
  53.  
  54. if(!IsValidClient(client) || !ma_item[killer])
  55. return Plugin_Continue;
  56.  
  57. if(!IsValidClient(killer) || GetClientTeam(client) == GetClientTeam(killer))
  58. return Plugin_Continue;
  59.  
  60. item_zabijanego = cod_get_user_item(client);
  61.  
  62. if(GetRandomInt(1, wartosc_itemu[killer]) == 1 && !menu_otwarte[killer] & (item_zabijanego > 0))
  63. {
  64. menu_otwarte[killer] = true;
  65. index_zabijanego = client;
  66. KradziezMenu(killer, 0);
  67. }
  68.  
  69. return Plugin_Continue;
  70. }
  71. public Action:KradziezMenu(client, args)
  72. {
  73. if(!IsPlayerAlive(client))
  74. return Plugin_Continue;
  75.  
  76. if(!menu_otwarte[client])
  77. return Plugin_Continue;
  78.  
  79.  
  80. kradziony_item[index_zabijanego] = cod_get_item_name(item_zabijanego, kradziony_item[index_zabijanego], sizeof(kradziony_item[]));
  81. char tekst[64];
  82. new Handle:menu = CreateMenu(KradziezMenu_Handler);
  83. SetMenuTitle(menu, "Fach złodziejski:");
  84.  
  85. Format(tekst, sizeof(tekst), "Czy chcesz ukraść item %s", kradziony_item[index_zabijanego]);
  86. AddMenuItem(menu, "", tekst, ITEMDRAW_DISABLED);
  87. Format(tekst, sizeof(tekst), "------------------------");
  88. AddMenuItem(menu, "", tekst, ITEMDRAW_DISABLED);
  89. Format(tekst, sizeof(tekst), "Tak");
  90. AddMenuItem(menu, "1", tekst);
  91. Format(tekst, sizeof(tekst), "Nie");
  92. AddMenuItem(menu, "2", tekst);
  93. DisplayMenu(menu, client, 250);
  94.  
  95. return Plugin_Handled;
  96. }
  97. public KradziezMenu_Handler(Handle:classhandle, MenuAction:action, client, Position)
  98. {
  99. if(action == MenuAction_Select)
  100. {
  101. new String:Item[32];
  102. GetMenuItem(classhandle, Position, Item, sizeof(Item));
  103.  
  104. if(StrEqual(Item, "1"))
  105. {
  106. if(!IsClientInGame(index_zabijanego))
  107. PrintToChat(client, "%s Gracz, którego item chciałeś ukraść wyszedł z gry!", PREFIX);
  108. else if(ma_item[client])
  109. {
  110. cod_set_user_item(index_zabijanego, 0, 0, 0);
  111. cod_set_user_item(client, kradziony_item[index_zabijanego], 100, 100);
  112. PrintToChat(client, "%s Ukradłeś %s!", PREFIX, kradziony_item[item_zabijanego], );
  113. PrintToChat(index_zabijanego, "%s Twój item został skradziony!", PREFIX);
  114. menu_otwarte[client] = false;
  115. item_zabijanego = 0;
  116. index_zabijanego = 0;
  117. kradziony_item = "";
  118.  
  119. }
  120. }
  121. else if(StrEqual(Item, "2"))
  122. {
  123. menu_otwarte[client] = false;
  124. item_zabijanego = 0;
  125. index_zabijanego = 0;
  126. kradziony_item = "";
  127. return;
  128. }
  129. }
  130. else if(action == MenuAction_End)
  131. {
  132. CloseHandle(classhandle);
  133. menu_otwarte[client] = false;
  134. item_zabijanego = 0;
  135. index_zabijanego = 0;
  136. kradziony_item = "";
  137. }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement