Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*[Bugok]: *Amíg nem választod ki a raktárban az 1. skint, nem mutatja a többit
- */
- /*[Tennivalók]: *CS:GO-s gránát hangok berakása.
- *Tec-9, PP-Bizon, és egyéb fegyverek berakása
- *Offline piac elkészítése
- *Natívok készítése külső pluginokhoz (kérésre megcsinálok bármilyet)
- *Offline piac
- */
- /*[Megjegyzések]: *A ládák droppolását nem tudtam elég behatóan tesztelni a kevés skin miatt. Ha hibás, jelezzétek!
- *A plugin nincs ékezetesítve!
- *Köszönet mforce-nak a CS:GO-s gránát hangok pluginért. :)
- *Szükséges .zip fájl linkje: https://www.dropbox.com/s/e9t2waz9lqud3u1/csgo.zip?dl=0
- */
- /*[Changelog]
- v2.0.1 - SQL adatok külső fájlból való olvasása
- v2.0.0 - Skinek és ládák .ini fájlból való betöltése. Mellékelt alap skinek. CS:GO-s gránát hangok. Mentésben elírás javítása.
- v1.0.5 - Minimális teljesítményjavítás via mforce
- v1.0.4 - Összetettebb dropp rendszer
- v1.0.3 - Minden ládának saját kulcs
- v1.0.2 - Több láda
- v1.0.1 - SQL mentés és még pár bug javítása
- v1.0.0 - Alap ötlet
- */
- #include <amxmodx>
- #include <amxmisc>
- #include <hamsandwich>
- #include <engine>
- #include <fakemeta>
- #include <sqlx>
- #include <colorchat>
- //Köszönet mforce-nak :) (Fegyver lekérés, rádió hangok.)
- const m_pPlayer = 41
- const XO_WEAPON = 4
- #define get_weapon_owner(%1) get_pdata_cbase(%1, m_pPlayer, XO_WEAPON)
- const MSGARG_SENDER_ID = 2;
- const MSGARG_SENDER_NAME = 4;
- const MSGARG_PRINT_RADIO = 5;
- const MSGARG_AUDIO_CODE = 2;
- #define MAX_SOUND_PATH_LENGTH 32
- #define MAX_SOUNDS 4 // 4 + 4 + 4 = 12
- // default audio file format: WAVE(PCM), 8-bit, 22.05 KHz, Mono
- // converted: WAVE(PCM), 16-bit, 24.0 KHz, Mono
- new const g_szSmokeSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
- "radio/custom/smoke01.wav",
- "radio/custom/smoke02.wav",
- "radio/custom/smoke03.wav",
- "radio/custom/smoke04.wav"
- }
- new const g_szFlashSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
- "radio/custom/flashbang01.wav",
- "radio/custom/flashbang02.wav",
- "radio/custom/flashbang03.wav",
- "radio/custom/flashbang04.wav"
- }
- new const g_szHegrenSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
- "radio/custom/grenade01.wav",
- "radio/custom/grenade02.wav",
- "radio/custom/grenade03.wav",
- "radio/custom/grenade04.wav"
- }
- new const Author[] = {"LyleChriss"}
- new const Version[] = {"2.0.1"}
- new const Plugin[] = {"CS:GO Mod"}
- //SQL
- new const SQL_INFO[4][32]
- new Handle:g_SqlTuple
- //Skinezendő fegyverek
- new const Weapons[][] = {
- "weapon_p228",
- "weapon_scout",
- "weapon_xm1014",
- "weapon_mac10",
- "weapon_aug",
- "weapon_elite",
- "weapon_fiveseven",
- "weapon_ump45",
- "weapon_sg550",
- "weapon_galil",
- "weapon_famas",
- "weapon_usp",
- "weapon_glock18",
- "weapon_awp",
- "weapon_mp5navy",
- "weapon_m249",
- "weapon_m3",
- "weapon_m4a1",
- "weapon_tmp",
- "weapon_g3sg1",
- "weapon_deagle",
- "weapon_sg552",
- "weapon_ak47",
- "weapon_knife",
- "weapon_p90"
- }
- //Egyéb skinezendő dolgok
- new const Others[][] = {
- "weapon_hegrenade",
- "weapon_smokegrenade",
- "weapon_c4",
- "weapon_flashbang"
- }
- //Alap skinek
- new const DefaultSkins[][] = {
- {"weapon_p228", "models/g_offen/v_p228.mdl"},
- {"weapon_scout", "models/g_offen/v_scout.mdl"},
- {"weapon_xm1014", "models/g_offen/v_xm1014.mdl"},
- {"weapon_mac10", "models/g_offen/v_mac10.mdl"},
- {"weapon_aug", "models/g_offen/v_aug.mdl"},
- {"weapon_elite", "models/g_offen/v_elite.mdl"},
- {"weapon_fiveseven", "models/g_offen/v_fiveseven.mdl"},
- {"weapon_ump45", "models/g_offen/v_ump45.mdl"},
- {"weapon_galil", "models/g_offen/v_galil.mdl"},
- {"weapon_famas", "models/g_offen/v_famas.mdl"},
- {"weapon_usp", "models/g_offen/v_usp.mdl"},
- {"weapon_glock18", "models/g_offen/v_glock18.mdl"},
- {"weapon_awp", "models/g_offen/v_awp.mdl"},
- {"weapon_mp5navy", "models/g_offen/v_mp5navy.mdl"},
- {"weapon_m249", "models/g_offen/v_m249.mdl"},
- {"weapon_m3", "models/g_offen/v_m3.mdl"},
- {"weapon_m4a1", "models/g_offen/v_m4a1.mdl"},
- {"weapon_tmp", "models/g_offen/v_tmp.mdl"},
- {"weapon_g3sg1", "models/g_offen/v_g3sg1.mdl"},
- {"weapon_deagle", "models/g_offen/v_deagle.mdl"},
- {"weapon_sg552", "models/g_offen/v_sg552.mdl"},
- {"weapon_ak47", "models/g_offen/vak47.mdl"},
- {"weapon_knife", "models/g_offen/v_knife.mdl"},
- {"weapon_p90", "models/g_offen/v_p90.mdl"},
- {"weapon_sg550", "models/g_offen/v_sg550.mdl"},
- {"weapon_hegrenade", "models/g_offen/v_hegrenade.mdl"},
- {"weapon_smokegrenade", "models/g_offen/v_smokegrenade.mdl"},
- {"weapon_c4", "models/g_offen/v_c4.mdl"},
- {"weapon_flashbang", "models/g_offen/v_flashbang.mdl"}
- }
- //Ideiglenes tömb a skineknek
- enum _:DATA
- {
- EntName[32],
- Drop_from,
- Rarity,
- InSQL[32],
- Name[32],
- Model[64]
- }
- new tmp_Skins[DATA]
- //Dinamikus tömb a skineknek és ládáknak
- new Array:Skins, Array:Cases
- //Birtokol cuccok
- new Array:Owned[33], Array:OwnedKeys[33], Array:OwnedCases[33]
- //Kiválasztott skin
- new chosen[33][sizeof(Weapons)]
- //Arany
- new arany[33]
- //Küldés menü
- new send[33][8], target[33]
- //Piac
- enum _:Market
- {
- bool:Stuff,
- Put_out,
- Value
- }
- new Market_Things[33][Market]
- //Cvarok
- new cvar_Prefix, cvar_KeyDrop, cvar_CaseDrop
- new Prefix[32]
- //Egyéb
- new name[33][32], authid[33][32]
- public plugin_init() {
- register_plugin(Plugin, Version, Author)
- register_cvar("public_csgo", Version, FCVAR_SERVER | FCVAR_SPONLY)
- //Fegyver modellcserék
- for(new i; i<sizeof(Weapons); i++)
- RegisterHam(Ham_Item_Deploy, Weapons[i], "ItemDeploy_Weapon", 1)
- for(new i; i<sizeof(Others);i++)
- RegisterHam(Ham_Item_Deploy, Others[i], "ItemDeploy_Other", 1)
- //Menü parancsok
- register_impulse(201, "FoMenu")
- register_clcmd("say /fomenu", "FoMenu")
- register_clcmd("say_team /fomenu", "FoMenu")
- register_clcmd("say /menu", "FoMenu")
- register_clcmd("say_team /menu", "FoMenu")
- //Say módok
- register_clcmd("DARAB", "Kuldes")
- register_clcmd("ARANY", "Ellenorzes")
- //Halál
- register_event("DeathMsg", "eDeathMsg", "a")
- //Cvarok
- cvar_Prefix = register_cvar("csgo_prefix", "CS:GO")
- cvar_KeyDrop = register_cvar("csgo_keydrop", "7.0")
- cvar_CaseDrop = register_cvar("csgo_casedrop", "25.0")
- get_pcvar_string(cvar_Prefix, Prefix, charsmax(Prefix))
- //Gránát cuccmók
- register_message(get_user_msgid("SendAudio"), "Message_SendAudio");
- register_message(get_user_msgid("TextMsg"), "Message_TextMsg");
- get_cvar_string("amx_sql_host", SQL_INFO[0], charsmax(SQL_INFO[]))
- get_cvar_string("amx_sql_user", SQL_INFO[1], charsmax(SQL_INFO[]))
- get_cvar_string("amx_sql_pass", SQL_INFO[2], charsmax(SQL_INFO[]))
- get_cvar_string("amx_sql_db", SQL_INFO[3], charsmax(SQL_INFO[]))
- }
- /*==========PRECACHE==========*/
- public plugin_precache()
- {
- Skins = ArrayCreate(DATA)
- Cases = ArrayCreate(DATA)
- for(new i; i<34; i++)
- {
- Owned[i] = ArrayCreate()
- OwnedCases[i] = ArrayCreate()
- OwnedKeys[i] = ArrayCreate()
- }
- new Buffer[256], pFile = fopen("addons/amxmodx/configs/g_offen.ini", "rt")
- if(pFile)
- {
- while(!feof(pFile))
- {
- fgets(pFile, Buffer, charsmax(Buffer))
- if(Buffer[0] && Buffer[0] != ';' || Buffer[0] && Buffer[0] != '/' && Buffer[1] != '/')
- {
- parse(Buffer, tmp_Skins[EntName], charsmax(tmp_Skins[EntName]), tmp_Skins[Drop_from], charsmax(tmp_Skins[Drop_from]), tmp_Skins[Rarity], charsmax(tmp_Skins[Rarity]), tmp_Skins[InSQL], charsmax(tmp_Skins[InSQL]), tmp_Skins[Name], charsmax(tmp_Skins[Name]), tmp_Skins[Model], charsmax(tmp_Skins[Model]))
- if(equal(tmp_Skins[EntName], "lada"))
- ArrayPushArray(Cases, tmp_Skins)
- else
- ArrayPushArray(Skins, tmp_Skins)
- }
- }
- fclose(pFile)
- }
- else fprintf(pFile, ";^"entitásnév^" ^"Láda ID^" ^"Ritkaság^" ^"Neve az SQL-ben^" ^"Neve a játékbanv^" ^"modell^"^n;Példa egy AK skinre^n;^"weapon_ak47^" ^"0^" ^"1^" ^"elso_ak^" ^"AK47 | Első skin^" ^"models/g_offen/v_ak47_1.mdl^"^n;Példa egy ládára^n;^"lada^" ^"^" ^"^" ^"elso_lada^" ^"Operation Wildfire^" ^"^"^n");
- for(new i; i<sizeof(DefaultSkins);i++)
- precache_model(DefaultSkins[i][1])
- for(new i; i<ArraySize(Skins);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- precache_model(tmp_Skins[Model])
- }
- //Gránát hangok
- for(new i; i< MAX_SOUNDS; i++)
- {
- precache_sound(g_szSmokeSounds[i])
- precache_sound(g_szFlashSounds[i])
- precache_sound(g_szHegrenSounds[i])
- }
- }
- /*==========SQL MENTÉS==========*/
- //Ne piszkáld, tökéletes!
- public plugin_cfg()
- {
- static Query[5120], Len
- g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
- Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `g_offen` (`authid` varchar(32) NOT NULL, `username` varchar(32) NOT NULL")
- for(new i; i<ArraySize(Skins);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s` int(11) NOT NULL", tmp_Skins[InSQL])
- }
- for(new i; i<ArraySize(Cases);i++)
- {
- ArrayGetArray(Cases, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s` int(11) NOT NULL, `%s_k` int(11) NOT NULL", tmp_Skins[InSQL], tmp_Skins[InSQL])
- }
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `gold` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
- SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
- }
- public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
- {
- if(FailState == TQUERY_CONNECT_FAILED)
- set_fail_state("Nem lehet csatlakozni az adatbazishoz.")
- else if(FailState == TQUERY_QUERY_FAILED)
- set_fail_state("Query Error")
- if(Errcode)
- log_amx("Hiba: %s",Error)
- }
- public client_putinserver(id)
- {
- if(!is_user_bot(id) && !is_user_hltv(id))
- {
- get_user_name(id, name[id], charsmax(name))
- get_user_authid(id, authid[id], charsmax(authid))
- if(contain(authid[id], "_ID_LAN") != -1) get_user_ip(id, authid[id], charsmax(authid), 1)
- Load_SQL(id)
- }
- }
- public client_disconnect(id)
- {
- if(!is_user_bot(id) && !is_user_hltv(id))
- Update_SQL(id)
- ArrayClear(Owned[id])
- ArrayClear(OwnedKeys[id])
- ArrayClear(OwnedCases[id])
- arrayset(chosen[id], 0, sizeof(Weapons))
- authid[id][0] = EOS;
- name[id][0] = EOS;
- }
- public client_infochanged(id)
- {
- if(!is_user_connected(id))
- return PLUGIN_HANDLED
- get_user_info(id, "name", name[id], charsmax(name[]))
- return PLUGIN_CONTINUE
- }
- public Load_SQL(id)
- {
- static Query[5120], Data[1]; Data[0] = id
- formatex(Query, charsmax(Query), "SELECT * FROM `g_offen` WHERE authid = ^"%s^";", authid[id])
- 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];
- new kname[32], stg
- if(SQL_NumRows(Query) > 0)
- {
- for(new i; i<ArraySize(Skins);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- stg = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, tmp_Skins[InSQL]))
- ArrayPushCell(Owned[id], stg)
- }
- for(new i; i<ArraySize(Cases);i++)
- {
- ArrayGetArray(Cases, i, tmp_Skins)
- formatex(kname, charsmax(kname), "%s_k", tmp_Skins[InSQL])
- stg = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, kname))
- ArrayPushCell(OwnedKeys[id], stg)
- stg = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, tmp_Skins[InSQL]))
- ArrayPushCell(OwnedCases[id], stg)
- }
- arany[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "gold"))
- }
- else
- {
- Save_SQL(id)
- }
- }
- }
- public Save_SQL(id)
- {
- static Query[5120], Len
- Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `g_offen` (`authid`, `username`")
- for(new i; i<ArraySize(Skins);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s`", tmp_Skins[InSQL])
- }
- for(new i; i<ArraySize(Cases); i++)
- {
- ArrayGetArray(Cases, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s`, `%s_k`", tmp_Skins[InSQL], tmp_Skins[InSQL])
- }
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `gold`) VALUES (^"%s^", ^"%s^"", authid[id], name[id])
- for(new i;i<ArraySize(Skins);i++)
- {
- Len += formatex(Query[Len], charsmax(Query)-Len, ", ^"0^"")
- }
- for(new i; i<ArraySize(Cases); i++)
- {
- Len += formatex(Query[Len], charsmax(Query)-Len, ", ^"0^", ^"0^"")
- }
- Len += formatex(Query[Len], charsmax(Query)-Len, ", ^"0^");")
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
- }
- 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 Update_SQL(id)
- {
- static Query[5120], Len
- Len += formatex(Query[Len], charsmax(Query), "UPDATE `g_offen` SET `username` = ^"%s^"", name[id])
- for(new i;i<ArraySize(Skins);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s` = %d", tmp_Skins[InSQL], ArrayGetCell(Owned[id], i))
- }
- for(new i;i<ArraySize(Cases);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `%s` = %d, `%s_k` = %d", tmp_Skins[InSQL], ArrayGetCell(OwnedCases[id], i), tmp_Skins[InSQL], ArrayGetCell(OwnedKeys[id], i))
- }
- Len += formatex(Query[Len], charsmax(Query)-Len, ", `gold` = %d WHERE `authid` = ^"%s^";", arany[id], authid[id])
- SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
- }
- public plugin_end()
- {
- SQL_FreeHandle(g_SqlTuple)
- for(new i; i<34; i++)
- {
- ArrayDestroy(Owned[i])
- ArrayDestroy(OwnedCases[i])
- ArrayDestroy(OwnedKeys[i])
- }
- ArrayDestroy(Skins)
- ArrayDestroy(Cases)
- }
- /*==========MENÜK==========*/
- //Tökéletes, de ha akarsz, belenyúlsz.
- //Javaslom, hogy csak a menük neveit módosítsd, a ciklusokba és handlerekbe ne nyúlj bele.
- public FoMenu(id)
- {
- new txt[128]
- formatex(txt, charsmax(txt), "\r%s\w%s^nby \y%s^nFőMenü", Plugin, Version, Author)
- new menu = menu_create(txt, "FoMenu_h")
- menu_additem(menu, "Raktár", "", 0)
- menu_additem(menu, "Láda nyitás", "", 0)
- menu_additem(menu, "Lomtár", "", 0)
- menu_additem(menu, "Küldés", "", 0)
- menu_additem(menu, "Piac", "", 0)
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public FoMenu_h(id, menu, item)
- {
- switch(item)
- {
- case 0:Raktar_M(id)
- case 1:Lada_M(id)
- case 2:Lomtar_M(id)
- case 3:Kuldes_M(id)
- case 4:Piac_M(id)
- case MENU_EXIT:{
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Raktar_M(id)
- {
- new txt[128], num[8]
- formatex(txt, charsmax(txt), "\r%s\w%s^nRaktár", Plugin, Version)
- new menu = menu_create(txt, "Raktar_h")
- for(new i; i<ArraySize(Skins);i++)
- {
- if(ArrayGetCell(Owned[id], i) > 0)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- num_to_str(i, num, charsmax(num))
- formatex(txt, charsmax(txt), "%s [%d DB]", tmp_Skins[Name], ArrayGetCell(Owned[id], i))
- menu_additem(menu, txt, num, 0)
- }
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Raktar_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new data[9], access, callback, szName[64]
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- new key = str_to_num(data)
- for(new i; i<sizeof(Weapons);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- if(equal(tmp_Skins[EntName], Weapons[i]) != -1)
- {
- chosen[id][i] = key+1
- ColorChat(id, NORMAL, "^4[%s]^1 Kiválasztottad a(z) ^3%s ^1skint!", Prefix, tmp_Skins[Name])
- break;
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Lada_M(id)
- {
- new txt[128]
- formatex(txt, charsmax(txt), "\r%s\w%s^nLáda nyitás", Plugin, Version)
- new menu = menu_create(txt, "Lada_h")
- for(new i; i<ArraySize(Cases);i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- formatex(txt, charsmax(txt), "%s [%d DB] | [%d DB Kulcs]", tmp_Skins[Name], ArrayGetCell(OwnedCases[id], i), ArrayGetCell(OwnedKeys[id], i))
- menu_additem(menu, txt, "", 0)
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Lada_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- if(ArrayGetCell(OwnedKeys[id], item) > 0 && ArrayGetCell(OwnedCases[id], item) > 0)
- {
- ArraySetCell(OwnedKeys[id], item, ArrayGetCell(OwnedKeys[id], item)-1)
- ArraySetCell(OwnedCases[id], item, ArrayGetCell(OwnedCases[id], item)-1)
- weapon_drop(id, item)
- }
- else
- {
- ArrayGetArray(Skins, item, tmp_Skins)
- if(ArrayGetCell(OwnedKeys[id], item) == 0)
- ColorChat(id, NORMAL, "^4[%s]^1 Nincs elég ^4%s Kulcsod^1!", Prefix, tmp_Skins[Name])
- else
- ColorChat(id, NORMAL, "^4[%s]^1 Nincs elég ^4%s Ládád^1!", Prefix, tmp_Skins[Name])
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Lomtar_M(id)
- {
- new txt[128], num[8]
- formatex(txt, charsmax(txt), "\r%s\w%s^nLomtár", Plugin, Version)
- new menu = menu_create(txt, "Lomtar_h")
- for(new i; i<ArraySize(Skins);i++)
- {
- if(ArrayGetCell(Owned[id], i) > 0)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- num_to_str(i, num, charsmax(num))
- formatex(txt, charsmax(txt), "%s [%d DB]", tmp_Skins[Name], ArrayGetCell(Owned[id], i))
- menu_additem(menu, txt, num, 0)
- }
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Lomtar_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new data[9], access, callback, szName[64]
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- new key = str_to_num(data)
- ArraySetCell(Owned[id], key, ArrayGetCell(Owned[id], key)-1)
- ArrayGetArray(Skins, key, tmp_Skins)
- ColorChat(id, NORMAL, "^4[%s]^1 Eldobtál egy ^3%s ^1skint!", Prefix, tmp_Skins[Name])
- Update_SQL(id)
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Kuldes_M(id)
- {
- new txt[128], num[8]
- formatex(txt, charsmax(txt), "\r%s\w%s^nKüldés", Plugin, Version)
- new menu = menu_create(txt, "Kuldes_h")
- formatex(txt, charsmax(txt), "Arany: %d", arany[id])
- menu_additem(menu, txt, "Arany", 0)
- for(new i; i<ArraySize(Skins);i++)
- {
- if(ArrayGetCell(Owned[id], i) > 0)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- num_to_str(i, num, charsmax(num))
- formatex(txt, charsmax(txt), "%s [%d DB]", tmp_Skins[Name], ArrayGetCell(Owned[id], i))
- menu_additem(menu, txt, num, 0)
- }
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Kuldes_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new data[9], access, callback, szName[64]
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- copy(send[id], charsmax(send[]), data)
- JatekosValaszt(id)
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public JatekosValaszt(id)
- {
- new txt[128], userID[32]
- formatex(txt, charsmax(txt), "\r%s\w%s^nVálassz játékost!", Plugin, Version)
- new menu = menu_create(txt, "JatekosValaszt_h")
- new players[32], pnum
- get_players(players, pnum, "c")
- for(new i; i<pnum; i++)
- {
- if(!is_user_connected(players[i]))
- continue;
- formatex(userID, charsmax(userID), "%d", get_user_userid(players[i]))
- menu_additem(menu, name[players[i]], userID, 0)
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public JatekosValaszt_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new data[9], access, callback, szName[64]
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- new userID = str_to_num(data)
- target[id] = find_player("k", userID)
- if(!is_user_connected(target[id]))
- {
- ColorChat(id, NORMAL, "^4[%s]^1 Sajnálom, lecsatlakozott akit kiválasztottál!", Prefix)
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- client_cmd(id, "messagemode DARAB");
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Kuldes(id)
- {
- new txt[128], num
- read_args(txt, charsmax(txt))
- remove_quotes(txt)
- if(is_str_num(txt))
- {
- num = str_to_num(txt)
- if(equal(send[id], "Arany"))
- {
- if(arany[id] >= num)
- {
- arany[target[id]] += num
- arany[id] -= num
- ColorChat(target[id], NORMAL, "^4[%s]^1 Kaptál ^3%d^1 ^4arany^1at!", Prefix, num)
- ColorChat(id, NORMAL, "^4[%s]^1 Elküldtél ^3%d^1 ^4arany^1at!", Prefix, num)
- Update_SQL(id)
- Update_SQL(target[id])
- }
- else
- ColorChat(id, NORMAL, "^4[%s]^1 Nincs elég ^4arany^1ad!", Prefix)
- }
- else
- {
- new i = str_to_num(send[id])
- if(ArrayGetCell(Owned[id], i) >= num)
- {
- ArraySetCell(Owned[target[id]], i, ArrayGetCell(Owned[target[id]], i)+1)
- ArraySetCell(Owned[id], i, ArrayGetCell(Owned[id], i)-1)
- ArrayGetArray(Skins, i, tmp_Skins)
- ColorChat(target[id], NORMAL, "^4[%s]^1 Kaptál ^3%d ^4%s^1-t!", Prefix, num, tmp_Skins[Name])
- ColorChat(id, NORMAL, "^4[%s]^1 Elküldtél ^3%d ^4%s^1-t!", Prefix, num, tmp_Skins[Name])
- Update_SQL(id)
- Update_SQL(target[id])
- }
- else
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- ColorChat(id, NORMAL, "^4[%s]^1 Nincs ennyi^4%s^1-ed!", Prefix, tmp_Skins[Name])
- }
- }
- }
- else
- ColorChat(id, NORMAL, "^4[%s]^1 A megadott szöveg (%s) nem csak számokat tartalmazott! Érvénytelen!", Prefix, txt)
- return PLUGIN_CONTINUE;
- }
- public Piac_M(id)
- {
- new txt[128]
- formatex(txt, charsmax(txt), "\r%s\w%s^nPiac", Plugin, Version)
- new menu = menu_create(txt, "Piac_h")
- menu_additem(menu, "Eladás", "", 0)
- menu_additem(menu, "Vásárlás", "", 0)
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Piac_h(id, menu, item)
- {
- switch(item)
- {
- case 0: Eladas_M(id)
- case 1: Vasarlas_M(id)
- case MENU_EXIT:{
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Eladas_M(id)
- {
- new txt[128]
- formatex(txt, charsmax(txt), "\r%s\w%s^nPiac eladás", Plugin, Version)
- new menu = menu_create(txt, "Eladas_h")
- if(!Market_Things[id][Stuff])
- {
- if(Market_Things[id][Put_out] != -1)
- {
- ArrayGetArray(Skins, Market_Things[id][Put_out], tmp_Skins)
- formatex(txt, charsmax(txt), "%s", tmp_Skins[Name])
- menu_additem(menu, txt, "0", 0)
- }
- else
- menu_additem(menu, "Válaszd ki a tárgyat!", "", 0)
- formatex(txt, charsmax(txt), "Ár: %d arany", Market_Things[id][Value])
- menu_additem(menu, txt, "1", 0)
- if(Market_Things[id][Value])
- menu_additem(menu, "Mehet a Piacra!", "2", 0)
- }
- else
- {
- if(Market_Things[id][Value])
- menu_additem(menu, "Ajánlat visszavonása", "-1", 0)
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Eladas_h(id, menu, item)
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- new data[9], szName[64], access, callback, weapon[32]
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- new key = str_to_num(data)
- switch(key)
- {
- case -1:
- {
- Market_Things[id][Value] = 0
- Market_Things[id][Stuff] = false
- ArraySetCell(Owned[id], Market_Things[id][Put_out], ArrayGetCell(Owned[id], Market_Things[id][Put_out])+1)
- Market_Things[id][Put_out] = -1
- }
- case 0:
- {
- TargyValaszt(id)
- }
- case 1:
- {
- client_cmd(id, "messagemode ARANY")
- }
- case 2:
- {
- if(Market_Things[id][Put_out] != -1)
- {
- Market_Things[id][Stuff] = true
- ArraySetCell(Owned[id], Market_Things[id][Put_out], ArrayGetCell(Owned[id], Market_Things[id][Put_out])-1)
- copy(weapon, charsmax(weapon), weapon_now(id))
- if(weapon[0]) weapon_set_default(id, weapon)
- ArrayGetArray(Skins, Market_Things[id][Put_out], tmp_Skins)
- ColorChat(0, NORMAL, "^4[%s] ^3%s ^1kirakott egy ^4%s^1-t a piacra ^3%d ^4arany^1ért!", Prefix, name[id], tmp_Skins[Name], Market_Things[id][Value])
- }
- else
- {
- ColorChat(0, NORMAL, "^4[%s] ^1Nem választottál ki semmit!", Prefix)
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Ellenorzes(id)
- {
- new num, txt[32]
- read_args(txt, charsmax(txt))
- remove_quotes(txt)
- num = str_to_num(txt)
- if(strlen(txt) > 7)
- {
- client_cmd(id, "messagemode ARANY")
- }
- else if(num < 500)
- {
- ColorChat(0, NORMAL, "^4[%s] ^1Nem tudsz eladni ^3500 ^4arany^1 alattt!", Prefix)
- Eladas_M(id)
- }
- else
- {
- Market_Things[id][Value] = num
- Eladas_M(id)
- }
- }
- public TargyValaszt(id)
- {
- new txt[128], num[8]
- formatex(txt, charsmax(txt), "\r%s\w%s^nVálaszd ki a tárgyat!", Plugin, Version)
- new menu = menu_create(txt, "TargyValaszt_h")
- for(new i;i<ArraySize(Skins);i++)
- {
- if(ArrayGetCell(Owned[id], i) > 0)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- num_to_str(i, num, charsmax(num))
- formatex(txt, charsmax(txt), "%s (%d DB)", tmp_Skins[Name], ArrayGetCell(Owned[id], i))
- menu_additem(menu, txt, num, 0)
- }
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public TargyValaszt_h(id, menu, item)
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- new data[9], szName[64], access, callback
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
- new key = str_to_num(data)
- Market_Things[id][Put_out] = key
- Eladas_M(id)
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public Vasarlas_M(id)
- {
- new txt[128], userID[32]
- formatex(txt, charsmax(txt), "\r%s\w%s^nPiac vásárlás", Plugin, Version)
- new menu = menu_create(txt, "Vasarlas_h")
- new players[32], pnum
- get_players(players, pnum, "c")
- for(new i; i<pnum;i++)
- {
- if(Market_Things[players[i]][Stuff])
- {
- ArrayGetArray(Skins, Market_Things[players[i]][Put_out], tmp_Skins)
- formatex(userID, charsmax(userID), "%d", get_user_userid(players[i]))
- formatex(txt, charsmax(txt), "%s (Eladó: %s | Ára: %d)", tmp_Skins[Name], Market_Things[players[i]][Value])
- menu_additem(menu, txt, userID, 0)
- }
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_setprop(menu, MPROP_BACKNAME, "Vissza")
- menu_setprop(menu, MPROP_NEXTNAME, "Előre")
- menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public Vasarlas_h(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED
- }
- new data[6] ,szName[64],access,callback
- new name[32]
- menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
- new userID = str_to_num(data)
- new userId = find_player("k", userID)
- if(arany[id] >= Market_Things[userId][Value] && Market_Things[userId][Stuff])
- {
- Market_Things[userId][Stuff] = false
- ArrayGetArray(Skins, Market_Things[userId][Put_out], tmp_Skins)
- ColorChat(id, NORMAL, "^4[%s] ^1Vettél egy ^3%s^1-t ^4%s^1-től ^3%d ^4arany^1ért!", Prefix, tmp_Skins[Name], name[userId], Market_Things[userId][Value])
- ColorChat(userID, NORMAL, "^4[%s] ^4%s^1 vett tőled ^3%s^1-t ^3%d ^4arany^1ért!", Prefix, name[id], tmp_Skins[Name], Market_Things[userId][Value])
- arany[userId] += Market_Things[userId][Value]
- arany[id] -= Market_Things[userId][Value]
- Market_Things[userId][Value] = 0
- ArraySetCell(Owned[userId], Market_Things[userId][Put_out], ArrayGetCell(Owned[userId], Market_Things[userId][Put_out])-1)
- ArraySetCell(Owned[id], Market_Things[userId][Put_out], ArrayGetCell(Owned[id], Market_Things[userId][Put_out])+1)
- Market_Things[id][Put_out] = -1
- Update_SQL(userID)
- Update_SQL(id)
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- /*==========DROPP==========*/
- //Jól droppol, az esélyt a plugin elején állítod.
- public eDeathMsg()
- {
- new attacker = read_data(1)
- if(attacker != read_data(2) && is_user_alive(attacker))
- {
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.20, 0, 6.0, 12.0)
- if(read_data(3))
- {
- new mennyiseg = random_num(100, 200)
- arany[attacker] += mennyiseg
- show_hudmessage(attacker, "[ +%d Arany ]", mennyiseg)
- }
- else
- {
- new mennyiseg = random_num(50, 100)
- arany[attacker] += mennyiseg
- show_hudmessage(attacker, "[ +%d Arany ]", mennyiseg)
- }
- new Float:num = random_float(0.0, 100.0)
- if(num <= get_pcvar_float(cvar_KeyDrop))
- {
- new drp = random_num(0, ArraySize(Cases)-1)
- ArraySetCell(OwnedKeys[attacker], drp, ArrayGetCell(OwnedKeys[attacker], drp)+1)
- ArrayGetArray(Cases, drp, tmp_Skins)
- ColorChat(attacker, NORMAL, "^4[%s] ^1Találtál egy ^3%s Kulcsot^1!", Prefix, tmp_Skins[Name])
- }
- else if(num <= get_pcvar_float(cvar_CaseDrop))
- {
- new drp = random_num(0, ArraySize(Cases)-1)
- ArraySetCell(OwnedCases[attacker], drp, ArrayGetCell(OwnedCases[attacker], drp)+1)
- ArrayGetArray(Cases, drp, tmp_Skins)
- ColorChat(attacker, NORMAL, "^4[%s] ^1Találtál egy ^3%s Ládát^1!", Prefix, tmp_Skins[Name])
- }
- Update_SQL(attacker)
- }
- return PLUGIN_HANDLED
- }
- /*==========SKIN CSERE==========*/
- //Nem belenyúlni, mert könnyen összekavarodnak a dolgok!!!!
- public ItemDeploy_Weapon(ent)
- {
- if(ent <=0)
- return HAM_IGNORED;
- new id = get_weapon_owner(ent)
- new wpn[32]; pev(ent, pev_classname, wpn, charsmax(wpn))
- for(new i; i<sizeof(Weapons);i++)
- {
- if(chosen[id][i] == 0)
- {
- for(new j; j<sizeof(DefaultSkins);j++)
- {
- if(equal(DefaultSkins[j][0], wpn))
- {
- set_pev(id, pev_viewmodel2, DefaultSkins[j][1])
- return HAM_IGNORED;
- }
- }
- }
- else
- {
- for(new j; j<ArraySize(Skins);j++)
- {
- ArrayGetArray(Skins, j, tmp_Skins)
- if(equal(tmp_Skins[EntName], wpn) != -1 && chosen[id][i] == j+1)
- {
- set_pev(id, pev_viewmodel2, tmp_Skins[Model])
- return HAM_IGNORED;
- }
- }
- }
- }
- return HAM_IGNORED;
- }
- public ItemDeploy_Other(ent)
- {
- if(ent <=0)
- return HAM_IGNORED;
- new id = get_weapon_owner(ent)
- new wpn[32]; pev(ent, pev_classname, wpn, charsmax(wpn))
- for(new i = 25; i<sizeof(DefaultSkins);i++)
- {
- if(equal(DefaultSkins[i][0], wpn))
- {
- set_pev(id, pev_viewmodel2, DefaultSkins[i][1])
- return HAM_IGNORED;
- }
- }
- return HAM_IGNORED;
- }
- /*==========STOCKOK==========*/
- //Nem piszkálni!
- stock weapon_set_default(id, weapon[])
- {
- for(new i; i<sizeof(Weapons);i++)
- {
- if(containi(Weapons[i], weapon) != -1)
- {
- chosen[id][i] = 0
- return 1
- }
- }
- return 0
- }
- stock weapon_now(id)
- {
- new wpn[32]; get_weaponname(get_user_weapon(id), wpn, charsmax(wpn))
- replace(wpn, charsmax(wpn), "weapon_", "")
- for(new i; i<sizeof(Weapons);i++)
- {
- if(chosen[id][i] == Market_Things[id][Put_out]+1 && ArrayGetCell(Owned[id], Market_Things[id][Put_out]) < 2)
- return wpn;
- }
- wpn[0] = EOS
- return wpn;
- }
- stock weapon_drop(id, num)
- {
- new Float:rarity = random_float(0.0, 100.0)
- new how_rare, count, skins[16]
- if(rarity < 35.0) how_rare = 0
- else if(rarity >= 35.0 && rarity < 50.0) how_rare = 1
- else if(rarity >= 50.0 && rarity < 65.0) how_rare = 2
- else if(rarity >= 65.0 && rarity < 80.0) how_rare = 3
- else if(rarity >= 80.0 && rarity < 92.5) how_rare = 4
- else if(rarity >= 92.5 && rarity < 97.5) how_rare = 5
- else if(rarity >= 97.5 && rarity <= 100.0) how_rare = 6
- for(new i; i<ArraySize(Skins); i++)
- {
- ArrayGetArray(Skins, i, tmp_Skins)
- if(tmp_Skins[Rarity] == how_rare && tmp_Skins[Drop_from] == num)
- {
- skins[count] = i
- count++
- }
- }
- new dropped = random_num(0, count)
- ArraySetCell(Owned[id], skins[dropped], ArrayGetCell(Owned[id], skins[dropped])+1)
- ArrayGetArray(Skins, skins[dropped], tmp_Skins)
- ColorChat(id, NORMAL, "^4[%s]^1 Egy ^3%s ^1skint nyitottál!", Prefix, tmp_Skins[Name])
- }
- /*==========CS:GO-S GRÁNÁT HANGOK==========*/
- public Message_TextMsg(iMsgId, iMsgType, iMsgEnt) {
- if(get_msg_arg_int(1) != MSGARG_PRINT_RADIO)
- return PLUGIN_CONTINUE;
- static szMsg[32]; get_msg_arg_string(MSGARG_PRINT_RADIO, szMsg, charsmax(szMsg));
- if(equal(szMsg, "#Fire_in_the_hole")) {
- static Sender[4], SenderName[32], szSound[MAX_SOUND_PATH_LENGTH], SenderId;
- get_msg_arg_string(MSGARG_SENDER_ID, Sender, charsmax(Sender));
- get_msg_arg_string(MSGARG_SENDER_NAME, SenderName, charsmax(SenderName));
- SenderId = str_to_num(Sender);
- switch(get_user_weapon(SenderId)) {
- case CSW_HEGRENADE: szSound = g_szHegrenSounds[random(sizeof(g_szHegrenSounds))];
- case CSW_SMOKEGRENADE: szSound = g_szSmokeSounds[random(sizeof(g_szSmokeSounds))];
- case CSW_FLASHBANG: szSound = g_szFlashSounds[random(sizeof(g_szFlashSounds))];
- default: return PLUGIN_CONTINUE;
- }
- emit_sound(SenderId, CHAN_VOICE, szSound, VOL_NORM, ATTN_STATIC, 0, PITCH_NORM);
- return PLUGIN_HANDLED;
- }
- return PLUGIN_CONTINUE;
- }
- public Message_SendAudio(iMsgId, iMsgType, iMsgEnt) {
- static szSound[22]
- get_msg_arg_string(MSGARG_AUDIO_CODE, szSound, charsmax(szSound))
- return equal(szSound, "%!MRAD_FIREINHOLE") ? PLUGIN_HANDLED : PLUGIN_CONTINUE
- }
Add Comment
Please, Sign In to add comment