Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <amxmodx>
- #include <cstrike>
- #include <fakemeta>
- #include <engine>
- #include <hamsandwich>
- #include <print_color>
- #include <inc_rang>
- #include <sqlx>
- #define TABLENAME "sql_save"
- #define g_iMaxlevel 60
- new g_iQuery[1024], g_sSteamid[32];
- new const SQLBELEPO[][] = { "db.synhosting.eu", "TuranDR", "Faszombeled12989", "TuranDR" };
- new Handle:g_SqlTuple;
- enum _: g_eData{
- g_sUspname[64],
- g_sFile[64],
- g_ieLevel[64],
- Float:g_fDamage[64]
- };
- new g_iGold[33], g_iKills[33], g_iLevel[33], g_iExp[33], g_iSkin[33], g_sTitle[256];
- new const g_cSkins[][g_eData] ={
- {"Alap USP", "models/v_usp.mdl", 0},
- {"Spitfire", "models/uspskinek_DR/USP1.mdl", 3},
- {"Night shark", "models/uspskinek_DR/USP2.mdl", 7},
- {"Torque", "models/uspskinek_DR/USP3.mdl", 15},
- {"Engraved camo", "models/uspskinek_DR/USP4.mdl", 20},
- {"Bright line", "models/uspskinek_DR/USP5.mdl", 23},
- {"Caiman", "models/uspskinek_DR/USP6.mdl", 25},
- {"Chicken", "models/uspskinek_DR/USP7.mdl", 27},
- {"Cyrex", "models/uspskinek_DR/USP8.mdl", 30},
- {"Kill confirmed", "models/uspskinek_DR/USP9.mdl", 33},
- {"Orion", "models/uspskinek_DR/USP10.mdl", 36},
- {"Makarov PB", "models/uspskinek_DR/USP11.mdl", 39},
- {"Comet", "models/uspskinek_DR/USP12.mdl", 40},
- {"Hyper beast", "models/uspskinek_DR/USP13.mdl", 45},
- {"Vexter blue", "models/uspskinek_DR/USP14.mdl", 4},
- {"Fade \w(2x damage)", "models/uspskinek_DR/USP15.mdl", 50, 2.0}, //2x damage 15
- {"Gold \w(3x damage)", "models/uspskinek_DR/USP16.mdl", 53, 3.0}, //3x damage 16
- {"Silver \w(4x damage)", "models/uspskinek_DR/USP17.mdl", 55, 4.0}, //4x damage 17
- {"Hitman \w(5x damage)", "models/uspskinek_DR/USP18.mdl", 60, 5.0} //5x damage 18
- }
- new const g_cExppoint[g_iMaxlevel] ={
- 50, 150, 300, 400, 500, 650, 800, 1000, 1150, 1300,
- 1550, 1700, 1850, 2000, 2150, 2400, 2550, 2700, 2900, 3050,
- 303200, 3300, 3500, 3750, 3990, 4120, 4530 ,4710, 4905, 5050,
- 5160, 5300, 5450, 5670, 5980, 6230, 6455, 6840, 7000, 7240,
- 7350, 7510, 7770, 7990, 8100, 8340, 8560, 8695, 8820, 9000,
- 10500, 10650, 10850, 11000, 12500, 12990, 13560, 15000, 15500, 16000//60
- };
- public plugin_init(){
- register_plugin("Deathrunskinek", "1.0.0", "Turán*");
- RegisterHam(Ham_TakeDamage,"player","weapondamage",0);
- register_event("CurWeapon", "Weaponchange", "be", "1=1");
- register_clcmd("say /menu", "menu_mainmenu");
- }
- public weapondamage(iVictim, iInflicator, iKiller, Float:damage){
- if(!is_user_connected(iKiller))
- return;
- if(iVictim == iKiller || !iVictim)
- return;
- if(iKiller != iVictim){
- new iKillnum, sName[32];
- get_user_name(iVictim, sName, charsmax(sName));
- iKillnum = random_num(1,15);
- g_iExp[iKiller] += iKillnum;
- g_iGold[iKiller] += iKillnum;
- g_iKills[iKiller]++;
- check_level(iKiller);
- print_color(iKiller, "Kaptal +%d xpt, +%d olest, +%d aranyat, %s megoleseert.",g_iExp[iKiller],g_iKills[iKiller],g_iGold[iKiller],sName);
- }
- if(get_user_weapon(iKiller) == CSW_USP && g_iSkin[iKiller] == 15){
- SetHamParamFloat(4, damage * g_cSkins[15][g_fDamage])
- }
- else if(get_user_weapon(iKiller) == CSW_USP && g_iSkin[iKiller] == 16){
- SetHamParamFloat(4, damage * g_cSkins[16][g_fDamage])
- }
- else if(get_user_weapon(iKiller) == CSW_USP && g_iSkin[iKiller] == 17){
- SetHamParamFloat(4, damage * g_cSkins[17][g_fDamage])
- }
- else if(get_user_weapon(iKiller) == CSW_USP && g_iSkin[iKiller] == 18){
- SetHamParamFloat(4, damage * g_cSkins[18][g_fDamage])
- }
- }
- public menu_mainmenu(iId){
- new iMenu = menu_create("Fomenu | valassz valamit", "menu_mainmenu_h");
- menu_additem(iMenu, "USP skinek", "1",0);
- menu_additem(iMenu, "Kesmenu", "2",0);
- menu_additem(iMenu, "Shop", "3",0);
- menu_additem(iMenu, "Informacio", "4",0);
- menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
- menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Kovetkezo");
- menu_setprop(iMenu, MPROP_EXITNAME, "Kilepes");
- menu_display(iId, iMenu, 0);
- }
- public menu_mainmenu_h(iId, iMenu, iItem){
- if(iItem == MENU_EXIT){
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- new sData[6], iAccess;
- menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
- new iKey = str_to_num(sData);
- switch(iKey){
- case 1:menu_uspskins(iId);
- case 2:client_cmd(iId, "say /kes");
- case 3:client_cmd(iId, "say /shop");
- case 4:menu_infos(iId)
- }
- return PLUGIN_HANDLED;
- }
- public menu_uspskins(iId){
- new sRow[7];
- formatex(g_sTitle, charsmax(g_sTitle), "USP skinek | valassz skint");
- new iMenu = menu_create(g_sTitle, "menu_uspskins_h");
- for(new i = 0;i < sizeof(g_cSkins); i++){
- if(g_iLevel[iId] >= g_cSkins[i][g_ieLevel]){
- num_to_str(i, sRow, 6);
- formatex(g_sTitle, charsmax(g_sTitle), "%s | feloldva", g_cSkins[i][g_sUspname]);
- menu_additem(iMenu, g_sTitle, sRow);
- }
- else{
- num_to_str(i, sRow, 6);
- formatex(g_sTitle, charsmax(g_sTitle), "%s | %d. szinttol", g_cSkins[i][g_sUspname], g_cSkins[i][g_ieLevel]);
- menu_additem(iMenu, g_sTitle, sRow);
- }
- }
- menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
- menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Kovetkezo");
- menu_setprop(iMenu, MPROP_EXITNAME, "Kilepes");
- menu_display(iId, iMenu, 0);
- }
- public menu_uspskins_h(iId, iMenu, iItem){
- if(iItem == MENU_EXIT){
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- new sData[6], iAccess;
- menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
- new iKey = str_to_num(sData);
- if(g_iSkin[iId] == iKey && g_iLevel[iId] >= g_cSkins[iKey][g_ieLevel]){
- print_color(iId, "Sikeresen kivalasztottad a(z) %s skint.", g_cSkins[iKey][g_sUspname])
- }
- else if(g_iLevel[iId] < g_cSkins[iKey][g_ieLevel]){
- print_color(iId, "A %s skin %d szinttol erheto el..", g_cSkins[iKey][g_sUspname], g_cSkins[iKey][g_ieLevel])
- g_iSkin[iId] = 0;
- }
- return PLUGIN_HANDLED;
- }
- public menu_infos(iId){
- formatex(g_sTitle, charsmax(g_sTitle), "Informacio");
- new iMenu = menu_create(g_sTitle, "menu_infos_h");
- for(new i = 0; i < sizeof(Chat_resz); i++){
- formatex(g_sTitle, charsmax(g_sTitle), "Rangod: %s", Chat_resz[i][rang]);
- menu_additem(iMenu , g_sTitle, "1",0);
- formatex(g_sTitle, charsmax(g_sTitle), "Jogaid: %s", Chat_resz[i][rangflag]);
- menu_additem(iMenu , g_sTitle, "2",0);
- break;
- }
- formatex(g_sTitle, charsmax(g_sTitle), "Aranyad: %d", g_iGold[iId]);
- menu_additem(iMenu , g_sTitle, "3",0);
- formatex(g_sTitle, charsmax(g_sTitle), "Oleseid: %d", g_iKills[iId]);
- menu_additem(iMenu , g_sTitle, "4",0);
- formatex(g_sTitle, charsmax(g_sTitle), "Szinted: %d | XP: %d", g_iLevel[iId], g_iExp[iId]);
- menu_additem(iMenu , g_sTitle, "5",0);
- menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
- menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Kovetkezo");
- menu_setprop(iMenu, MPROP_EXITNAME, "Kilepes");
- menu_display(iId, iMenu, 0);
- }
- public menu_infos_h(iId, iMenu, iItem){
- if(iItem == MENU_EXIT){
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- if(iItem < 6)
- menu_infos(iId);
- return PLUGIN_HANDLED;
- }
- public check_level(iId){
- if(is_user_bot(iId) && is_user_connected(iId))
- return PLUGIN_HANDLED;
- while(g_iExp[iId] >= g_cExppoint[g_iLevel[iId]]){
- if(g_iLevel[iId] < g_iMaxlevel){
- g_iLevel[iId]++;
- print_color(iId, "Sikeres szintlepes szinted: %d/%d.",g_iLevel[iId], g_iMaxlevel);
- }
- }
- if(g_iLevel[iId] == g_iMaxlevel)
- print_color(iId, "Elerted a(z) %d. szintet, ami a jelenlegi max.", g_iMaxlevel);
- if(g_iLevel[iId] == g_iMaxlevel && g_iExp[iId] > g_cExppoint[g_iLevel[iId]]){
- g_iExp[iId] = g_cExppoint[g_iLevel[iId]];
- sql_save(iId)
- sql_update(iId)
- }
- if(g_iLevel[iId] >= g_iMaxlevel){
- g_iLevel[iId] = g_iMaxlevel;
- sql_save(iId)
- sql_update(iId)
- }
- return PLUGIN_HANDLED;
- }
- public Weaponchange(iId){
- new iWeapon = get_user_weapon(iId);
- for(new i;i < sizeof(g_cSkins); i++){
- if(g_iSkin[iId] == i && iWeapon == CSW_USP){
- set_pev(iId, pev_viewmodel2, g_cSkins[i][g_sFile]);
- }
- }
- }
- public plugin_precache(){
- for(new i;i < sizeof(g_cSkins); i++){
- precache_model(g_cSkins[i][g_sFile]);
- }
- }
- public client_connect(iId){
- if(is_user_bot(iId))
- return;
- get_user_authid(iId, g_sSteamid, charsmax(g_sSteamid));
- sql_load(iId);
- g_iGold[iId] = 0;
- g_iKills[iId] = 0;
- g_iLevel[iId] = 0;
- g_iExp[iId] = 0;
- g_iSkin[iId] = 0;
- }
- public client_disconnected(iId){
- if(is_user_bot(iId))
- return;
- sql_save(iId);
- g_iGold[iId] = 0;
- g_iKills[iId] = 0;
- g_iLevel[iId] = 0;
- g_iExp[iId] = 0;
- g_iSkin[iId] = 0;
- }
- public plugin_cfg(){
- g_SqlTuple = SQL_MakeDbTuple(SQLBELEPO[0], SQLBELEPO[1], SQLBELEPO[2], SQLBELEPO[3]);
- new Len = 0;
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery), "CREATE TABLE IF NOT EXISTS `%s`", TABLENAME);
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "(`Steamid` varchar(64) NOT NULL,");
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "`Arany` int(11) NOT NULL,");
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "`Oles` int(11) NOT NULL,");
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "`Szint` int(11) NOT NULL,");
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "`Xp` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
- SQL_ThreadQuery(g_SqlTuple, "createTableThread", g_iQuery);
- }
- public createTableThread(FailState, Handle:g_iQuery, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
- if(FailState == TQUERY_CONNECT_FAILED)
- set_fail_state("[*HIBA*] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
- else if(FailState == TQUERY_QUERY_FAILED)
- set_fail_state("[*HIBA*] A LEKERDEZES MEGSZAKADT!");
- if(Errcode)
- log_amx("[*HIBA*] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
- }
- public sql_load(iId){
- new Data[2];
- Data[0] = iId;
- Data[1] = get_user_userid(iId);
- formatex(g_iQuery, charsmax(g_iQuery), "SELECT * FROM `%s` WHERE Steamid = ^"%s^";", TABLENAME, g_sSteamid)
- SQL_ThreadQuery(g_SqlTuple, "sql_load_thr", g_iQuery, Data, 2);
- }
- public sql_load_thr(FailState, Handle:g_iQuery, Error[], Errcode, Data[], DataSize, Float:Queuetime){
- if(FailState == TQUERY_CONNECT_FAILED)
- set_fail_state("[*HIBA*] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
- else if(FailState == TQUERY_QUERY_FAILED)
- set_fail_state("[*HIBA*] A LEKERDEZES MEGSZAKADT!");
- if(Errcode)
- log_amx("[*HIBA*] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
- new iId = Data[0];
- if(get_user_userid(iId) != Data[1])
- return;
- if(SQL_NumRows(g_iQuery) > 0){
- g_iGold[iId] = SQL_ReadResult(g_iQuery, SQL_FieldNameToNum(g_iQuery, "Arany"));
- g_iKills[iId] = SQL_ReadResult(g_iQuery, SQL_FieldNameToNum(g_iQuery, "Oles"));
- g_iLevel[iId] = SQL_ReadResult(g_iQuery, SQL_FieldNameToNum(g_iQuery, "Szint"));
- g_iExp[iId] = SQL_ReadResult(g_iQuery, SQL_FieldNameToNum(g_iQuery, "Xp"));
- }
- else{
- sql_save(iId);
- }
- }
- public sql_update(iId){
- new Len = 0;
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery), "UPDATE `%s` SET gold = ^"%i^", ",TABLENAME, g_iGold[iId]);
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "Oles = ^"%i^", ", g_iKills[iId]);
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "Szint = ^"%i^", ", g_iLevel[iId]);
- Len += formatex(g_iQuery[Len], charsmax(g_iQuery)-Len, "Xp = ^"%i^" WHERE Steamid = ^"%s^";", g_iExp[iId], g_sSteamid);
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", g_iQuery);
- }
- public sql_save(iId){
- formatex(g_iQuery, charsmax(g_iQuery), "INSERT INTO `%s` (`Steamid`) VALUES (^"%s^");",TABLENAME, g_sSteamid);
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", g_iQuery);
- }
- public QuerySetData(FailState, Handle:g_iQuery, Error[], Errcode, Data[], DataSize, Float:Queuetime){
- if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
- log_amx("%s", Error);
- }
- public plugin_end(){
- SQL_FreeHandle(g_SqlTuple);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement