Kód: /* /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <hamsandwich> #include <cstrike> #include <colorchat> #include <fun> #include <nvault> #include <fakemeta> #include <engine>
#define PLUGIN "BaseBuilder Shop" #define VERSION "1.0" #define AUTHOR "N*Joy^^"
#define VIPJOG ADMIN_RESERVATION
//Tároló new pont[33] new g_vault new name[33][32] new x_tempid
//Arany fegyverek new bool:p_golden_ak47[33] new bool:p_golden_m4a1[33]
//Bolt itemek new bool:orokloszer[33] new bool:sebesseg[33] new bool:gravitacio[33] new hasznalta[33]
//Bolt cvarok new killp new killhsp new vipkillp new vipkillhsp new g_lehetmeg
//Öröklõszer // weapons offsets #define OFFSET_CLIPAMMO 51 #define OFFSET_LINUX_WEAPONS 4 #define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
// players offsets #define m_pActiveItem 373
const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
new const g_MaxClipAmmo[] = { 0, 13, //CSW_P228 0, 10, //CSW_SCOUT 0, //CSW_HEGRENADE 7, //CSW_XM1014 0, //CSW_C4 30,//CSW_MAC10 30, //CSW_AUG 0, //CSW_SMOKEGRENADE 15,//CSW_ELITE 20,//CSW_FIVESEVEN 25,//CSW_UMP45 30, //CSW_SG550 35, //CSW_GALIL 25, //CSW_FAMAS 12,//CSW_USP 20,//CSW_GLOCK18 10, //CSW_AWP 30,//CSW_MP5NAVY 100,//CSW_M249 8, //CSW_M3 30, //CSW_M4A1 30,//CSW_TMP 20, //CSW_G3SG1 0, //CSW_FLASHBANG 7, //CSW_DEAGLE 30, //CSW_SG552 30, //CSW_AK47 0, //CSW_KNIFE 50//CSW_P90 }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /bolt", "fomenu") register_clcmd("say /shop", "fomenu") register_clcmd("say /netudjadallitsdat", "kuldesmenu") RegisterHam(Ham_TakeDamage , "player" , "PlayerHurt", 0); RegisterHam(Ham_Killed, "player", "fw_player_killed", 1) register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") register_event("ResetHUD", "newRound", "b") killp = register_cvar("pont_kill", "1") killhsp = register_cvar("pont_killhs", "2") vipkillp = register_cvar("pont_killvip", "2") vipkillhsp = register_cvar("pont_killhsvip", "3") g_lehetmeg = register_cvar("amx_lehetvenni", "2") register_clcmd("MENNYISEG", "ponts") g_vault = nvault_open("BasebuilderPont") } //Hud üzenet public client_PreThink(id) { set_hudmessage(0, 255, 0, 0.0, 0.16, 0, 6.0, 1.0) show_hudmessage(id, " Pontjaid: %d", pont[id]) } //Ölés pontokért public fw_player_killed(victim, attacker, shouldgib) { if(get_user_flags(attacker) & VIPJOG && attacker != victim) { if(get_pdata_int(victim, 75) == HIT_HEAD) { pont[attacker] += get_pcvar_num(vipkillhsp) set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) show_hudmessage(attacker, "[+%d pont - Fejloves]", get_pcvar_num(vipkillhsp)) } else { pont[attacker] += get_pcvar_num(vipkillp) set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) show_hudmessage(attacker, "[+%d pont]", get_pcvar_num(vipkillp)) } } else if(attacker != victim) { if(get_pdata_int(victim, 75) == HIT_HEAD) { pont[attacker] += get_pcvar_num(killhsp) set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) show_hudmessage(attacker, "[+%d pont - Fejloves]", get_pcvar_num(killhsp)) } else { pont[attacker] += get_pcvar_num(killp) set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) show_hudmessage(attacker, "[+%d pont]", get_pcvar_num(killp)) } } return PLUGIN_CONTINUE } //Új kör public newRound() { new players[32], num get_players(players, num) for(new i; i<get_maxplayers(); i++) { new id = players[i] orokloszer[id] = false sebesseg[id] = false gravitacio[id] = false p_golden_m4a1[id] = false p_golden_ak47[id] = false hasznalta[id] = 0 } } //Letöltések public plugin_precache() { precache_model("models/p_golden_ak47.mdl") precache_model("models/v_golden_ak47.mdl")
precache_model("models/p_golden_m4a1.mdl") precache_model("models/v_golden_m4a1.mdl")
} //Fomenu public fomenu(id) { static CsTeams: team ; team = cs_get_user_team(id) if (team == CS_TEAM_T) { new menu = menu_create("\yAngryBase [T] Bolt", "fomenut_handler"); new szoveg[192] formatex(szoveg, 191, "1000 HP [15 pont] \w[%d/%d]",hasznalta[id],get_pcvar_num(g_lehetmeg)) menu_additem(menu, szoveg, "", 0); // case 0 menu_additem(menu, "Kisebb gravitacio [20 pont]", "", 0); // case 1 menu_additem(menu, "Gyorsasag [15 pont]", "", 0); // case 2 menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); return PLUGIN_HANDLED; } else { new menu = menu_create("\yAngryBase [CT] Bolt", "fomenuct_handler"); menu_additem(menu, "+50 HP [10 pont]", "", 0); // case 0 menu_additem(menu, "Gyorsasag [15 pont]", "", 0); // case 1 menu_additem(menu, "Kisebb gravitacio [20 pont]", "", 0); // case 2 menu_additem(menu, "Orok tolteny [60 pont]", "", 0); // case 3 menu_additem(menu, "\rArany M4A1 [45 pont]", "", 0); // case 4 menu_additem(menu, "\rArany AK47 [45 pont]", "", 0); // case 5 menu_additem(menu, "Minigun [35 pont]", "", 0); // case 6 menu_additem(menu, "CT magozo [15 pont]", "", 0); // case 7 menu_additem(menu, "T magozo [20 pont]", "", 0); // case 8 menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } return PLUGIN_HANDLED; } public fomenut_handler(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(pont[id] >= 15) { if(hasznalta[id] < get_pcvar_num(g_lehetmeg)) { hasznalta[id]++ set_user_health(id, get_user_health(id)+1000) pont[id] -= 15 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else { ColorChat(id, GREEN, "[Bolt]^1 Csak %dx hasznalhatod ezt a menupontot!",get_pcvar_num(g_lehetmeg)) } fomenu(id) } else { ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } fomenu(id) } case 1: { if(pont[id] >= 20) { set_user_gravity(id, 0.5) gravitacio[id] = true pont[id] -= 20 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 2: { if(pont[id] >= 15) { set_user_maxspeed(id, 550.0) sebesseg[id] = true pont[id] -= 15 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") }
} menu_destroy(menu); return PLUGIN_HANDLED; } public fomenuct_handler(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(pont[id] >= 10) { set_user_health(id, get_user_health(id)+50) pont[id] -= 10 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 1: { if(pont[id] >= 15) { set_user_maxspeed(id, 700.0) sebesseg[id] = true pont[id] -= 15 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 2: { if(pont[id] >= 20) { set_user_gravity(id, 0.5) gravitacio[id] = true pont[id] -= 20 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 3: { if(pont[id] >= 60) { orokloszer[id] = true pont[id] -= 60 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 4: { if(pont[id] >= 45) { pont[id] -= 45 give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 90) p_golden_m4a1[id] = true ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 5: { if(pont[id] >= 45) { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 90) p_golden_ak47[id] = true pont[id] -= 45 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 6:{ if(pont[id] >= 35) { give_item(id,"weapon_m249") cs_set_user_bpammo(id, CSW_M249, 200) pont[id] -= 35 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } case 7: { if(pont[id] >= 15) { give_item(id, "weapon_g3sg1") cs_set_user_bpammo(id, CSW_G3SG1, 90) pont[id] -= 15 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^n Sajnos nincs eleg pontod") } case 8: { if(pont[id] >= 20) { give_item(id, "weapon_sg550") cs_set_user_bpammo(id, CSW_SG550, 90) pont[id] -= 20 ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") fomenu(id) } else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") } } menu_destroy(menu); return PLUGIN_HANDLED; } //Modellek public Event_CurWeapon(id) { new weap = get_user_weapon(id) if(weap == CSW_AK47 && p_golden_ak47[id] == true) { entity_set_string(id, EV_SZ_viewmodel, "models/v_golden_ak47.mdl") entity_set_string(id, EV_SZ_weaponmodel, "models/v_golden_ak47.mdl") } else if(weap == CSW_M4A1 && p_golden_m4a1[id] == true) { entity_set_string(id, EV_SZ_viewmodel, "models/v_golden_m4a1.mdl") entity_set_string(id, EV_SZ_weaponmodel, "models/v_golden_m4a1.mdl") } if(orokloszer[id] == true) { fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ weap ] ) } } //sebzés public PlayerHurt( victim,inflictor,attacker,Float:damage, DamageBits ) { new weap = get_user_weapon(attacker) if(weap == CSW_AK47 && p_golden_ak47[attacker] == true || weap == CSW_M4A1 && p_golden_m4a1[attacker] == true) { SetHamParamFloat(4, damage * 2.0); } return HAM_IGNORED; } //Nvault, mentés public mentes(id) { new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-PONTOK", name[id]) format(vaultdata,255,"%d", pont[id]) nvault_set(g_vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public betoltes(id) { new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-PONTOK", name[id]) nvault_get(g_vault,vaultkey,vaultdata,255) pont[id] = str_to_num(vaultdata) return PLUGIN_CONTINUE; } public client_disconnect(id) { mentes(id); remove_task(id); pont[id] = 0; orokloszer[id] = false sebesseg[id] = false gravitacio[id] = false p_golden_m4a1[id] = false p_golden_ak47[id] = false hasznalta[id] = 0 } public client_connect(id) { get_user_name(id, name[id], 31) betoltes(id); } public kuldesmenu(id) { new menu = menu_create("\y[Pont Kuldes]", "kuldes_handler"); new players[32], pnum, tempid; new szName[32], szTempid[10]; get_players(players, pnum); for( new i; i<pnum; i++ ) { tempid = players[i]; { get_user_name(tempid, szName, charsmax(szName)); num_to_str(tempid, szTempid, charsmax(szTempid)); menu_additem(menu, szName, szTempid, 0); } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); }
} public kuldes_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); x_tempid = str_to_num(data); client_cmd(id, "messagemode MENNYISEG"); menu_destroy(menu); return PLUGIN_HANDLED; } public ponts(id) { new uzenet[121]; new kuldoneve[32], tempname[32] read_args(uzenet, charsmax(uzenet)) remove_quotes(uzenet) get_user_name(id, kuldoneve, 31) get_user_name(x_tempid, tempname, 31) pont[x_tempid] += str_to_num(uzenet) ColorChat(0, GREEN, "[Pontrendszer] ^3%s ^1adott ^4%d ^1pontot ^3%s^1-nek!", kuldoneve,str_to_num(uzenet),tempname) }
}
|