Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <colorchat>
- #include <fun>
- #include <sqlx>
- #include <fakemeta>
- enum _:Typ_Kill {
- Szint,
- Xp,
- Pont,
- Oles
- }
- enum _:Typers {
- Cost[8],
- Name[32],
- Model[64]
- }
- new g_IKills[Typ_Kill][33], g_IKes[Typ_Kill][33];
- new const g_IPrefix[] = "[Only Knife 1.0]";
- new SynHud;
- new Handle:g_SqlTuple;
- new const SQL_INFO[][] = {
- "",
- "",
- "",
- ""
- };
- new const g_iSzintKesek[][Typers] = {
- {0, "Alap KĂ©s", "models/v_knife.mdl"},
- {15, "KĂ©s", "models/onlyknife/Szint/v_.mdl"},
- {30, "KĂ©s", "models/onlyknife/Szint/v_.mdl"},
- {55, "KĂ©s", "models/onlyknife/Szint/v_.mdl"},
- {70, "KĂ©s", "models/onlyknife/Szint/v_.mdl"},
- {85, "KĂ©s", "models/onlyknife/Szint/v_.mdl"}
- };
- new const g_iPontKesek[][Typers] = {
- {0, "Alap KĂ©s", "models/v_knife.mdl"},
- {500, "KĂ©s", "models/onlyknife/Pont/v_.mdl"},
- {1000, "KĂ©s", "models/onlyknife/Pont/v_.mdl"},
- {1500, "KĂ©s", "models/onlyknife/Pont/v_.mdl"},
- {2000, "KĂ©s", "models/onlyknife/Pont/v_.mdl"}
- }
- new const g_iOlesKesek[][Typers] = {
- {0, "Alap KĂ©s", "models/v_knife.mdl"},
- {50, "KĂ©s", "models/onlyknife/Oles/v_.mdl"},
- {100, "KĂ©s", "models/onlyknife/Oles/v_.mdl"},
- {150, "KĂ©s", "models/onlyknife/Oles/v_.mdl"},
- {200, "KĂ©s", "models/onlyknife/Oles/v_.mdl"}
- };
- public plugin_init() {
- register_plugin("OnlyKnife", "1.0", "Yoltan.");
- register_clcmd("drop", "Fomenu");
- register_clcmd("say /menu", "Fomenu");
- register_event("DeathMsg", "Halal", "a");
- register_event("CurWeapon", "FegyverValtas", "be", "1=1");
- SynHud = CreateHudSyncObj();
- set_task(3.0, "Hud_M", 0, _, _, "b");
- }
- public Hud_M() {
- new players[32], pnum, id;
- get_players(players, pnum, "c");
- for(new i;i<pnum; i++) {
- id = players[i];
- set_hudmessage(255, 255, 255, 0.10, 0.2, 0, 6.0, 12.0);
- ShowSyncHudMsg(id, SynHud, "Szint: %d^nTapasztalat:%d/%d^nPont:%d Ölés:%d", g_IKills[Szint][id],
- g_IKills[Xp][id], g_IKills[Pont][id], g_IKills[Oles][id]);
- }
- }
- public plugin_precache() {
- for(new i;i < sizeof(g_iSzintKesek); i++)
- precache_model(g_iSzintKesek[i][Model]);
- for(new i;i < sizeof(g_iPontKesek); i++)
- precache_model(g_iPontKesek[i][Model]);
- for(new i;i < sizeof(g_iOlesKesek); i++)
- precache_model(g_iOlesKesek[i][Model]);
- }
- public FegyverValtas(id) {
- new Gun = get_user_weapon(id);
- for(new i;i < sizeof(g_iSzintKesek); i++) {
- if(g_IKes[Szint][id] == i && Gun == CSW_KNIFE)
- set_pev(id, pev_viewmodel2, g_iSzintKesek[i][Model]);
- }
- for(new i;i < sizeof(g_iPontKesek); i++) {
- if(g_IKes[Pont][id] == i && Gun == CSW_KNIFE)
- set_pev(id, pev_viewmodel2, g_iPontKesek[i][Model]);
- }
- for(new i;i < sizeof(g_iOlesKesek); i++) {
- if(g_IKes[Oles][id] == i && Gun == CSW_KNIFE)
- set_pev(id, pev_viewmodel2, g_iOlesKesek[i][Model]);
- }
- }
- public Halal() {
- new id = read_data(1);
- new Num; Num += random_num(11, 17);
- if(id == read_data(2) && id == 0)
- return PLUGIN_HANDLED;
- g_IKills[Pont][id] += 2;
- g_IKills[Oles][id] ++;
- if(g_IKills[Szint][id] > 0 && g_IKills[Szint][id] < 1000)
- g_IKills[Xp][id] += Num;
- if(g_IKills[Xp][id] < 100) {
- new Nev[32]; get_user_name(id, Nev, 31);
- g_IKills[Szint][id] ++;
- g_IKills[Xp][id] -= 100;
- ColorChat(0, NORMAL, "^4%s ^1Játékos ^3%s ^1Szinted Ugrott.", g_IPrefix, Nev);
- }
- ColorChat(id, NORMAL, "^4%s ^1Kaptál +2 Pont | +1 Ölés | %d Xp- t.", g_IPrefix, Num);
- return PLUGIN_HANDLED;
- }
- public Fomenu(id) {
- new menu = menu_create("\rOnly Knife \d| \yFőmenű\r*", "Fomenu_h");
- menu_additem(menu, "KĂ©sek", "1", 0);
- menu_additem(menu, "Bolt\d(Extra Cuccok)", "2", 0);
- menu_display(id, menu, 0);
- }
- public Fomenu_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- switch(item)
- {
- case 1:Kesek_M(id);
- case 2:Bolt_M(id);
- }
- }
- public Kesek_M(id) {
- new menu = menu_create("\rOnly Knife \d| \yKĂ©sek\r*", "KesekM_h");
- menu_additem(menu, "Szint KĂ©sek", "1", 0);
- menu_additem(menu, "Pont KĂ©sek", "2", 0);
- menu_additem(menu, "Ölés Kések", "3", 0);
- menu_display(id, menu, 0);
- }
- public KesekM_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- switch(item)
- {
- case 1:Szint_Kesek(id);
- case 2:Pont_Kesek(id);
- case 3:Oles_Kesek(id);
- }
- }
- public Szint_Kesek(id){
- new cim[128], num[8];
- new menu = menu_create("\rOnly Knife \d| \ySzint KĂ©sek", "KesekS_h");
- for(new i;i < sizeof(g_iSzintKesek); i++) {
- num_to_str(i, num, charsmax(num));
- format(cim, charsmax(cim), g_IKills[Szint][id] >= g_iSzintKesek[i][Cost] ? "\w%s \d(Aktiv)":"\w%s \d(%d Szint)", g_iSzintKesek[i][Name], g_iSzintKesek[i][Cost]);
- menu_additem(menu, cim, num);
- }
- menu_display(id, menu, 0);
- }
- public KesekS_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- if(g_IKills[Szint][id] >= g_iSzintKesek[item][Cost]){
- g_IKes[Szint][id] = item;
- g_IKes[Oles][id] = 0;
- g_IKes[Pont][id] = 0;
- Knife(id)
- ColorChat(id, NORMAL, "^4%s ^1Sikeresen kiválasztodtad a ^4%s^1-t.",g_IPrefix, g_iSzintKesek[item][Name]);
- }
- else {
- ColorChat(id, NORMAL, "^4%s ^1Nincs elég szinted kell még %d.", g_IPrefix, g_iSzintKesek[item][Cost]);
- Szint_Kesek(id);
- }
- }
- public Pont_Kesek(id){
- new cim[128], num[8];
- new menu = menu_create("\rOnly Knife \d| \yPont KĂ©sek", "KesekP_h");
- for(new i;i < sizeof(g_iPontKesek); i++) {
- num_to_str(i, num, charsmax(num));
- format(cim, charsmax(cim), g_IKills[Pont][id] >= g_iPontKesek[i][Cost] ? "\w%s \d(Aktiv)":"\w%s \d(%d Pont)", g_iPontKesek[i][Name], g_iPontKesek[i][Cost]);
- menu_additem(menu, cim, num);
- }
- menu_display(id, menu, 0);
- }
- public KesekP_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- if(g_IKills[Pont][id] >= g_iPontKesek[item][Cost]){
- g_IKes[Pont][id] = item;
- g_IKes[Szint][id] = 0;
- g_IKes[Oles][id] = 0;
- Knife(id)
- g_IKills[Pont][id] -= g_iPontKesek[item][Cost]
- ColorChat(id, NORMAL, "^4%s ^1Sikeresen kiválasztodtad a ^4%s^1-t.",g_IPrefix, g_iPontKesek[item][Name]);
- }
- else {
- ColorChat(id, NORMAL, "^4%s ^1Nincs elég pontod kell még %d.", g_IPrefix, g_iPontKesek[item][Cost]);
- Pont_Kesek(id);
- }
- }
- public Oles_Kesek(id){
- new cim[128], num[8];
- new menu = menu_create("\rOnly Knife \d| \yOles KĂ©sek\r*", "KesekO_h");
- for(new i;i < sizeof(g_iOlesKesek); i++) {
- num_to_str(i, num, charsmax(num));
- format(cim, charsmax(cim), g_IKills[Oles][id] >= g_iOlesKesek[i][Cost] ? "\w%s \d(Aktiv)":"\w%s \d(%d Ölés)", g_iOlesKesek[i][Name], g_iOlesKesek[i][Cost]);
- menu_additem(menu, cim, num);
- }
- menu_display(id, menu, 0);
- }
- public KesekO_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- if(g_IKills[Oles][id] >= g_iOlesKesek[item][Cost]){
- g_IKes[Oles][id] = item;
- g_IKes[Pont][id] = 0;
- g_IKes[Szint][id] = 0;
- Knife(id)
- ColorChat(id, NORMAL, "^4%s ^1Sikeresen kiválasztodtad a ^4%s^1-t.",g_IPrefix, g_iOlesKesek[item][Name]);
- }
- else {
- ColorChat(id, NORMAL, "^4%s ^1Nincs elég ölésed kell még %d.", g_IPrefix, g_iOlesKesek[item][Cost]);
- Oles_Kesek(id);
- }
- }
- public Knife(id) {
- strip_user_weapons(id);
- give_item(id, "weapon_knife");
- }
- public Bolt_M(id) {
- new menu = menu_create("\rOnly Knife \d| \yBolt\r*", "Bolt_h");
- menu_additem(menu, "+25 Hp \d(25 Pont)", "1", 0);
- menu_additem(menu, "+20 Gyorsaság\d(20 Pont)", "2", 0);
- menu_additem(menu, "+20 Gravitáció\d(50 Pont)", "3", 0);
- menu_display(id, menu, 0);
- }
- public Bolt_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return;
- }
- new data[9], access, callback, szName[64];
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- switch(item) {
- case 1: {
- if(g_IKills[Pont][id] >= 25) {
- g_IKills[Pont][id] -= 25;
- set_user_health(id, get_user_health(id)+25);
- }
- else ColorChat(id, NORMAL, "^4%s ^1Nincs elég pontod.", g_IPrefix);
- }
- case 2: {
- if(g_IKills[Pont][id] >= 20) {
- g_IKills[Pont][id] -= 20;
- set_user_maxspeed(id, Float:300.0);
- }
- else ColorChat(id, NORMAL, "^4%s ^1Nincs elég pontod.", g_IPrefix);
- }
- case 3: {
- if(g_IKills[Pont][id] >= 50) {
- g_IKills[Pont][id] -= 50;
- set_user_gravity(id, 0.80);
- }
- else ColorChat(id, NORMAL, "^4%s ^1Nincs elég pontod.", g_IPrefix);
- }
- }
- }
- public client_disconnect(id) {
- if(!is_user_bot(id))
- Update_SQL(id);
- }
- public client_putinserver(id) {
- g_IKills[Szint][id] = 0;
- g_IKills[Xp][id] = 0;
- g_IKills[Pont][id] = 0;
- g_IKills[Oles][id] = 0;
- g_IKes[Szint][id] = 0;
- g_IKes[Pont][id] = 0;
- g_IKes[Oles][id] = 0;
- if(!is_user_bot(id)) {
- Load_Sql(id);
- }
- }
- public plugin_cfg() {
- g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0], SQL_INFO[1], SQL_INFO[2], SQL_INFO[3]);
- new query[2048], len;
- len += formatex(query[len], charsmax(query), "CREATE TABLE IF NOT EXISTS `kesmod`");
- len += formatex(query[len], charsmax(query)-len, "(`Nev` varchar(32) NOT NULL,");
- len += formatex(query[len], charsmax(query)-len, "`Lvl` int(11) NOT NULL, `Xp` int(11) NOT NULL, `Pont` int(11) NOT NULL, `Oles` int(11) NOT NULL,");
- len += formatex(query[len], charsmax(query)-len, "`kes1` int(11) NOT NULL,`kes2` int(11) NOT NULL, `kes3` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
- SQL_ThreadQuery(g_SqlTuple, "createTableThread", query);
- }
- public Load_Sql(id) {
- new query[2048];
- new Data[1], Nev[32]; get_user_name(id, Nev, 31);
- Data[0] = id;
- formatex(query, charsmax(query), "SELECT * FROM `kesmod` WHERE Nev = ^"%s^";", Nev);
- SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", query, Data, 1);
- }
- public QuerySelectData(FailState, Handle:query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
- if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
- log_amx("%s", Error);
- return;
- }
- else {
- new id = Data[0];
- if(SQL_NumRows(query) > 0) {
- g_IKills[Szint][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "Lvl"));
- g_IKills[Xp][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "Xp"));
- g_IKills[Pont][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "Pont"));
- g_IKills[Oles][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "Oles"));
- g_IKes[Szint][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "kes1"));
- g_IKes[Pont][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "kes2"));
- g_IKes[Oles][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "kes3"));
- }
- else Save_SQL(id);
- }
- }
- public Save_SQL(id) {
- new query[2048], len;
- new Nev[32]; get_user_name(id, Nev, 31);
- len += formatex(query[len], charsmax(query), "INSERT INTO `kesmod` (`Nev`, ");
- len += formatex(query[len], charsmax(query)-len, "`Szint`, `Xp`, `Pont`, `Oles`,");
- len += formatex(query[len], charsmax(query)-len, "`kes1`, `kes2`, `kes3`) VALUES (^"%s^", ", Nev);
- len += formatex(query[len], charsmax(query)-len, "^"0^",^"0^",^"0^",^"0^",");
- len += formatex(query[len], charsmax(query)-len, "^"0^",^"0^",^"0^");");
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", query);
- }
- public Update_SQL(id) {
- new query[2048], len;
- new Nev[32]; get_user_name(id, Nev, 31);
- len += formatex(query[len], charsmax(query), "UPDATE `kesmod` SET Szint = ^"%i^", ", g_IKills[Szint][id]);
- len += formatex(query[len], charsmax(query)-len, "Xp = ^"%i^", Pont = ^"%i^", Oles = ^"%i^",", g_IKills[Xp][id], g_IKills[Pont][id], g_IKills[Oles][id]);
- len += formatex(query[len], charsmax(query)-len, "kes1 = ^"%i^", kes2 = ^"%i^", kes3 = ^"%i^" WHERE Nev = ^"%s^";", g_IKes[Szint][id], g_IKes[Pont][id], g_IKes[Oles][id]);
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", query);
- }
- public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
- if(FailState == TQUERY_CONNECT_FAILED)
- set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
- else if(FailState == TQUERY_QUERY_FAILED)
- set_fail_state("Query Error");
- if(Errcode)
- log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
- }
- public QuerySetData(FailState, Handle:query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
- if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
- log_amx("%s", Error);
- return;
- }
- }
- public plugin_end() {
- SQL_FreeHandle(g_SqlTuple);
- }
Add Comment
Please, Sign In to add comment