搜索
查看: 1476|回复: 1

板主们.帮忙汉化一下这插件.在此先行谢过

[复制链接]
发表于 2008-1-6 04:00:31 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳
板主们.帮忙汉化一下这插件.在此先行谢过

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Battlefield 2 Rank Mod by pRED* - anaconda.182@gmail.com
//
// An attempt to recreate the battlefield ranking system onto cs1.6
// Currently features the basics of the ranking system, with no power up gain recieved from leveling.
//
// Ranks are based on the number of kills from the csstats system
//
// Badges can also be earned to get power up bonuses - See rewards list. Or look at /bf2menu in game
//
//
// Wish list:  Add some more badges maybe? Ive put some ideas in comments...
//   Rank pictures..
//
// Known Bugs General optimisation stuff - Ive done most in the wiki tut but there may be more
//
// Rewards: Knife - 20/40/60% of damage done with knife returned to player.
//   Support - Recoil with M249 reduced 1/3,1/2,Full
//   Pistol - Chance of stopping opponent when u get shot (not sure if its working..)
//   Assault - 10/20/30 Bonus HP when spawning
//   Sniper - 1/3,1/2,Full Chance of Free awp/scout
//   Explosives - Free Grenade/Free Defuse Kit/Free Full nade set
//
// Credits: Xuntric and PM for their combined work on the XP based plugin tutorial (load, save and menu stuff..)
//   Avalanche for the removed cone of fire in i_aim_good plugin (used for lowered recoil on the para)
//   Phantom Warrior and palehorse for inadvertently giving me the idea for this (Military Rank Mod thread..)
//   ev0d00b cos I stole lots of code out of his/our Capture the Hax Plugin
//   Ubernet (games.uber.net.nz) for giving me a test server and help test the mod
//   stupok69 for helping fix the /whois command
//   Geesu for all his defined cs weapon speeds used in wc3ft (resetting users speed after imobilising them),
//   and some great examples of screen flashes and shakes.
//   Cheap_Suit for the extra recoil code
//   Hawk522 for his tutorial on SQLx (and helping me debug problems with it)
//   styremelaker for massive amount of csdm testing.
//   vittu for going through the code and finding heaps of mistakes and efficiency changes
//   teamme06 for his colorchat code
//   vittu again for supporting my plugin more than I do..
//   BlueRaja for player kills and score update code from his damage multiplier plugin (big copy, paste of the kill function)
//   palehorse for the web html documents
//   vittu for testing and helping fix bugs in the code.
//   emp' for the new amxx menu tutorial
//
// Cvars:  bf2_active (1|0) - Turns the plugin on or off - Default 1
//   bf2_badges (1|0) - Turns the badge system on or off - Default 1
//   bf2_awp (1|0) - Is user given an awp or scout by having the sniper badge - Default 0 (scout)
//   bf2_xpmultiplier (1|0) - Changes the kill multiplier needed to reach each level - Default 0.1 (15 kills for rank 1, 20k kills for top rank)
//   bf2_sql (1|0) - Turns Switches between SQL and vault saving - Default 1 (SQL)
//   bf2_icon_time (float) - Time (in seconds) to show the rank icon above peoples heads 0=disabled. default 1.5
//   bf2_flag_kills (int) - CS flags - How many bf2 points are awarded for capturing a flag
//   bf2_flag_round_kills - CS flags - How many bf2 points are awarded for winning a round
//   bf2_flag_match_kills  - CS flags - How many bf2 points are awarded for winning the match
//   bf2_flag_min_players - CS flags - Min number of plays before above points get awarded
//   bf2_help_url (string) - remote folder where the bf2 web docs are stored (optional) do not include the trailing /
//   bf2_badgepowers (1|0) - enable/disable the powers for the badgess
//   bf2_hud_options "abcde"
//    a Display Health/Armour/Weapon for teammates
//    b Display Rank for teammates
//    c Display Rank for enemies
//    d Hide display for invisible enemies
//    e Move the display to above peoples heads
//
//
// Cmds:  say /bf2menu - Shows the Main Menu
//   say /who - Shows a list of player and their rank
//   say /whois <name> - Show the rank and badges of a specific player
//   say /whostats <name> - Show the stats page for a player
//   say /hud - Redisplays the HUD
//   say /ranks - Shows the kill xp table
//   say /bf2stats - your personal stats pages
//   say /help - Displays a Help MOTD
//   say /badges1 - Displays a Help MOTD on some of the badges
//   say /badges2 - Displays a Help MOTD on the rest of the badges
//   say /badges3 - Badges 3
//   bf2_addbagde <player> <badge> <level> - Gives a badge to player. Requires Ban admin access. Badge <0-5>. Level <0-3>
//   bf2_addkills <player> <kills> - Adds to a players kills.. Also requires ban access
//
// Changes: 1.1 -  Fixed Bug with Veteran Assault badge
//    Added SQL support (bf2_sql 1)
//    Changed support badge to bonus speed (added code for extra damage, recoil - will finish when amxx 1.77 is released)
//    Sounds, Screen Shake, User glows..
//   1.2 -  Massive change to make global kill counting actually work..
//    Added screen to view weapon stats "say /bf2stats" or use the menu
//    Added concmd "bf2_vaultload" to forcibly load your own data from the vault (im using it to convert my stats from vault to sql)
//    Tell people to type bf2_vaultload into console and their badges will be restored. Other than that probably a useless command
//   1.21 - Added a badge check 5 seconds before map changes.
//   1.22 -  bf2_addbadge admin command added
//   1.23 -  Added CSDM functionality. Give hp/weapons on all spawns.
//    Recoded badge checking to be individual on player death
//    Fixed HP bug and added message "beginning badge check"
//   1.30 - Starting work on 4 New ranks
//    Shows Teammates rank when you look at them.
//    Give 50,100,200 armour for having 6,12 or 18 badges..
//    Bf2 now saves totalkills itself. Prevents csstats resets..
//    bf2_addkills (admin abuse tool? - or to reset after csstats reset), gives x kills to a player
//    Reduced the amount of saving to vault - causing server lag.
//    Changed to nVault saving. Now uses only 1 vault data instead of 14.
//    Fixed armour being lower than you had before
//    Split file into large set of includes. Way easier to find functions you want.
//    Added +3 kills for defuse/explode. Cs flags mod support
//   1.31 - Lowered chance of imobilising happening.
//    Changed damage event and bomb events to the csx forward versions and created a csx forward include
//    Capped knife badge damage to 130
//    Removed bf2_vaultload (pointless now.)
//    Fixed some spelling newbie mistakes..
//    Fixed immunity problems
//    Moved inl and config files into their own folder..
//    Probably a few other things too..
//   1.4 - Fixed wrong sprites displaying
//    fixed double hp gain on round reset (CSDM)
//    added /whostats command
//    bf2_help_url (and web motds) and bf2_badgepowers cvars
//    fixed sprites
//    CSDM badges not being awarded.
//    Top ranked in server display message
//    New menus
//    reset your stats command
//    Medals other new stats
//    Logging admin commands
//    Two new badges. Fixed Explosives badge for csdm
//    Heaps of new stats options + saving them (server and player)
//    Changed power for support
//    SQL now a defined option
//    Moved needed fakemeta_util functions into a separate file (included)
//    New HUD system thanks to vittu (added cvar to control it)
//    bf2_reset_days cvar - number of days without playing till xp gets reset
//   
//
//
// Requires: Fakemeta, Csstats, fakemeta_util
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <amxmodx>
#include <amxmisc>
#include <amxconst>
#include <csstats>
#include <cstrike>
#include <fakemeta>
#include "bf2/fakemeta_util_mini.inl"
#include <csx>
#include <fun>
#define ADMIN_LEVEL ADMIN_BAN
#define ADMIN_RESET ADMIN_CFG
new const PLUGIN[] = "Battlefield2 Rank Mod"
new const AUTHOR[] = "pRED*"
new const VERSION[] = "1.4"
//Compile Settings
#define CSDM
//#define SQL
//Message sending variables
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgDeathMsg;
new gmsgScoreInfo;
new gmsgSayText;
new g_status_sync;

