XD
12 removals
Words removed | 29 |
Total words | 272 |
Words removed (%) | 10.66 |
102 lines
4 additions
Words added | 7 |
Total words | 250 |
Words added (%) | 2.80 |
95 lines
#include <amxmodx>
#include <amxmodx>
#include <amxmisc>
#include <amxmisc>
#include <cstrike>
#include <cstrike>
#include <hamsandwich>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta>
#define PLUGIN "C4 Wire Cut"
#define PLUGIN "C4 Wire Cut"
#define VERSION "1.6"
#define VERSION "1.6"
#define AUTHOR "YourName"
#define AUTHOR "edit: N1K1Cz | AmxxPro.pl"
new g_wire_choice[33]; // Запазва избраната жица за всеки играч
new g_wire_choice[33]; // Запазва избраната жица за всеки играч
new g_planted_by; // Запазва ID на терориста, заложил бомбата
new g_planted_by; // Запазва ID на терориста, заложил бомбата
public plugin_init() {
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("BombPlanted", "OnBombPlanted", "a");
register_event("BombBeginDefuse", "OnBombBeginDefuse", "b", "1=1"); // CT започва да обезврежда
register_event("BombDefused", "OnBombDefused", "a");
}
}
public OnBombPlanted() {
public bomb_planted(id) {
new id = read_data(1);
g_planted_by = id;
g_planted_by = id;
show_wire_menu(id);
show_wire_menu(id);
}
}
public show_wire_menu(id) {
public show_wire_menu(id) {
new menu = menu_create("Избери жица:", "wire_menu_handler");
new menu = menu_create("Избери жица:", "wire_menu_handler");
menu_additem(menu, "Бяла", "1");
menu_additem(menu, "Бяла", "1");
menu_additem(menu, "Зелена", "2");
menu_additem(menu, "Зелена", "2");
menu_additem(menu, "Червена", "3");
menu_additem(menu, "Червена", "3");
menu_display(id, menu);
menu_display(id, menu);
}
}
public wire_menu_handler(id, menu, item) {
public wire_menu_handler(id, menu, item) {
if (item == MENU_EXIT) {
if (item == MENU_EXIT) {
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
new data[6], szName[64];
new data[6], szName[64];
new access, callback;
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, szName, 63, callback);
menu_item_getinfo(menu, item, access, data, 5, szName, 63, callback);
g_wire_choice[g_planted_by] = str_to_num(data);
g_wire_choice[g_planted_by] = str_to_num(data);
menu_destroy(menu);
menu_destroy(menu);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
public OnBombBeginDefuse() {
public bomb_defusing(id)
new id = read_data(1);
show_defuse_menu(id);
show_defuse_menu(id);
}
public show_defuse_menu(id) {
public show_defuse_menu(id) {
new menu = menu_create("Избери жица за рязане:", "defuse_menu_handler");
new menu = menu_create("Избери жица за рязане:", "defuse_menu_handler");
menu_additem(menu, "Бяла", "1");
menu_additem(menu, "Бяла", "1");
menu_additem(menu, "Зелена", "2");
menu_additem(menu, "Зелена", "2");
menu_additem(menu, "Червена", "3");
menu_additem(menu, "Червена", "3");
menu_display(id, menu);
menu_display(id, menu);
}
}
public defuse_menu_handler(id, menu, item) {
public defuse_menu_handler(id, menu, item) {
if (item == MENU_EXIT) {
if (item == MENU_EXIT) {
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
new data[6], szName[64];
new data[6], szName[64];
new access, callback;
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, szName, 63, callback);
menu_item_getinfo(menu, item, access, data, 5, szName, 63, callback);
new chosen_wire = str_to_num(data);
new chosen_wire = str_to_num(data);
if (chosen_wire == g_wire_choice[g_planted_by]) {
if (chosen_wire == g_wire_choice[g_planted_by]) {
client_print(id, print_center, "Правилната жица! Бомбата е обезвредена.");
client_print(id, print_center, "Правилната жица! Бомбата е обезвредена.");
} else {
} else {
client_print(id, print_center, "Грешна жица! Бомбата избухва.");
client_print(id, print_center, "Грешна жица! Бомбата избухва.");
create_explosion(id);
create_explosion(id);
}
}
menu_destroy(menu);
menu_destroy(menu);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}
public create_explosion(id) {
public create_explosion(id) {
new Float:origin[3];
new Float:origin[3];
pev(id, pev_origin, origin); // Взима позицията на играча
pev(id, pev_origin, origin); // Взима позицията на играча
new explosion = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_explosion"));
new explosion = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_explosion"));
if (!pev_valid(explosion)) return;
if (!pev_valid(explosion)) return;
set_pev(explosion, pev_origin, origin);
set_pev(explosion, pev_origin, origin);
set_pev(explosion, pev_dmg, 500.0);
set_pev(explosion, pev_dmg, 500.0);
set_pev(explosion, pev_scale, 1.0);
set_pev(explosion, pev_scale, 1.0);
set_pev(explosion, pev_spawnflags, 1);
set_pev(explosion, pev_spawnflags, 1);
dllfunc(DLLFunc_Spawn, explosion);
dllfunc(DLLFunc_Spawn, explosion);
emit_sound(explosion, CHAN_WEAPON, "weapons/c4_explode1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
emit_sound(explosion, CHAN_WEAPON, "weapons/c4_explode1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
}
}
public OnBombDefused() {
public bomb_defused() {
g_wire_choice[g_planted_by] = 0;
g_wire_choice[g_planted_by] = 0;
g_planted_by = 0;
g_planted_by = 0;
}
}