#C4_Arming_Cancelled
#Bomb_Planted "%s<%i><%s><TERRORIST>" triggered "Planted_The_Bomb"
#C4_Plant_Must_Be_On_Ground
#C4_Plant_At_Bomb_Spot
#Switch_To_FullAuto
#Switch_To_BurstFire
#Fire_in_the_hole %!MRAD_FIREINHOLE
#Switch_To_SemiAuto
#CZero_LearningMap
#CZero_AnalyzingHidingSpots
#CZero_AnalyzingApproachPoints
"%s<%i><%s><CT>" triggered "Rescued_A_Hostage"
#Hint_careful_around_hostages
#Injured_Hostage
#Hint_removed_for_next_hostage_killed
#Hint_lost_money
#Killed_Hostage "%s<%i><%s><%s>" triggered "Killed_A_Hostage"
#Only_CT_Can_Move_Hostages "%s<%i><%s><CT>" triggered "Touched_A_Hostage"
#Game_disconnected
#Game_kicked
#Game_connected "%s<%i><%s><%s>" %s "%s"%s
#Cstrike_Chat_AllSpec *SPEC* %s : %s
#Cstrike_Chat_AllDead *DEAD* %s : %s
#Cstrike_Chat_All %s : %s
#Cstrike_Chat_Spec (Spectator) %s : %s
#Cstrike_Chat_T_Dead *DEAD*(Terrorist) %s : %s
#Cstrike_Chat_T (Terrorist) %s : %s
#Cstrike_Chat_T_Loc (Terrorist) %s @ %s : %s
#Cstrike_Chat_CT_Dead *DEAD*(Counter-Terrorist) %s : %s
#Cstrike_Chat_CT (Counter-Terrorist) %s : %s
#Cstrike_Chat_CT_Loc (Counter-Terrorist) %s @ %s : %s
#Cannot_Buy_This
#Cstrike_Already_Own_Weapon
#Not_Enough_Money
#Hint_use_nightvision
#Already_Have_One
#Cannot_Carry_Anymore
#Already_Have_Kevlar_Bought_Helmet
#Already_Have_Kevlar_Helmet
#Already_Have_Helmet_Bought_Kevlar
#Already_Have_Kevlar
"%s<%i><%s><%s>" joined team "SPECTATOR"
#Cannot_Be_Spectator
#Game_join_ct "%s<%i><%s><%s>" joined team "%s"
#Game_join_terrorist "%s<%i><%s><%s>" joined team "%s"
#Terrorist_Select
#CT_Select
#Only_1_Team_Change
#Humans_Join_Team_T
#Humans_Join_Team_CT
#Too_Many_CTs
#Too_Many_Terrorists
#All_Teams_Full
#CTs_Full
#Terrorists_Full
#Cannot_Switch_From_VIP
#Taking_fire %!MRAD_HITASSIST
#Follow_me %!MRAD_FOLLOWME
#Regroup_team %!MRAD_REGROUP
#Hold_this_position %!MRAD_POSITION
#You_take_the_point %!MRAD_TAKEPOINT
#Cover_me %!MRAD_COVERME
#Report_in_team %!MRAD_REPORTIN
#Storm_the_front %!MRAD_STORMFRONT
#Get_in_position_and_wait %!MRAD_GETINPOS
#Stick_together_team %!MRAD_STICKTOG
#Team_fall_back %!MRAD_FALLBACK
#Go_go_go %!MRAD_GO
#Enemy_down %!MRAD_ENEMYDOWN
#Negative %!MRAD_NEGATIVE
#Get_out_of_there %!MRAD_BLOW
#Reporting_in %!MRAD_REPRTINGIN
#In_position %!MRAD_INPOS
#Sector_clear %!MRAD_CLEAR
#Need_backup %!MRAD_BACKUP
#Enemy_spotted %!MRAD_ENEMYSPOT
#Roger_that %!MRAD_ROGER
#Affirmative %!MRAD_AFFIRM
#Alias_Not_Avail
#TactShield_Desc
#Bomb_Defusal_Kit
#Game_unknown_command
#Buy
#RadioC
#RadioB
#RadioA
#Command_Not_Available
#Accept_Radio
#Ignore_Radio
#Accept_All_Messages
#Ignore_Broadcast_Team_Messages
#Ignore_Broadcast_Messages
#IG_Team_Select_Spect
#IG_VIP_Team_Select_Spect
#IG_VIP_Team_Select
#T_BuyItem
#CT_BuyItem
#DT_BuyItem
#DCT_BuyItem
#BuyMachineGun
#AS_T_BuyMachineGun
#T_BuyRifle
#CT_BuyRifle
#AS_T_BuyRifle
#AS_CT_BuyRifle
#T_BuySubMachineGun
#CT_BuySubMachineGun
#AS_T_BuySubMachineGun
#AS_CT_BuySubMachineGun
#BuyShotgun
#AS_BuyShotgun
#T_BuyPistol
#CT_BuyPistol
#IG_Team_Select
#Team_Select
#Game_no_timelimit
#Game_timelimit
#Game_voted_for_map
#Cannot_Vote_Need_More_People
#Game_votemap_usage
#Cannot_Vote_Map
#Wait_3_Seconds
#Game_vote_cast
#Game_vote_not_yourself
#Game_vote_players_on_your_team
#Game_vote_player_not_found
#Cannot_Vote_With_Less_Than_Three
#Game_vote_usage
#Cstrike_Name_Change "%s<%i><%s><%s>" changed name to "%s"
#Name_change_at_respawn
#Defusing_Bomb_Without_Defuse_Kit "%s<%i><%s><CT>" triggered "Begin_Bomb_Defuse_Without_Kit"
#Defusing_Bomb_With_Defuse_Kit "%s<%i><%s><CT>" triggered "Begin_Bomb_Defuse_With_Kit"
#C4_Defuse_Must_Be_On_Ground
World triggered "%s" (CT "%i") (T "%i")
World triggered "Round_End"
Team "%s" triggered "%s" (CT "%i") (T "%i")
#Hint_you_have_the_bomb "%s<%i><%s><TERRORIST>" triggered "Spawned_With_The_Bomb"
#All_Hostages_Rescued
#Round_Draw
#Terrorists_Win
#CTs_Win
#Bomb_Defused "%s<%i><%s><CT>" triggered "Defused_The_Bomb"
#Target_Bombed
#Escaping_Terrorists_Neutralized
#CTs_PreventEscape
#Terrorists_Escaped
#VIP_Assassinated
#VIP_Escaped
#Game_Commencing World triggered "Game_Commencing"
#Game_scoring
#Auto_Team_Balance_Next_Round
#All_VIP_Slots_Full
#Game_added_position
#Game_in_position
#Game_will_restart_in_console
#Game_will_restart_in
Team "TERRORIST" scored "%i" with "%i" players
Team "CT" scored "%i" with "%i" players
World triggered "Restart_Round_(%i_%s)"
#VIP_Not_Escaped
#Terrorists_Not_Escaped
#Hostages_Not_Rescued
#Target_Saved
%!MRAD_VIP
%!MRAD_GETOUT
%!MRAD_ELIM
%!MRAD_MOVEOUT
%!MRAD_LETSGO
%!MRAD_LOCKNLOAD
World triggered "Round_Start"
"%s<%i><%s><>" entered the game
"%s<%i><%s><%s>" disconnected
#Team_Select_Spect
#Hint_win_round_by_killing_enemy
"%s<%i><%s><TERRORIST>" triggered "Assassinated_The_VIP"
#Hint_reward_for_killing_vip
#Hint_careful_around_teammates
#Banned_For_Killing_Teamates
#Game_teammate_kills
#Killed_Teammate
"%s<%i><%s><%s>" committed suicide with "%s" (world)
"%s<%i><%s><%s>" killed "%s<%i><%s><%s>" with "%s"
"%s<%i><%s><%s>" committed suicide with "%s"
#Map_Vote_Extend
#Votes
#Vote
#Game_required_votes
#Spec_Mode%i
#Spec_NoTarget
#Game_radio_location
#Game_radio
"%s<%i><%s><%s>" attacked "%s<%i><%s><%s>" with "%s" (damage "%d") (damage_armor "%d") (health "%d") (armor "%d")
#Game_teammate_attack
#Hint_try_not_to_injure_teammates
#Spec_Duck
#Hint_cannot_play_because_tk
"%s<%i><%s><CT>" triggered "Became_VIP"
#Hint_use_hostage_to_stop_him
#Hint_lead_hostage_to_rescue_point
#Terrorist_cant_buy
#CT_cant_buy
#VIP_cant_buy
#Cant_buy
#Hint_press_buy_to_purchase
#Game_idle_kick "%s<%i><%s><%s>" triggered "Game_idle_kick" (auto)
#Hint_you_are_the_vip
#Hint_hostage_rescue_zone
#Hint_you_are_in_targetzone
#Hint_terrorist_escape_zone
#Hint_terrorist_vip_zone
#Hint_ct_vip_zone
#Hint_out_of_ammo
#Hint_press_use_so_hostage_will_follow
#Hint_prevent_hostage_rescue
#Hint_rescue_the_hostages
#Hint_spotted_a_friend
#Hint_spotted_an_enemy
#Game_bomb_drop "%s<%i><%s><TERRORIST>" triggered "Dropped_The_Bomb"
#Weapon_Cannot_Be_Dropped
#Game_join_ct_auto "%s<%i><%s><%s>" joined team "%s" (auto)
#Game_join_terrorist_auto "%s<%i><%s><%s>" joined team "%s" (auto)
#Terrorist_Escaped "%s<%i><%s><TERRORIST>" triggered "Terrorist_Escaped"
"%s<%i><%s><CT>" triggered "Escaped_As_VIP"
#Game_bomb_pickup "%s<%i><%s><TERRORIST>" triggered "Got_The_Bomb"
#Got_bomb
#CZero_Tutor_Turned_Off
#CZero_Tutor_Turned_On
#Cstrike_TutorState_Waiting_For_Start
#Cstrike_TutorState_Buy_Time
#Cstrike_TutorState_Running_Away_From_Ticking_Bomb
#Cstrike_TutorState_Looking_For_Loose_Bomb
#Cstrike_TutorState_Guarding_Bomb
#Cstrike_TutorState_Planting_Bomb
#Cstrike_TutorState_Moving_To_Bomb_Site
#Cstrike_TutorState_Escorting_Bomb_Carrier
#Cstrike_TutorState_Attacking_Hostage_Escort
#Cstrike_TutorState_Looking_For_Hostage_Escort
#Cstrike_TutorState_Moving_To_Intercept_Enemy
#Cstrike_TutorState_Guarding_Hostage
#Cstrike_TutorState_Defusing_Bomb
#Cstrike_TutorState_Guarding_Loose_Bomb
#Cstrike_TutorState_Looking_For_Bomb_Carrier
#Cstrike_TutorState_Moving_To_Bombsite
#Cstrike_TutorState_Following_Hostage_Escort
#Cstrike_TutorState_Escorting_Hostage
#Cstrike_TutorState_Looking_For_Hostage
#Cstrike_TutorState_Undefined
2020. július 28., kedd
TxtMsg messages
hogy itt is meglegyen:
Cs events
/** AMXMODX script.* (plugin_csevents.sma)* by mike_cao <mike@mikecao.com>* This file is provided as is (no warranties).** This plugin does a centersay announcement* for events in counter-strike. Event are configured* with the cvar "amx_csevents" using these flags:** a - Bomb exploded* b - Bomb planted* c - Bomb defused* d - Bomb being planted* e - Bomb being defused* f - Player spawned with bomb* g - Player picked up bomb* h - Player dropped bomb* i - Audio bomb countdown* j - Hostage touched* k - Hostage rescued* l - Hostage killed (with punishment)* m - Headshots (multiple messages)* n - Knife kills (multiple messages)* o - Grenade kills (multiple messages)* p - Grenade suicides* q - Player spawned as VIP* r - VIP killed* s - VIP escaped* t - VIP failed to escape* u - First kill (bonus health/money)* v - Killstreak**/#include <amxmodx>#include <fun>#include <cstrike>#define MAX_NAME_LENGTH 32#define MAX_VAR_LENGTH 64#define MAX_PLAYERS 32#define MAX_TEXT_LENGTH 512#define EVENT_BOMB_EXPLODE (1<<0) // "a"#define EVENT_BOMB_PLANTED (1<<1) // "b"#define EVENT_BOMB_DEFUSED (1<<2) // "c"#define EVENT_BOMB_PLANTING (1<<3) // "d"#define EVENT_BOMB_DEFUSING (1<<4) // "e"#define EVENT_BOMB_SPAWN (1<<5) // "f"#define EVENT_BOMB_PICKUP (1<<6) // "g"#define EVENT_BOMB_DROPPED (1<<7) // "h"#define EVENT_BOMB_COUNT (1<<8) // "i"#define EVENT_HOSTAGE_TOUCHED (1<<9) // "j"#define EVENT_HOSTAGE_RESCUED (1<<10) // "k"#define EVENT_HOSTAGE_KILLED (1<<11) // "l"#define EVENT_HEADSHOT (1<<12) // "m"#define EVENT_KNIFE (1<<13) // "n"#define EVENT_HE_KILL (1<<14) // "o"#define EVENT_HESUICIDE (1<<15) // "p"#define EVENT_VIP_SPAWN (1<<16) // "q"#define EVENT_VIP_KILLED (1<<17) // "r"#define EVENT_VIP_ESCAPED (1<<18) // "s"#define EVENT_VIP_FAILED (1<<19) // "t"#define EVENT_FIRST_KILL (1<<20) // "u"#define EVENT_KILLSTREAK (1<<21) // "v"#define EVENT_MSG_ALL 0#define EVENT_MSG_T 1#define EVENT_MSG_CT 2/************************************************************* CONFIG************************************************************/// Number of hostages killed before punishment#define DEFAULT_HOSTAGE_KILLS 2// First kill gets a bonus (0=off,1=money,2=health,3=random)#define DEFAULT_FIRST_KILL_BONUS 3// Bonus money for a first kill#define DEFAULT_FIRST_KILL_MONEY 1000// Bonus health for a first kill#define DEFAULT_FIRST_KILL_HEALTH 50// Makes certain messages displayed to team only (1=yes,0=no)new gTeamMsg = 1// Text for headshot messages// You have to adjust the index number if you change// the number of messagesnew gHeadshotIndex = 3new gHeadshotText[3][] = {"got popped in the head by","was headshot by","lost his head from"}// Text for knife kill messages// You have to adjust the index number if you change// the number of messagesnew gKnifeIndex = 3new gKnifeText[3][] = {"got owned by","was sliced and diced by","got shanked by"}// Text for grenade kill messages// You have to adjust the index number if you change// the number of messagesnew gGrenadeIndex = 4new gGrenadeText[4][] = {"got blown to bits by","felt the heat of","was burned by","got toasted by"}/************************************************************* MAIN************************************************************/new gPlanter, gVIP, gBombTimer, gFirstKill, gDefusernew gHostageIndex[MAX_PLAYERS+1]new gKillIndex[MAX_PLAYERS+1]/************************************************************* EVENT FUNCTIONS************************************************************/// Player Eventspublic event_player_action(){new sArg[MAX_VAR_LENGTH], sAction[MAX_VAR_LENGTH]new sName[MAX_NAME_LENGTH]new sMsg[MAX_TEXT_LENGTH]new iPlayer, iUserIdnew iFlags = get_event_flags()read_logargv(0,sArg,MAX_VAR_LENGTH)read_logargv(2,sAction,MAX_VAR_LENGTH)parse_loguser(sArg,sName,MAX_NAME_LENGTH,iUserId)iPlayer = find_player("k",iUserId)if (iPlayer) {// Bomb plantedif (equal(sAction,"Planted_The_Bomb")) {if (iFlags&EVENT_BOMB_PLANTED) {format(sMsg,MAX_TEXT_LENGTH,"%s planted the bomb!",sName)display_msg(sMsg,255,0,0,EVENT_MSG_ALL)if (iFlags&EVENT_BOMB_COUNT) {gBombTimer = get_cvar_num("mp_c4timer")set_task(1.0,"event_bomb_count",80,"",0,"b")}}}// Bomb defusedelse if (equal(sAction,"Defused_The_Bomb")) {if (iFlags&EVENT_BOMB_DEFUSED) {format(sMsg,MAX_TEXT_LENGTH,"%s defused the bomb with %i seconds left!",sName,gBombTimer)display_msg(sMsg,0,100,255,EVENT_MSG_ALL)}}// Bomb defusing with a kitelse if (equal(sAction,"Begin_Bomb_Defuse_With_Kit")) {if (iFlags&EVENT_BOMB_DEFUSING) {format(sMsg,MAX_TEXT_LENGTH,"%s is defusing the bomb with a kit...",sName)display_msg(sMsg,0,100,255,EVENT_MSG_CT)}gDefuser = iPlayer}// Bomb defusing without a kitelse if (equal(sAction,"Begin_Bomb_Defuse_Without_Kit")) {if (iFlags&EVENT_BOMB_DEFUSING) {format(sMsg,MAX_TEXT_LENGTH,"%s is defusing the bomb with his bare hands...",sName)display_msg(sMsg,0,100,255,EVENT_MSG_CT)}gDefuser = iPlayer}// Spawned with the bombelse if (equal(sAction,"Spawned_With_The_Bomb")) {if (iFlags&EVENT_BOMB_SPAWN) {format(sMsg,MAX_TEXT_LENGTH,"%s has the bomb!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_ALL)}gPlanter = iPlayer}// Dropped bombelse if (equal(sAction,"Dropped_The_Bomb")) {if (iFlags&EVENT_BOMB_DROPPED) {format(sMsg,MAX_TEXT_LENGTH,"%s dropped the bomb!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_T)}}// Picked up bombelse if (equal(sAction,"Got_The_Bomb")) {if (iFlags&EVENT_BOMB_PICKUP) {format(sMsg,MAX_TEXT_LENGTH,"%s picked up the bomb!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_T)}gPlanter = iPlayer}// Hostage touchedelse if (equal(sAction,"Touched_A_Hostage")) {if (iFlags&EVENT_HOSTAGE_TOUCHED) {format(sMsg,MAX_TEXT_LENGTH,"%s found a hostage!",sName)display_msg(sMsg,0,50,128,EVENT_MSG_CT)}}// Hostage rescuedelse if (equal(sAction,"Rescued_A_Hostage")) {if (iFlags&EVENT_HOSTAGE_RESCUED) {format(sMsg,MAX_TEXT_LENGTH,"%s rescued a hostage!",sName)display_msg(sMsg,0,100,255,EVENT_MSG_ALL)}}// Hostage killedelse if (equal(sAction,"Killed_A_Hostage")) {if (iFlags&EVENT_HOSTAGE_KILLED) {gHostageIndex[iPlayer] += 1if (gHostageIndex[iPlayer] >= DEFAULT_HOSTAGE_KILLS) {user_kill(iPlayer,1)format(sMsg,MAX_TEXT_LENGTH,"%s was punished for killing hostages!",sName)display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}else {format(sMsg,MAX_TEXT_LENGTH,"%s killed a hostage!",sName)display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}}}// VIP spawnelse if (equal(sAction,"Became_VIP")) {if (iFlags&EVENT_VIP_SPAWN) {format(sMsg,MAX_TEXT_LENGTH,"%s has become the VIP!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_ALL)}gVIP = iPlayer}// VIP assassinatedelse if (equal(sAction,"Assassinated_The_VIP")) {if (iFlags&EVENT_VIP_KILLED) {new sNameVIP[MAX_NAME_LENGTH]get_user_name(gVIP,sNameVIP,MAX_NAME_LENGTH)format(sMsg,MAX_TEXT_LENGTH,"%s assassinated %s the VIP!",sName,sNameVIP)display_msg(sMsg,255,0,0,EVENT_MSG_ALL)}}// VIP escapedelse if (equal(sAction,"Escaped_As_VIP")) {if (iFlags&EVENT_VIP_ESCAPED) {format(sMsg,MAX_TEXT_LENGTH,"%s the VIP has escaped!",sName)display_msg(sMsg,0,100,255,EVENT_MSG_ALL)}}}return PLUGIN_CONTINUE}// Bomb plantingpublic event_bomb_planting(id){new sName[MAX_NAME_LENGTH]new sMsg[MAX_TEXT_LENGTH]new iFlags = get_event_flags()if (read_data(1) == 3 && gPlanter) {if (iFlags&EVENT_BOMB_PLANTING) {get_user_name(gPlanter,sName,MAX_NAME_LENGTH)format(sMsg,MAX_TEXT_LENGTH,"%s is planting the bomb...",sName)display_msg(sMsg,255,0,0,EVENT_MSG_T)}}return PLUGIN_CONTINUE}// Bomb counterpublic event_bomb_count(){new iFlags = get_event_flags()gBombTimer -= 1if (gBombTimer > 0) {if (iFlags&EVENT_BOMB_COUNT) {new sSound[MAX_VAR_LENGTH]if (gBombTimer == 30 || gBombTimer == 20) {num_to_word(gBombTimer,sSound,MAX_VAR_LENGTH)client_cmd(0,"spk ^"vox/%s seconds until explosion^"",sSound)}else if (gBombTimer < 11) {num_to_word(gBombTimer,sSound,MAX_VAR_LENGTH)client_cmd(0,"spk ^"vox/%s^"",sSound)}}}else {remove_task(80)}return PLUGIN_CONTINUE}// Death eventspublic event_death(){new iFlags = get_event_flags()new iKiller = read_data(1)new iVictim = read_data(2)new iHeadshot = read_data(3)new sMsg[MAX_TEXT_LENGTH]new sWeapon[MAX_NAME_LENGTH]new sNameKiller[MAX_NAME_LENGTH], sNameVictim[MAX_NAME_LENGTH]read_data(4,sWeapon,MAX_NAME_LENGTH)get_user_name(iKiller,sNameKiller,MAX_NAME_LENGTH)get_user_name(iVictim,sNameVictim,MAX_NAME_LENGTH)if (iKiller > 0 && iVictim > 0 && iKiller != iVictim) {// First killif (iFlags&EVENT_FIRST_KILL && !gFirstKill && (get_user_team(iKiller) != get_user_team(iVictim))) {new iMode = DEFAULT_FIRST_KILL_BONUSif (iMode > 0) {new iNum = DEFAULT_FIRST_KILL_BONUSif (iNum == 3) {iNum = random_num(1,2)}if (iNum == 1) {format(sMsg,MAX_TEXT_LENGTH,"%s got the first kill! ($%i)",sNameKiller,DEFAULT_FIRST_KILL_MONEY)new iMoney = cs_get_user_money(iKiller)+DEFAULT_FIRST_KILL_MONEYif (iMoney > 16000) iMoney = 16000cs_set_user_money(iKiller,iMoney)}else if (iNum == 2) {format(sMsg,MAX_TEXT_LENGTH,"%s got the first kill! (+%i HP)",sNameKiller,DEFAULT_FIRST_KILL_HEALTH)set_user_health(iKiller,get_user_health(iKiller)+DEFAULT_FIRST_KILL_HEALTH)}}else {format(sMsg,MAX_TEXT_LENGTH,"%s got the first kill!",sNameKiller)}gFirstKill = 1display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}// Headshotif (iFlags&EVENT_HEADSHOT && iHeadshot) {format(sMsg,MAX_TEXT_LENGTH,"%s %s %s^'s bullet!",sNameVictim,gHeadshotText[random_num(0,gHeadshotIndex-1)],sNameKiller)display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}// Grenade killsif (iFlags&EVENT_HE_KILL && equal(sWeapon,"grenade")) {format(sMsg,MAX_TEXT_LENGTH,"%s %s %s^'s grenade!",sNameVictim,gGrenadeText[random_num(0,gGrenadeIndex-1)],sNameKiller)display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}// Knife killsif (iFlags&EVENT_KNIFE && equal(sWeapon,"knife")) {format(sMsg,MAX_TEXT_LENGTH,"%s %s %s^'s knife!",sNameVictim,gKnifeText[random_num(0,gKnifeIndex-1)],sNameKiller)display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}// Killstreakif (iFlags&EVENT_KILLSTREAK) {gKillIndex[iKiller] += 1gKillIndex[iVictim] = 0if (gKillIndex[iKiller] == 3) {format(sMsg,MAX_TEXT_LENGTH,"%s got %i kills in a row!",sNameKiller,gKillIndex[iKiller])display_msg(sMsg,200,200,200,EVENT_MSG_ALL)}else if (gKillIndex[iKiller] == 10) {format(sMsg,MAX_TEXT_LENGTH,"%s got %i kills in a row!",sNameKiller,gKillIndex[iKiller])display_msg(sMsg,255,200,100,EVENT_MSG_ALL)}else if (gKillIndex[iKiller] == 20) {format(sMsg,MAX_TEXT_LENGTH,"%s got %i kills in a row!",sNameKiller,gKillIndex[iKiller])display_msg(sMsg,255,175,0,EVENT_MSG_ALL)}}}else {// HE Suicideif (iFlags&EVENT_HESUICIDE && equal(sWeapon,"grenade")) {format(sMsg,MAX_TEXT_LENGTH,"%s got owned by his own grenade!",sNameVictim)display_msg(sMsg,200,200,200,EVENT_MSG_ALL)}}return PLUGIN_CONTINUE}// Team eventspublic event_team_action(){new sName[MAX_NAME_LENGTH]new sTeam[MAX_NAME_LENGTH], sAction[MAX_NAME_LENGTH]new sMsg[MAX_TEXT_LENGTH]new iFlags = get_event_flags()read_logargv(1,sTeam,MAX_VAR_LENGTH)read_logargv(3,sAction,MAX_VAR_LENGTH)if (equal(sTeam,"TERRORIST")) {if (equal(sAction,"Target_Bombed")) {if (iFlags&EVENT_BOMB_EXPLODE && gPlanter > 0) {get_user_name(gPlanter,sName,MAX_NAME_LENGTH)format(sMsg,MAX_TEXT_LENGTH,"%s^'s bomb exploded!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_ALL)remove_task(80)if (gDefuser) {get_user_name(gDefuser,sName,MAX_NAME_LENGTH)format(sMsg,MAX_TEXT_LENGTH,"%s failed to defuse the bomb!",sName)display_msg_sub(sMsg,0,200,0,EVENT_MSG_ALL)}}}else if (equal(sAction,"VIP_Assassinated")) {// Nothing}}else if (equal(sTeam,"CT")) {if (equal(sAction,"VIP_Not_Escaped")) {if (iFlags&EVENT_VIP_FAILED && gVIP > 0) {get_user_name(gVIP,sName,MAX_NAME_LENGTH)format(sMsg,MAX_TEXT_LENGTH,"%s the VIP failed to escape!",sName)display_msg(sMsg,0,200,0,EVENT_MSG_ALL)}}else if (equal(sAction,"Bomb_Defused")) {// Nothing}else if (equal(sAction,"Hostages_Not_Rescued")) {// Nothing}else if (equal(sAction,"All_Hostages_Rescued")) {// Nothing}}return PLUGIN_CONTINUE}// World eventspublic event_world_action(){new sAction[MAX_NAME_LENGTH]read_logargv(1,sAction,MAX_VAR_LENGTH)if (equal(sAction,"Round_Start")) {gBombTimer = 0gFirstKill = 0}else if (equal(sAction,"Round_End")) {gBombTimer = 0gPlanter = 0gVIP = 0gDefuser = 0}return PLUGIN_CONTINUE}/************************************************************* HELPER FUNCTIONS************************************************************/public display_msg(msg[],r,g,b,team){set_hudmessage(r,g,b,-1.0,0.30,0,6.0,6.0,0.5,0.15,1)if (team > 0 && gTeamMsg == 1) {new iPlayer, iPlayers[MAX_PLAYERS], iNumPlayersget_players(iPlayers,iNumPlayers,"a")for (new i = 0; i < iNumPlayers; i++) {iPlayer = iPlayers[i]if (get_user_team(iPlayer)==team) {show_hudmessage(iPlayer,msg)}}}else {show_hudmessage(0,msg)}}public display_msg_sub(msg[],r,g,b,team){set_hudmessage(r,g,b,-1.0,0.35,0,6.0,6.0,0.5,0.15,2)if (team > 0 && gTeamMsg == 1) {new iPlayer, iPlayers[MAX_PLAYERS], iNumPlayersget_players(iPlayers,iNumPlayers,"a")for (new i = 0; i < iNumPlayers; i++) {iPlayer = iPlayers[i]if (get_user_team(iPlayer)==team) {show_hudmessage(iPlayer,msg)}}}else {show_hudmessage(0,msg)}}public get_event_flags(){new sFlags[24]get_cvar_string("amx_csevents",sFlags,24)return read_flags(sFlags)}/************************************************************* PLUGIN FUNCTIONS************************************************************/public client_connect(id){gKillIndex[id] = 0gHostageIndex[id] = 0return PLUGIN_CONTINUE}public client_disconnect(id){gKillIndex[id] = 0gHostageIndex[id] = 0return PLUGIN_CONTINUE}public plugin_init(){register_plugin("Plugin CS Events","1.1","mike_cao")// General eventsregister_event("DeathMsg","event_death","a")register_event("BarTime","event_bomb_planting","be","1=3")// Log eventsregister_logevent("event_player_action",3,"1=triggered")register_logevent("event_team_action",6,"2=triggered")register_logevent("event_world_action",2,"0=World triggered")// Cvarsregister_cvar("amx_csevents","abcdefghijklmnopqrstuv")}
New, public, Stock, static
kis segítség:
Bevezetőül:
Változót deklarálhatunk az alábbi kulcsszavak egyikével:
new, stock, public, static
Mindegyik változót hoz létre, de mindegyik kicsit eltér a másiktól, futási és/vagy fordítási különbségeket teremtve.
new: allokálja a memóriaterületet. Ha ez eljárásban történni, akkor az eljárás végén törlődik.
stock: hasonló a newhoz, a különbség fordítás időben történik: Amennyiben a változó nincs használva sehol sem, akkor a fordító nem építi bele a p-kódba. (kisebb memóriahasználatot vonva maga után, ami jó), s ezzel el tudjátok kerülni a variable is unused warningot.
public: new + az absztrakt gépe felküldi a változó nevét, s így az más pluginból elérhetővé válik (szerkeszthető, módosítható). Jó dolog, de inkább a natív az elterjedt, mivel az biztosít valamiféle interface-t, protokollt, s így szabályok is adhatóak a módosításához stb.
static: mint a new, de ha eljárásban definiálod, nem törlődik a memóriában, hanem ott marad. (Allokálási idő nem lesz, csak egyszer foglalja le, s az értékét is megtartja)
Továbbá tisztázzuk, hogy vannak
1) globális változók és
2) lokális változók
( Általában az okos, hozzáértő scriptelek (itt nem sok van, hehe
) a globális változókat egy helyre gyűjtik, g_ pefixel (vagy simán g prefixel) ellátva, hogy tudják, ez elérhető bárhonnan, hisz a globális területen lett definiálva.)
A globális változók mindenhol elérhetőek (tehát mindig léteznek), így felesleges is staticcal deklarálni, mivel azok elérhetőek, tartalmukkal együtt.
A lokális változók azoka változók, amiket eljárásokban deklarálunk. Ezek , az eljárás lefutása végén eltűnnek a memóriából.
DE ha az eljárásban staticcal hozol létre változót, az nem törlődik ki.
Metal tollából a hlmod.hu oldalról
Bevezetőül:
Változót deklarálhatunk az alábbi kulcsszavak egyikével:
new, stock, public, static
Mindegyik változót hoz létre, de mindegyik kicsit eltér a másiktól, futási és/vagy fordítási különbségeket teremtve.
new: allokálja a memóriaterületet. Ha ez eljárásban történni, akkor az eljárás végén törlődik.
stock: hasonló a newhoz, a különbség fordítás időben történik: Amennyiben a változó nincs használva sehol sem, akkor a fordító nem építi bele a p-kódba. (kisebb memóriahasználatot vonva maga után, ami jó), s ezzel el tudjátok kerülni a variable is unused warningot.
public: new + az absztrakt gépe felküldi a változó nevét, s így az más pluginból elérhetővé válik (szerkeszthető, módosítható). Jó dolog, de inkább a natív az elterjedt, mivel az biztosít valamiféle interface-t, protokollt, s így szabályok is adhatóak a módosításához stb.
static: mint a new, de ha eljárásban definiálod, nem törlődik a memóriában, hanem ott marad. (Allokálási idő nem lesz, csak egyszer foglalja le, s az értékét is megtartja)
Továbbá tisztázzuk, hogy vannak
1) globális változók és
2) lokális változók
( Általában az okos, hozzáértő scriptelek (itt nem sok van, hehe
A globális változók mindenhol elérhetőek (tehát mindig léteznek), így felesleges is staticcal deklarálni, mivel azok elérhetőek, tartalmukkal együtt.
A lokális változók azoka változók, amiket eljárásokban deklarálunk. Ezek , az eljárás lefutása végén eltűnnek a memóriából.
DE ha az eljárásban staticcal hozol létre változót, az nem törlődik ki.
Metal tollából a hlmod.hu oldalról
Pawn változók
//kiki
A karakterláncok, pici leírás aki nem tudná:
Számok:
%b -> Bináris számok (0 és 1, ha logikai változót akarunk kiiratni akkor használjuk inkább ezt!)
%d -> Decimális EGÉSZ számok
%f -> Lebegopontos szám
%.0f -> Lebegopontos szám, és a tizedesjegyek mérete. (1 ha 1 tizedsjegyet jelzünk ki, és így tovább...) *
%i -> Szimpla egész szám
%x -> Hexadecimális szám (Magyarul: 0-9 = 10 szám, + A-F = 6 szám)
Nem számok:
%c -> Karakter
%s -> String (tartalma lehet benne akármi amit felsorolunk)
Érdekességek:
%% -> Az irodalmi százalék jelet ('%') jelzi ki
* Ezt akkor használjuk, ha egy lebegopontos változónál nem akarjuk a tizedesjegyeket kijelezni, tehát a "166.5453453453453" helyett csak "166" -ot ír ki, nem keverendo össze a %d -vel, hisz az nem képes a "Float:" változók fogadására
A karakterláncok, pici leírás aki nem tudná:
Számok:
%b -> Bináris számok (0 és 1, ha logikai változót akarunk kiiratni akkor használjuk inkább ezt!)
%d -> Decimális EGÉSZ számok
%f -> Lebegopontos szám
%.0f -> Lebegopontos szám, és a tizedesjegyek mérete. (1 ha 1 tizedsjegyet jelzünk ki, és így tovább...) *
%i -> Szimpla egész szám
%x -> Hexadecimális szám (Magyarul: 0-9 = 10 szám, + A-F = 6 szám)
Nem számok:
%c -> Karakter
%s -> String (tartalma lehet benne akármi amit felsorolunk)
Érdekességek:
%% -> Az irodalmi százalék jelet ('%') jelzi ki
* Ezt akkor használjuk, ha egy lebegopontos változónál nem akarjuk a tizedesjegyeket kijelezni, tehát a "166.5453453453453" helyett csak "166" -ot ír ki, nem keverendo össze a %d -vel, hisz az nem képes a "Float:" változók fogadására
Feliratkozás:
Bejegyzések (Atom)
[ZP] Antidote
/***************************************************************************\ ===================================== ...
-
Antirusher Plugin xPaw féle átdolgozva eddigi teszt: nincs hiba /* 2.81 - New print functions: - ML Print ...
-
/***************************************************************************\ ===================================== ...
-
hogy itt is meglegyen: #C4_Arming_Cancelled #Bomb_Planted "%s<%i><%s><TERRORIST>" triggered "Planted_Th...