#define MAX_RANKS 17
#define MAX_BADGES 8
//Motd variables
new configsdir[200]
new configfile[200]
//Cvar vars
new g_bf2_active;
new g_badges_active;
new g_free_awp;
new g_xp_multiplier;
new g_icon_hold;
new g_flag_kills;
new g_help_url;
new g_powers;
new g_flag_round_kills
new g_flag_match_kills
new g_flag_min_players
new g_hud_options
new g_prune_days
//Current players info
new g_PlayerRank[33];
new g_PlayerBadges[33][MAX_BADGES];
new knifekills[33];
new pistolkills[33];
new sniperkills[33];
new parakills[33];
new defuses[33];
new plants[33];
new explosions[33];
new accuracy[33];
new totalkills[33];
new authid[33][32];
new smgkills[33];
new shotgunkills[33];
new riflekills[33];
new grenadekills[33];
new bronze[33];
new silver[33];
new gold[33];

//Temp storage variables
new nextrank[33];
new numofbadges[33];
new bool:newplayer[33];
new g_lastwpn[33]
//new g_lastclip[33]
new bool:imobile[33];
new bool:freezetime;
new highestrank
new highestrankid
new statsloaded[33]

new g_friend[33];
new g_invis[33];
new menuselection[33];
//Server stats
new highestrankserver
new highestrankservername[30]
new mostkills
new mostkillsid
new mostkillsname[30]
new mostwins
new mostwinsname[30]

