loading
Jump to content
WWW.CSELITES.COM
CSElites known as [www.cselites.com], a virtual world from May 1, 2012, which continues to grow in the gaming world. CSELITES.COM has over 65k members in continuous expansion, coming from different parts of the world.

Community Servers:

ZM.CSELITES.COM Click for more info! connect
TZM.CSELITES.COM Click for more info! connect
DZM.CSELITES.COM Click for more info! connect

[Plugins] - ZM Points System


KinderGFX

Recommended Posts

  • Numele Plugin-ului: ZM Points System
  • Numele Autorului: FaTzZu
  • Descriere: Este un plugin points pentru serverele zombie plague, are implementat un shop,comenzi,si native
  • Comenzi: Nu
  • Imagini: -
  • Mod de instalare: 
  • 1. Fisierul zmpoints.sma il puneti in addons/amxmodx/scripting
    2. Fisierul zmpoints.amxx il puneti in addons/amxmodx/plugins
    3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
  • Link Download: 
    Spoiler

    #include <amxmodx> #include <zombieplague> #include <hamsandwich> #include <fakemeta> #include <fakemeta_util> #include <fvault> #include <amxmisc> new const PLUGIN[] = "ZM Points System"; new const VERSION[] = "2.3"; new const AUTHOR[] = "zorken"; new const g_vault_stats[] = "points" new Points[33] new skill[33] new g_maxplayers new g_playername[33][32] new g_isconnected[33], Menu, g_msgSayText public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Killed, "player", "ham_PlayerKilled"); register_logevent("logevent_round_end", 2, "1=Round_End") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage"); register_clcmd("say /shop", "points123") register_concmd("zp_shoplist", "cmdBankShow", ADMIN_ADMIN); register_concmd("zp_shopset", "cmdBankSet", ADMIN_RCON, "<name or #userid> <+ or ->amount") register_concmd("zp_shopreset", "cmdBankReset", ADMIN_RCON, "<name or #userid>") g_maxplayers = get_maxplayers() g_msgSayText = get_user_msgid("SayText") } public client_connect( id ) { load_stats(id) } public plugin_natives() { register_native( "zp_get_user_points", "native_get_user_points123", 1 ) register_native( "zp_set_user_points", "native_set_user_points123", 1 ) register_native( "zp_get_user_skill", "native_get_user_skill", 1 ) register_native( "zp_set_user_skill", "native_set_user_skill", 1 ) register_native( "zp_add_user_points", "native_add_user_points123", 1 ) } public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) { // Non-player damage or self damage if (victim == attacker || zp_get_user_nemesis(attacker) || zp_get_user_zombie(attacker)) return HAM_IGNORED; new Float:flNum = 1.0; for(new i=1;i<=40 ;i++) { if(skill[attacker] == i) damage *= flNum; flNum += 0.1 } SetHamParamFloat(4, damage) } public ham_PlayerKilled(victim, attacker) { static selfkill; selfkill = (victim == attacker || !is_user_connected(attacker)) ? true : false; if (!selfkill) { Points[attacker]++; } } public logevent_round_end(id) { save_stats(id) } public client_disconnect(id) { save_stats(id) } public points123(id) { new zorken[102] Menu = menu_create("\rPoints Shop", "menu_features") formatex(zorken, charsmax(zorken), "\y+\w1\ySkill Damage\r[%d points]", skill[id]*50) menu_additem(Menu, zorken, "1", 0) menu_additem(Menu, "\w100 \yPoints \r[300 souls]", "2", 0) menu_additem(Menu, "\w100 \ySouls \r[100 points]", "3", 0) menu_additem(Menu, "\w200 \ySouls \r[150 points]", "4", 0) menu_additem(Menu, "\w300 \ySouls \r[200 points]", "5", 0) menu_additem(Menu, "\w500 \ySouls \r[300 points]", "6", 0) menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } public menu_features(id, menu, item) { if(item == MENU_EXIT || !is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: { if (Points[id] >= skill[id]*50) { Points[id] -= skill[id]*50 skill[id]++ zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat ^x04+1 Skill Damage[^x03%d^x04].", g_playername[id],skill[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } case 2: { if (zp_get_user_ammo_packs(id) >= 300) { zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) -300) Points[id] += 100 zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat 100 points", g_playername[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } case 3: { if (Points[id] >= 100) { zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) +100) Points[id] -= 100 zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat 100 credite.", g_playername[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } case 4: { if (Points[id] >= 150) { zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) +200) Points[id] -= 150 zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat 200 credite.", g_playername[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } case 5: { if (Points[id] >= 200) { zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) +300) Points[id] -= 200 zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat 300 credite", g_playername[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } case 6: { if (Points[id] >= 300) { zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) +500) Points[id] -= 300 zp_colored_print(0, "^x03 [^x04 Zombie^x03 ] %s a cumparat 500 credite", g_playername[id]) } else zp_colored_print(id, "^x03 [^x04 Zombie^x03 ] Nu ai points necesar.") } } menu_destroy(menu) return PLUGIN_HANDLED } public cmdBankShow(id, level, cid) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED; new name[32]; for ( new i = 0; i < 33; i++ ) { if(!is_user_connected(i)) continue; get_user_name(i, name, 31); console_print(id, "%s (Points: ^"%d^" Skill: ^"%d^")", name, Points, skill) } console_print(id, ""); return PLUGIN_HANDLED; } public cmdBankSet(id, level, cid) { if (!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; static s_player[32], player, s_amount[12], i_amount; read_argv(1, s_player, 31); player = cmd_target(id, s_player, CMDTARGET_ALLOW_SELF); if (!player) return PLUGIN_HANDLED; read_argv(2, s_amount, 11); remove_quotes(s_amount); i_amount = str_to_num(s_amount); switch(s_amount[0]) { case '+': { } case '-': { } default: { Points[player] = i_amount save_stats(player) } } return PLUGIN_HANDLED; } public cmdBankReset(id, level, cid) { if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; static s_player[32], player; read_argv(1, s_player, 31); player = cmd_target(id, s_player, CMDTARGET_ALLOW_SELF); if (!player) return PLUGIN_HANDLED; if ( player == 0 ) { //couldnt find them zp_colored_print(id, "^x04[Zp]^x01 Could not find the requested user."); return PLUGIN_HANDLED; } else { skill[player] = 1 Points[player] = 5 save_stats(player) return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } // Native: zp_get_user_points public native_get_user_points123(id) { return Points[id]; } // Native: zp_set_user_points public native_set_user_points123(id, points) { Points[id] += points; } // Native: zp_add_user_points public native_add_user_points123(id, points) { Points[id] += points; } // Native: zp_get_user_skill public native_get_user_skill(id) { return skill[id]; } // Native: zp_set_user_skill public native_set_user_skill(id, points) { skill[id] += points; } save_stats(id) { get_user_name(id, g_playername[id], charsmax(g_playername[])) // Save the current player stats static key[32], data[64] format(key, charsmax(key), "%s", g_playername[id]) format(data, charsmax(data), "%d %d", Points[id],skill[id]) fvault_set_data(g_vault_stats, key, data) } // Load player's stats from database load_stats(id) { get_user_name(id, g_playername[id], charsmax(g_playername[])) // Load the current player stats static key[32], data[64] static szOrigin[2][64] format(key, charsmax(key), "%s", g_playername[id]) if (fvault_get_data(g_vault_stats, key, data, charsmax(data))) { parse( data, szOrigin[ 0 ], 63, szOrigin[ 1 ], 63); Points[id] = str_to_num(szOrigin[ 0 ]) skill[id] = str_to_num(szOrigin[ 1 ]) if(skill[id] == 0) { skill[id] = 1 } if(Points[id] == 0) { Points[id] = 5 } } else { if(skill[id] == 0) { skill[id] = 1 } if(Points[id] == 0) { Points[id] = 5 } } } zp_colored_print(target, const message[], any:...) { static buffer[512], i, argscount argscount = numargs() // Send to everyone if (!target) { static player for (player = 1; player <= g_maxplayers; player++) { // Not connected if (!g_isconnected[player]) continue; // Remember changed arguments static changed[5], changedcount // [5] = max LANG_PLAYER occurencies changedcount = 0 // Replace LANG_PLAYER with player id for (i = 2; i < argscount; i++) { if (getarg(i) == LANG_PLAYER) { setarg(i, 0, player) changed[changedcount] = i changedcount++ } } // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player) write_byte(player) write_string(buffer) message_end() // Replace back player id's with LANG_PLAYER for (i = 0; i < changedcount; i++) setarg(changed, 0, LANG_PLAYER) } } // Send to specific target else { // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE, g_msgSayText, _, target) write_byte(target) write_string(buffer) message_end()
    }

     

  • Alte precizări: Nu
  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.