new menuselected[33][3];
//0 - Badge/Kills selected 0/1
//1 - Badgenum/Kills
//2 - Badgelevel
//Sound Vars
new g_Sound1[] = "buttons/bell1.wav"; //Rank gained sound
new g_Sound2[] = "fvox/bell.wav"; //Badges earned sound
//Sprite vars
new spritefile[21][36];
new sprite[21];
//Bf2 includes
//SQl vars
#if defined SQL
new Handle:g_SqlTuple
new Handle:g_SqlTuple2
new g_Cache[512]
new bool:SQLenabled;
#else
//nVault.
new g_Vault;
#endif
#if defined SQL
#include <sqlx>
#include "bf2/sql.inl"
#else
#include <nvault>
#endif

#include "bf2/effect.inl"
#include "bf2/const.inl"
#include "bf2/cmds.inl"
#include "bf2/events.inl"
#include "bf2/save.inl"
#include "bf2/forwards.inl"
#include "bf2/check.inl"
#include "bf2/badgepowers.inl"
#include "bf2/menu.inl"
#include "bf2/hud.inl"
#include "bf2/othermods.inl"
#include "bf2/csx.inl"
#if defined CSDM
#include "bf2/bf2_csdm.inl"
#endif

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
//Register all the say commands
  //Public
register_clcmd("say /ranks","show_rankhelp",0, "Shows The Rank Help");
register_clcmd("say_team /ranks","show_rankhelp",0, "Shows The Rank Help");
register_clcmd("say /badges1","show_badgehelp",0, "Shows The Badge Help");
register_clcmd("say_team /badges1","show_badgehelp",0, "Shows The Badge Help");
register_clcmd("say /badges2","show_badgehelp2",0, "Shows The Badge Help 2");
register_clcmd("say_team /badges2","show_badgehelp2",0, "Shows The Badge Help 2");
register_clcmd("say /badges3","show_badgehelp3",0, "Shows The Badge Help 3");
register_clcmd("say_team /badges3","show_badgehelp3",0, "Shows The Badge Help 3");
register_clcmd("say", "cmd_say", 0, "<target> ")
register_clcmd("say_team", "cmd_say", 0, "<target> ")
register_clcmd("say /who", "cmd_who", 0, "Display a list of player and their levels")
register_clcmd("say_team /who", "cmd_who", 0, "Display a list of player and their levels")
register_clcmd("say /hud", "ShowHUD", 0, "Shows the HUD")
register_clcmd("say_team /hud", "ShowHUD", 0, "Shows the HUD")
register_clcmd("say /help", "cmd_help", 0, "Displays the Help")
register_clcmd("say_team /help", "cmd_help", 0, "Displays the Help")
register_clcmd("say /bf2menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team /bf2menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say bf2menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team bf2menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say /bf2", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team /bf2", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say bf2", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team bf2", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say /menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team /menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team menu", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say /help", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team /help", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say help", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say_team help", "Bf2menu", 0, "Displays the Menu")
register_clcmd("say /bf2helpmenu", "helpmenu", 0, "Displays the Help Menu")
register_clcmd("say_team /bf2helpmenu", "helpmenu", 0, "Displays the Help Menu")
register_clcmd("say /bf2statsmenu", "helpmenu", 0, "Displays the Stats Menu")
register_clcmd("say_team /bf2statsmenu", "helpmenu", 0, "Displays the Stats Menu")
register_clcmd("say /bf2adminmenu", "adminmenu", 0, "Displays the Admin Menu")
register_clcmd("say_team /bf2adminmenu", "adminmenu", 0, "Displays the Admin Menu")
register_clcmd("say /bf2stats", "show_stats", 0, "Shows your current weapon stats")
register_clcmd("say_team /bf2stats", "show_stats", 0, "Shows your current weapon stats")
register_clcmd("say /serverstats", "show_server_stats", 0, "Shows your current weapon stats")
register_clcmd("say_team /serverstats", "show_server_stats", 0, "Shows your current weapon stats")
register_clcmd("say /bf2save", "save_badges", 0, "Shows your current weapon stats")
register_clcmd("say_team /bf2save", "save_badges", 0, "Shows your current weapon stats")
register_clcmd("bf2_resetstats", "reset_stats", 0, "Resets all of your stats")
  //Admin
register_clcmd("bf2_addbadge", "add_badge", ADMIN_LEVEL, "<player> <badge#> <level#>")
register_clcmd("bf2_addkills", "add_kills", ADMIN_LEVEL, "<player> <kills#>")
register_clcmd("bf2_resetserverstats", "reset_all_stats", ADMIN_LEVEL, "Erases all players stats")

//Cvars
//FCVAR_SERVER cvar for game monitor.
register_cvar("bf2_version",VERSION,FCVAR_SERVER)
g_bf2_active = register_cvar("bf2_active", "1")
g_badges_active = register_cvar("bf2_badges", "1")
g_free_awp = register_cvar("bf2_awp", "0")
g_xp_multiplier = register_cvar("bf2_xpmultiplier", "0.1")
g_icon_hold = register_cvar("bf2_icon_time","1.5")
g_flag_kills = register_cvar("bf2_flag_kills","2")
g_flag_round_kills = register_cvar("bf2_flag_round_kills", "0")
g_flag_match_kills = register_cvar("bf2_flag_match_kills", "0")
g_flag_min_players = register_cvar("bf2_flag_min_players", "1")
g_help_url = register_cvar("bf2_help_url","")
g_powers = register_cvar("bf2_badgepowers","1")
g_hud_options = register_cvar("bf2_hud_options","abcd")
g_prune_days = register_cvar("bf2_reset_days","21")

//Message sending.

gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
gmsgScoreInfo = get_user_msgid("ScoreInfo");
gmsgDeathMsg = get_user_msgid("DeathMsg");
gmsgSayText = get_user_msgid("SayText");

//Register events, logs and forwards to be captured

register_event("ResetHUD", "event_hud_reset", "be")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0") //add freeztime start code
register_event("CurWeapon", "event_curweapon", "be","1=1")
register_logevent("end_freezetime", 2,"0=World triggered","1=Round_Start"); //freezetime end code
register_logevent("Event_Round_End", 2, "1=Round_End");
register_message(SVC_INTERMISSION,"event_intermission")

register_event("StatusValue", "setTeam", "be", "1=1");
register_event("StatusValue", "on_ShowStatus", "be", "1=2", "2!0");
register_event("StatusValue", "on_HideStatus", "be", "1=1", "2=0");
register_message(get_user_msgid("StatusValue"), "hook_StatusValue");
g_status_sync = CreateHudSyncObj();
}
发表于 2008-1-8 00:26:25 | 显示全部楼层 来自 中国–广西–百色–田东县

回复: 板主们.帮忙汉化一下这插件.在此先行谢过

这是啥东东啊?我不喜欢你1.5的.......
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表