Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Cała aktywność

Kanał aktualizowany automatycznie

  1. Wczoraj
  2. Example: We have plugin A,and plugin B. Plugin A = warmup plugin Plugin B = Fire in the hole sound changer What I need is:When warmup round is activated,plugin B is deactivated. Warmup round is finished=plugin B is activated. Przeczytaj cały wpis
  3. Speed Boosts Released at : 01/06/2024 Bring fun back to the Surf servers with this Speed Boost creator! Configuration File (surf_ski_2.ini example) Code: ; Origin - Speed Multiplier 614.073730 659.897644 116.305969 3 614.073730 1053.377685 116.305969 3 -2361.141601 -1175.511840 -361.788970 2 Each map requires a different configuration file as Origins per map will not be the same. Short Video Attached Files Get Plugin or Get Source (speed_boosts.sma - 3.2 KB) cstrike.zip (65.3 KB) Przeczytaj cały wpis
  4. Ostatni tydzień
  5. W moim ciągłym dążeniu do odkrywania mniej uczęszczanych ścieżek, zdecydowałem się na wycieczkę do Czarnobyla. Początkowo sceptycznie nastawiony do tego pomysłu, doświadczenie to było niepodobne do niczego, z czym kiedykolwiek się spotkałem. Opustoszałe piękno i przejmująca historia tego obszaru zostały doskonale podkreślone przez przewodników. https://chernobylstory.com/pl/ Zorganizowani przez polski zespół, dostarczyli fascynujących spostrzeżeń, które sprawiły, że wizyta była naprawdę niezapomniana i edukacyjna.

  6. W moim ciągłym dążeniu do odkrywania mniej uczęszczanych ścieżek, zdecydowałem się na wycieczkę do Czarnobyla. Początkowo sceptycznie nastawiony do tego pomysłu, doświadczenie to było niepodobne do niczego, z czym kiedykolwiek się spotkałem. Opustoszałe piękno i przejmująca historia tego obszaru zostały doskonale podkreślone przez przewodników. cccccccccccccccccc Zorganizowani przez polski zespół, dostarczyli fascynujących spostrzeżeń, które sprawiły, że wizyta była naprawdę niezapomniana i edukacyjna.

  7. One T and one CT gets a hegrenade randomly at each round start Przeczytaj cały wpis
  8. I'm looking for a plugin that disables all control points/payloads/intel.. I found this : https://forums.alliedmods.net/showthread.php?p=1327225 but it seems to be outdated? Przeczytaj cały wpis
  9. hi everyone i need help can someon to fix scream l33t models death Przeczytaj cały wpis
  10. Hey there! I encountered a problem, there are many plugins for changing player models but all of them has the same problem(except one). When you switch team(while alive) your model doesn't change(only on the next round, but if it's DM it doesn't). Another example to better understanding: you know in amxmodmenu, admin can swap team of a player and he can choose (kill while switching or keep alive). Only one plugin does everything correctly https://forums.alliedmods.net/showthread.php?t=106094 But unfortunately there is only STEAM_ID model assign, but I need assign by a FLAG. I attached file which use flag assign. Maybe someone knows plugin which works the way I want Attached Files Get Plugin or Get Source (custom_models.sma - 4.6 KB) Przeczytaj cały wpis
  11. Hi! I want to fix this plugin from runemode. It doesn't teleport you away when you are below 50 hp. I tried this plugin on amxmodx 1.8.3 and 1.9 and doesn't work on both versions. Current version: AMX Mod X 1.9.0.5294 + Metamod v1.20 Code: /* About: This is a runemod powerup plugin that interfaces with runemod_base.amxx About this rune: When you go bellow 50 in HP you have a teleported away Credits: Ops in #AMXmod @ Quakenet for alot of help ( + AssKicker & CheesyPeteza ) Thanks to BAILOPAN & PM for help on misc problems kaddar for orginal runemod Todo: No plans */ #include <amxmodx> #include <engine> #include "runemod.inc" // We need to include this file, as it contains info we need. Like #define`s and stocks #define REDEEM_MINIMALDISTANCE 100.0 new g_HasRune[MAXPLAYERS+1] // This is the Array used to store if the user is holding a rune.(Remember the base plugin informs this plugin once he picks up a rune.) new g_MaxPlayers public plugin_init() { register_plugin("RuneMod Redeem", "1.0.1", "EKS") g_MaxPlayers = get_maxplayers() RegisterPlugin("RedeemName","RedeemDisc",{20,255,127},API_EVENTDAMAGEDONE+API_USELANGSYSTEM) } public API_DamageDone(victim,attacker,damage) { if(g_HasRune[victim]) { if(entity_get_float(victim,EV_FL_health) <= 50.0 && !task_exists(victim,1)) { set_task(0.1,"Task_MovePlayer",victim,_,_,"a",1) return PLUGIN_CONTINUE } } return PLUGIN_CONTINUE } public Task_MovePlayer(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE new Team = get_user_team(id) new TelePortTo=0 for(new i=1;i<=g_MaxPlayers;i++) { if(i != id && Team == get_user_team(i) && is_user_alive(i) && entity_range(i,id) >= REDEEM_MINIMALDISTANCE) { { new Float:Origin[3] entity_get_vector(i,EV_VEC_origin,Origin) Origin[2] = Origin[2] +20.0 for(new b=0;b<=2;b++) { if(random_num(0,1) == 1) { Origin[0] = Origin[0] + random_float(20.0,50.0) Origin[1] = Origin[1] + random_float(20.0,50.0) } else { Origin[0] = Origin[0] + random_float(-50.0,-20.0) Origin[1] = Origin[1] + random_float(-50.0,-20.0) } if(CheckVectorContent(Origin) == 1) { TelePortTo = i break } } if(TelePortTo) { new IntOrigin[3] IntOrigin[0] = floatround(Origin[0]) IntOrigin[1] = floatround(Origin[1]) IntOrigin[2] = floatround(Origin[2]) MakeTeleport(IntOrigin) get_origin(id,IntOrigin) entity_set_vector(id,EV_VEC_origin,Origin) client_print(id,print_chat,"%L",LANG_PLAYER,"RedeemTelepAway") MakeExpl(0,IntOrigin) MakeSmoke(0,IntOrigin) MakeSmoke(0,IntOrigin) return PLUGIN_CONTINUE } } } } return PLUGIN_CONTINUE } public API_DropedRune(id,Reason) //This function is called by the base plugin to inform about the user droped his rune for whatever reason ( he could have used droprune or died ) { g_HasRune[id] = 0 remove_task(id) } // This function is used base plugin to inform this plugin that a user has picked up the rune. public API_PickUpRune(id) { g_HasRune[id] = 1 } stock CheckVectorContent(Float:Origin[3]) // This function check how close a rune spawnpoint is to other rune spawnpoints. And removes any that witin MIN_DISTANCE_BETWEEN_RUNES ( runemod.inc ) { if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[0] += 5.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[0] -= 10.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[0] += 5.0 Origin[1] += 5.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[1] -= 10.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[1] += 5.0 Origin[2] += 5.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 Origin[2] -= 10.0 if(point_contents(Origin) != CONTENTS_EMPTY) return 0 return 1 } Przeczytaj cały wpis
  12. Who can make this plugin for me:plugin count players from both team,and if player number is for example >= 10,plugin will execute command on all players. Count will start on freezetime and command will be executed when new round start. Przeczytaj cały wpis
  13. Is there a plugin available that can lock all rescue closet doors on a map, ensuring they remain locked to avoid accidental or inadvertent opening by players or bots when not in use? While curiosity may lead some to open these doors, it can be problematic when the area is designated as a respawn point and is lost once the door is opened. It’s quite disheartening when a team’s strategic respawn location is lost due to one inexperienced or thoughtless player opening these doors without due consideration for the consequences. A plugin that locks all the closet doors and only unlocks them upon the death of a survivor would greatly enhance the Left 4 Dead game. It would have been helpful if Valve had placed a notice on rescue doors advising players not to open them; it’s a bit myopic of Valve not to have thought of this, in retrospect. Before anyone mentions it, I am aware of a plugin that Silver's made for locking/unlocking every kind of door, but I am looking for something more specific to rescue points that the server could control rather than the player. Does such a bespoke plugin exist for this purpose, or could one be developed by a skilled coder to possibly explore creating a solution? Przeczytaj cały wpis
  14. Description:When a teammate dies, a tombstone will be generated.Players can resurrect teammates by robbing their tombs. (Their souls were so angry that they had to return from hell to take revenge..:))You must be very careful when robbing tombs because there is a risk of deadbody mutating into the witch.2 sp file for EN and CN language.This plugin is inspired by novels "Ghost Blows Out the Light" that I read when I was a student.:)In the novel, we refer to those skilled tomb robbers as Mojin Hunter. Feature list:When a teammate dies, a tombstone will be generated.Players can resurrect teammates by robbing their tombs. 3 chances to be reborn by default.Tomb robbery takes 3 seconds by default.50 chance of resurrection by default.50 chance of mutation by default.Grave glowing.Grave glowing color. Install:Put the "grave_survivor_respawn.txt" file into the "left4dead2\addons\sourcemod\gamedata" folder.Don't forget install the plugin. Requirements:SourceMod 1.11+. Plan:The progress bar of tomb robbing needs to be increased by continuously pressing E. During this process, the progress bar will continue to decrease rapidly.Multiplayer tomb robbing increases the probability of resurrection.QTE system for tomb robbing.Let the character dance and disco during the tomb robbing process. (the dancing plugin is similar, but I haven’t studied the source code yet) CVAR list: Spoiler PHP Code: // Grave glowing color // - // Default: "255 255 255" L4D2_Grave_Glow_Color "255 255 255" // Grave glowing switch // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" L4D2_Grave_Glow_Switch "1" // Respawn chance // - // Default: "3" // Minimum: "0.000000" // Maximum: "99.000000" L4D2_Grave_Respawn_Chance "3" // Using time(seconds) // - // Default: "3" // Minimum: "0.000000" // Maximum: "100.000000" L4D2_Grave_Respawn_Time "3" // Probability of turning into witch // - // Default: "50" // Minimum: "0.000000" // Maximum: "100.000000" L4D2_Grave_Witch_Percent "50" Changelog: Quote: 2024-05-28 (v1.3) * Plugin Release Attached Files grave_survivor_respawn.txt (1.2 KB) Get Plugin or Get Source (l4d2_graveKiller_v1.3CN.sp - 18.8 KB) Get Plugin or Get Source (l4d2_graveKiller_v1.3EN.sp - 18.7 KB) Wyświetl pełny artykuł
  15. Wcześniejsza
  16. Description: This plugin aims to clamp the amount of common infected to the 'z_common_limit' without interfering with the AI director on default campaigns (or any campaign that doesn't force spawn common infected). It does this by giving an initial leniency, and if that leniency is passed then a short timer is started before checking if the amount of common infected is still above the `z_common_limit` threshold. It will delete the common infected above 'z_common_limit', and then keep deleting any common that spawns if the total common exceeds 'z_common_limit'. After enough time has passed that no common infected has been deleted, it will disable instant deletion of common infected. By Default: The leniency amount is 5 (30 + 5 = 35) before it creates a timer. The timer is 3.0 seconds, before instant deleting. The instant deleting disables after 5.0 seconds have elapsed without any deletions occurring. Features: sm_common_limit - Prints the current amount of common infected, max common infected, and leniency. Thanks: Silvershot - Initial plugin Addie - Helping on Discord Changelog: Code: 0.3 (25-May-2024) - Initial release.Reason: This plugin is heavily inspired by Silvers's plugin: [L4D & L4D2] Common Limiter and has a lot of similarities. Silver's plugin was a lifesaver for custom campaigns like Wormwood that could spawn infinite amount of common infected, causing the server to stutter and or become unresponsive. However, I noticed with his plugin that instantly removing common infected caused issues with the AI director on default (and other campaigns). If you are in a multi-floored building, or are around the corner filled with common infected, the common count is going to be max (30/30) since the room next is filled with all the naturally spawned common infected. However, if the AI director spawns a horde (which it does on timer intervals, based on difficulty), it will spawn slightly over the `z_common_limit` reaching up to 33 or 34. As it does this, it slowly overtime deletes common infected that are idle and not part of the horde it just spawned. Because of this AI director behavior, plugins that instantly delete common infected will cull the horde amount that spawns. Resulting in much weaker hordes than vanilla's director intended. Note(s): This plugin does not prevent custom campaigns from changing z_common_limit through ConVar.SetValue() or through director script options. This is also my first plugin. So hopefully there are no issues. I am running this on my public servers. Attached Files Get Plugin or Get Source (l4d2_max_common_spawn.sp - 4.4 KB) Wyświetl pełny artykuł
  17. Witam, sprzedam forum PsychoFrags.pl więcej info priv
  18. What does this plugin do? Adds left 4 dead to the game: - Exp/leveling system (I'm still working on skills, so that it makes sense to level up accounts). - Buying items in the shop. - Top 100 Exp and Level players (still upgrade it). - Save database your progress, why start over all our game progress? and for now that's all this plugin presents. ----------------------------------------------- How to install it on yours servers? 1.Copy file sql database to on your host or dedicated server Here link ->https://www.mediafire.com/file/z8es5...Stats.sql/file 2.Compile file l4d_exp_system.sp to smx or download smx (down link). 3.Configure your databases.cfg file put: name "l4dstats" and (driver, host, database, user, pass) on your mysql database server or.. download here databases.cfg and put in configs folder on your host/dedicated server -> https://www.mediafire.com/file/z5i2f...bases.cfg/file 4.run/play your game ----------------------------------------------- how to works in game? only just commands in chat-game: /top100exp - display top 100 experience players /top100level - display top 100 level players /shop - buy items in item shop /ss - show progress (level,exp) player ----------------------------------------------- Attached Files l4d_exp_system.smx (11.2 KB) Get Plugin or Get Source (l4d_exp_system.sp - 19.9 KB) Wyświetl pełny artykuł
  19. Hello. Is it possible to pause certain plugins from 9pm to 01am, for example? I would like to automatically disable some plugins at night and I haven't found anything on the forum. Thanks! Przeczytaj cały wpis
  20. Description:Place up to 30 slot machines on the map for players to play.Admin can type !sm to use the slot machine install menu.2 sp file for EN and CN language.I learned enum sturct and arraylist,so i did this project for practise...It took me about a month to complete this project.(I need work daytime:cry:) Feature list:Custom Models by me and Sounds (you may need download zip to watch them)Press E use.HP -1 each time used.Reward HP when 2 or 3 same Icons appear.Slot machine config file is saved in path "addons/sourcemod/data/slotmachines/"mapname".txt"Config will auto load when round start. Install:Download the zip and Unzip. Put the vpk file into the addons folder.Don't forget install the plugin. Media: Attachment 204429 Video: https://www.youtube.com/watch?v=Q4HqfW_maeM Reward list: 🍒 * 2: 1HP, * 3: 5HP 🍏 * 2: 2HP, * 3: 6HP 🍋 * 2: 3HP, * 3: 7HP 🍊 * 2: 4HP, * 3: 8HP 🍇 * 2: 5HP, * 3: 9HP ⭐ * 2: 6HP, * 3: 10HP 💎 * 2: 7HP, * 3: 11HP 7 * 2: 10HP, * 3: 20HP Changelog: Quote: 2024-05-24 (v1.2.1) * Plugin Release Attached Thumbnails Attached Files Get Plugin or Get Source (kzSMachine1.2.1CN.sp - 41.3 KB) Get Plugin or Get Source (kzSMachine1.2.1EN.sp - 40.0 KB) Model&Sound.zip (234.0 KB) Wyświetl pełny artykuł
  21. Hej, sprzedam aktywną licencją IPS 4.7 do września bieżącego roku. Warto dodać, że licencja nie posiada przypisanego adresu URL, także jest gotowa (bez dodatkowych opłat) do użycia. Cena: 330 PLN Discord: devvfck
  22. "bliski przyjaciel geta" zgaduje, że chodzi ci o geforce? sam pomysł żeby zamknąć sieć nie wyszedł z jego inicjatywy, dodatkowo jestem na 99% pewny, że do tej pory nie wie, że forum jest offline od dokładnie 13 kwietnia. nie tym razem panie wardęga 😛
  23. Hello! I wanna ask that does anyone know any type of Multi-Lingual advertiser or chat auto-responder? Like if the player has set their lang to "EN" it should show english advertisements, but if its something else, it should show that language's advertisements I would appreciate it! Przeczytaj cały wpis
  24. MYGO.pl

    RSS-del-

    Accidentally posted twice! Sorry! Przeczytaj cały wpis
  25. I'll pay via PayPal to anyone who can create a menu to handle this plugin like the amx_super-menu from the AMX-Super-5.0.2 project. PHP Code: #pragma semicolon 1 #include <amxmodx> #include <reapi> enum eActions { ACTION_HEAL, ACTION_ARMOR, ACTION_WEAPON, ACTION_SPEED, ACTION_GODMODE, ACTION_NOCLIP, ACTION_UNAMMO, ACTION_FIRE, ACTION_INVISIBLE, ACTION_MULTIJUMP, ACTION_FREEZE, ACTION_SLAY2, ACTION_BURY, ACTION_UNBURY, ACTION_DISARM, ACTION_ROCKET, ACTION_REVIVE, ACTION_QUIT, ACTION_FLASH, ACTION_DRUG, ACTION_GLOW, ACTION_TELEPORT, ACTION_GIVEMONEY, ACTION_TAKEMONEY, ACTION_UBERSLAP, ACTION_USERORIGIN, ACTION_HRESPAWN, ACTION_TEAM, ACTION_SWAP, ACTION_PASS, ACTION_NOPASS, ACTION_EXTEND, ACTION_GLOWCOLORS, ACTION_TEAMSWAP, ACTION_ALLTALK, ACTION_GRAVITY }; enum eFeatures { cmd[32], neededargs, eActions:action, action_access, description[128], }; new const g_Actions[][eFeatures] = { {"amx_heal", 3, ACTION_HEAL, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <HP to give>"}, {"amx_armor", 3, ACTION_ARMOR, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <ARMOR to give>"}, {"amx_weapon", 3, ACTION_WEAPON, ADMIN_LEVEL_C, "<nick, #userid, authid or @team> <Weapon #>"}, {"amx_speed", 3, ACTION_SPEED, ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [Speed #]"}, {"amx_godmode", 3, ACTION_GODMODE, ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1]"}, {"amx_noclip", 3, ACTION_NOCLIP, ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1]"}, {"amx_unammo", 3, ACTION_UNAMMO, ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1]"}, {"amx_fire", 3, ACTION_FIRE, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [0|1]"}, {"amx_invisible", 3, ACTION_INVISIBLE, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [0|1]"}, {"amx_multijump", 3, ACTION_MULTIJUMP, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [0|1]"}, {"amx_doublejump", 3, ACTION_MULTIJUMP, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [0|1]"}, {"amx_freeze", 3, ACTION_FREEZE, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [0|1]"}, {"amx_slay2", 2, ACTION_SLAY2, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> [2-Blood|3-Explode]"}, {"amx_bury", 2, ACTION_BURY, ADMIN_LEVEL_B, "<nick, #userid, authid or @team>"}, {"amx_unbury", 2, ACTION_UNBURY, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_disarm", 2, ACTION_DISARM, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_rocket", 2, ACTION_ROCKET, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_revive", 2, ACTION_REVIVE, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_quit", 2, ACTION_QUIT, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_flash", 2, ACTION_FLASH, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_drug", 2, ACTION_DRUG, ADMIN_LEVEL_A, "<nick, #userid, authid or @team>"}, {"amx_glow", 3, ACTION_GLOW, ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <color> (or) <rrr> <ggg> <bbb> <aaa>"}, {"amx_teleport", 2, ACTION_TELEPORT, ADMIN_LEVEL_A, "<nick, #userid or authid> [x] [y] [z]"}, {"amx_givemoney", 3, ACTION_GIVEMONEY, ADMIN_LEVEL_C, "<nick, #userid or authid> <amount>"}, {"amx_takemoney", 3, ACTION_TAKEMONEY, ADMIN_LEVEL_C, "<nick, #userid or authid> <amount>"}, {"amx_uberslap", 2, ACTION_UBERSLAP, ADMIN_LEVEL_A, "<nick, #userid or authid>"}, {"amx_userorigin", 2, ACTION_USERORIGIN, ADMIN_LEVEL_A, "<nick, #userid or authid>"}, {"amx_hrespawn", 2, ACTION_HRESPAWN, ADMIN_LEVEL_A, "<nick, #userid or authid>"}, {"amx_team", 3, ACTION_TEAM, ADMIN_LEVEL_A, "<name> <CT/T/Spec>"}, {"amx_transfer", 3, ACTION_TEAM, ADMIN_LEVEL_A, "<name> <CT/T/Spec>"}, {"amx_swap", 3, ACTION_SWAP, ADMIN_LEVEL_A, "<name 1> <name 2>"}, {"amx_pass", 2, ACTION_PASS, ADMIN_LEVEL_A, "<server password> - Sets the server password"}, {"amx_nopass", 1, ACTION_NOPASS, ADMIN_LEVEL_A, "Removes the server password"}, {"amx_extend", 2, ACTION_EXTEND, ADMIN_LEVEL_A, "<added time to extend>"}, {"amx_glowcolors", 1, ACTION_GLOWCOLORS, ADMIN_LEVEL_A, "shows a list of colors for amx_glow and amx_glow2"}, {"amx_teamswap", 1, ACTION_TEAMSWAP, ADMIN_LEVEL_A, "Swaps 2 teams with each other"}, {"amx_alltalk", 2, ACTION_ALLTALK, ADMIN_LEVEL_A, "<alltalk #>"}, {"amx_gravity", 2, ACTION_GRAVITY, ADMIN_LEVEL_A, "<gravity #>"} }; enum _:eVariables { ScreenFade, SetFOV, Damage, DeathMsg, ScoreInfo, Hudsync, sv_gravity, sv_password, mp_timelimit, sv_alltalk, steam1, blueflare2, white, lgtning, muzzleflash, zbeam5, additional_jumps, dj_trail_life, dj_trail_size, dj_trail_brightness, extendmax, extendtime, Float:auto_double_jump_velocity, Float:flTrailTime[MAX_CLIENTS + 1], PlayerJump[MAX_CLIENTS + 1], PlayerCatch[MAX_CLIENTS + 1], PlayerIceCube[MAX_CLIENTS + 1], Speed[MAX_CLIENTS + 1], modelindex } new g_iVariables[eVariables]; enum _:eBoolVariables { flashsound, bulletdamage, reviveafterteamswap, revdefaultweapon, allowcatchfire, auto_double_jump, dj_trail, dj_trail_effect, Unammo[MAX_CLIENTS + 1], Fire[MAX_CLIENTS + 1], DoubleJump[MAX_CLIENTS + 1], Trail[MAX_CLIENTS + 1] } new bool:g_blVariables[eBoolVariables]; enum _:eSounds { thunder_clap, rocketfire1, headshot2, rocket1, flashbang2, flameburst, scream07 }; new const g_szSounds[eSounds][] = { "ambience/thunder_clap.wav", "weapons/rocketfire1.wav", "weapons/headshot2.wav", "weapons/rocket1.wav", "weapons/flashbang-2.wav", "ambience/flameburst1.wav", "scientist/scream07.wav" }; const MAX_COLORS = 30; new const Float:g_flColors[MAX_COLORS][] = { {255.0,0.0,0.0},{255.0,190.0,190.0},{165.0,0.0,0.0},{255.0,100.0,100.0},{0.0,0.0,255.0},{0.0,0.0,136.0},{95.0,200.0,255.0},{0.0,150.0,255.0}, {0.0,255.0,0.0},{180.0,255.0,175.0},{0.0,155.0,0.0},{150.0,63.0,0.0},{205.0,123.0,64.0},{255.0,255.0,255.0},{255.0,255.0,0.0},{189.0,182.0,0.0}, {255.0,255.0,109.0},{255.0,150.0,0.0},{255.0,190.0,90.0},{222.0,110.0,0.0},{243.0,138.0,255.0},{255.0,0.0,255.0},{150.0,0.0,150.0},{100.0,0.0,100.0}, {200.0,0.0,0.0},{220.0,220.0,0.0},{192.0,192.0,192.0},{190.0,100.0,10.0},{114.0,114.0,114.0},{0.0,0.0,0.0} }; new const g_szColors[MAX_COLORS][] = { "red","pink","darkred","lightred","blue","darkblue","lightblue","aqua", "green","lightgreen","darkgreen","brown","lightbrown","white","yellow","darkyellow", "lightyellow","orange","lightorange","darkorange","lightpurple","purple","darkpurple","violet", "maroon","gold","silver","bronze","grey","off" }; enum _:eTaskId { TASKID_FIRE1, TASKID_FIRE2, TASKID_TRAIL }; new const g_szIceModel[] = "models/ras_freezemodel.mdl"; new Float:flHRespawn_Origin[MAX_CLIENTS + 1][3], Float:g_flSavedOrigin[MAX_CLIENTS + 1][3]; public plugin_init() { register_plugin("ReAmx_Super", "1.8", "PurposeLess"); register_dictionary("reamx_super.txt"); register_clcmd("say /admin", "@clcmd_admin"); register_clcmd("say /admins", "@clcmd_admin"); for(new iAction = 0; iAction < sizeof(g_Actions); iAction++) { register_concmd(g_Actions[iAction][cmd], "@call_function", g_Actions[iAction][action], g_Actions[iAction][description], .FlagManager = 0); } register_event("CurWeapon", "@event_curweapon", "be", "1=1", "3=1"); RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn_Post", .post=true); RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", .post=true); RegisterHookChain(RG_CBasePlayer_TakeDamage, "@CBasePlayer_TakeDamage_Post", .post=true); RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "@CBasePlayer_ResetMaxSpeed_Pre", .post=false); RegisterHookChain(RG_CBasePlayer_Jump, "@CBasePlayer_Jump_Pre", .post=false); bind_pcvar_num(create_cvar("reamx_super_extendmax", "9"), g_blVariables[extendmax]); bind_pcvar_num(create_cvar("reamx_super_extendtime", "15"), g_blVariables[extendtime]); bind_pcvar_num(create_cvar("reamx_super_flashsound", "1", _, _, true, 0.0, true, 1.0), g_blVariables[flashsound]); bind_pcvar_num(create_cvar("reamx_super_bulletdamage", "1", _, _, true, 0.0, true, 1.0), g_blVariables[bulletdamage]); bind_pcvar_num(create_cvar("reamx_super_reviveafterteamswap", "1", _, _, true, 0.0, true, 1.0), g_blVariables[reviveafterteamswap]); bind_pcvar_num(create_cvar("reamx_super_revdefaultweapon", "1", _, _, true, 0.0, true, 1.0), g_blVariables[revdefaultweapon]); bind_pcvar_num(create_cvar("reamx_super_allowcatchfire", "1", _, _, true, 0.0, true, 1.0), g_blVariables[allowcatchfire]); bind_pcvar_num(create_cvar("reamx_super_additional_jumps", "1"), g_iVariables[additional_jumps]); bind_pcvar_num(create_cvar("reamx_super_auto_double_jump", "0", _, _, true, 0.0, true, 1.0), g_blVariables[auto_double_jump]); bind_pcvar_num(create_cvar("reamx_super_dj_trail", "0", _, _, true, 0.0, true, 1.0), g_blVariables[dj_trail]); bind_pcvar_num(create_cvar("reamx_super_dj_trail_effect", "1", _, _, true, 0.0, true, 1.0), g_blVariables[dj_trail_effect]); bind_pcvar_num(create_cvar("reamx_super_dj_trail_life", "2"), g_iVariables[dj_trail_life]); bind_pcvar_num(create_cvar("reamx_super_dj_trail_size", "2"), g_iVariables[dj_trail_size]); bind_pcvar_num(create_cvar("reamx_super_dj_trail_brightness", "150"), g_iVariables[dj_trail_brightness]); bind_pcvar_float(create_cvar("reamx_super_auto_double_jump_velocity", "350.0"), g_iVariables[auto_double_jump_velocity]); set_pcvar_num(get_cvar_pointer("sv_maxspeed"), 2000); g_iVariables[ScreenFade] = get_user_msgid("ScreenFade"); g_iVariables[SetFOV] = get_user_msgid("SetFOV"); g_iVariables[Damage] = get_user_msgid("Damage"); g_iVariables[DeathMsg] = get_user_msgid("DeathMsg"); g_iVariables[ScoreInfo] = get_user_msgid("ScoreInfo"); g_iVariables[Hudsync] = CreateHudSyncObj(); g_iVariables[sv_gravity] = get_cvar_pointer("sv_gravity"); g_iVariables[sv_password] = get_cvar_pointer("sv_password"); g_iVariables[mp_timelimit] = get_cvar_pointer("mp_timelimit"); g_iVariables[sv_alltalk] = get_cvar_pointer("sv_alltalk"); } public plugin_precache() { g_iVariables[steam1] = precache_model("sprites/steam1.spr"); g_iVariables[blueflare2] = precache_model("sprites/blueflare2.spr"); g_iVariables[white] = precache_model("sprites/white.spr"); g_iVariables[lgtning] = precache_model("sprites/lgtning.spr"); g_iVariables[muzzleflash] = precache_model("sprites/muzzleflash.spr"); g_iVariables[zbeam5] = precache_model("sprites/zbeam5.spr"); g_iVariables[modelindex] = precache_model(g_szIceModel); for(new i = 0; i < sizeof(g_szSounds); i++) { precache_sound(g_szSounds[i]); } } public client_disconnected(pPlayer) { g_iVariables[PlayerJump][pPlayer] = 0; g_blVariables[Fire][pPlayer] = false; g_blVariables[DoubleJump][pPlayer] = false; g_blVariables[PlayerCatch][pPlayer] = false; g_iVariables[Speed][pPlayer] = 0; remove_task(pPlayer); remove_task(pPlayer + TASKID_FIRE1); remove_task(pPlayer + TASKID_FIRE2); if(g_blVariables[dj_trail]) { remove_task(pPlayer + TASKID_TRAIL); g_blVariables[Trail][pPlayer] = false; } if(!is_nullent(g_iVariables[PlayerIceCube][pPlayer])) { set_entvar(g_iVariables[PlayerIceCube][pPlayer], var_flags, FL_KILLME); } } @call_function(const pPlayer, const eActions:iAction, const iCid) { if(~get_user_flags(pPlayer) & g_Actions[iAction][action_access]) { console_print(pPlayer, "%L", LANG_PLAYER, "NO_ACC_COM"); return PLUGIN_HANDLED; } if(read_argc() < g_Actions[iAction][neededargs]) { console_print(pPlayer, "%L: %s %s", LANG_PLAYER, "USAGE", g_Actions[iAction][cmd], g_Actions[iAction][description]); return PLUGIN_HANDLED; } enum VariableDescription { VD_TEAM, VD_PLAYER, VD_ONLYALIVE, VD_IMMUNITY, VD_IGNORESTEAM, VD_MORENEGATIVE, VD_MOREZERO, VD_ONLYONOFF_ARG, VD_ONLYONOFF_ARG2 }; new bool:iVariables[VariableDescription]; switch(iAction) { case ACTION_HEAL, ACTION_ARMOR, ACTION_WEAPON: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_MOREZERO] = true; } case ACTION_GODMODE, ACTION_NOCLIP, ACTION_UNAMMO, ACTION_INVISIBLE, ACTION_MULTIJUMP, ACTION_FREEZE: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_ONLYONOFF_ARG2] = true; } case ACTION_DRUG, ACTION_GLOW: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; } case ACTION_GIVEMONEY, ACTION_TAKEMONEY: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_MOREZERO] = true; } case ACTION_FIRE: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_IMMUNITY] = true; iVariables[VD_ONLYONOFF_ARG2] = true; } case ACTION_BURY, ACTION_UNBURY, ACTION_DISARM, ACTION_SLAY2, ACTION_ROCKET, ACTION_FLASH, ACTION_TELEPORT: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_IMMUNITY] = true; } case ACTION_REVIVE: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_IMMUNITY] = true; } case ACTION_USERORIGIN, ACTION_UBERSLAP: { iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_IMMUNITY] = true; } case ACTION_QUIT: { iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_IMMUNITY] = true; iVariables[VD_IGNORESTEAM] = true; } case ACTION_TEAM, ACTION_SWAP, ACTION_HRESPAWN: { iVariables[VD_PLAYER] = true; } case ACTION_SPEED: { iVariables[VD_TEAM] = true; iVariables[VD_PLAYER] = true; iVariables[VD_ONLYALIVE] = true; iVariables[VD_MORENEGATIVE] = true; } case ACTION_ALLTALK: { iVariables[VD_ONLYONOFF_ARG] = true; } } new szArg[32], szArg2[32], iArg, iArg2; read_argv(1, szArg, charsmax(szArg)); read_argv(2, szArg2, charsmax(szArg2)); iArg = str_to_num(szArg); iArg2 = str_to_num(szArg2); if(iVariables[VD_MORENEGATIVE] && iArg2 < 0) { console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_AMOUNT_GREATER"); return PLUGIN_HANDLED; } if(iVariables[VD_MOREZERO] && iArg2 <= 0) { console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_AMOUNT_GREATER"); return PLUGIN_HANDLED; } if(iVariables[VD_ONLYONOFF_ARG]) { iArg = clamp(iArg, 0, 1); } if(iVariables[VD_ONLYONOFF_ARG2]) { iArg2 = clamp(iArg2, 0, 1); } if(iVariables[VD_TEAM]) { if(szArg[0] == '@' && !szArg[4]) { new iPlayers[MAX_CLIENTS], szFlags[3], iNum; switch(szArg[1]) { case 'T','t': { szFlags = iVariables[VD_ONLYALIVE] ? "ae" : "e"; copy(szArg[1], charsmax(szArg), "TERRORIST"); } case 'C','c': { szFlags = iVariables[VD_ONLYALIVE] ? "ae" : "e"; } case 'A','a': { szFlags = iVariables[VD_ONLYALIVE] ? "a" : ""; } } get_players(iPlayers, iNum, szFlags, szArg[1]); if(!iNum) { console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_NO_PLAYERS"); return PLUGIN_HANDLED; } for(new i = 0, pId; i < iNum; i++) { pId = iPlayers[i]; if(iVariables[VD_IMMUNITY] && (get_user_flags(pId) & ADMIN_IMMUNITY && pPlayer != pId)) { continue; } @call_function_handler(iAction, pPlayer, pId, szArg, szArg2, iArg, iArg2, true, false); return PLUGIN_HANDLED; } } } if(iVariables[VD_PLAYER]) { new pId = cmd_target(pPlayer, szArg, bool:iVariables[VD_ONLYALIVE], bool:iVariables[VD_IMMUNITY]); if(!pId) { return PLUGIN_HANDLED; } if(iVariables[VD_IGNORESTEAM] && is_user_steam(pId)) { console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_NO_KICK_STEAM"); return PLUGIN_HANDLED; } @call_function_handler(iAction, pPlayer, pId, szArg, szArg2, iArg, iArg2, false, true); return PLUGIN_HANDLED; } @call_function_handler(iAction, pPlayer, 0, szArg, szArg2, iArg, iArg2, false, false); return PLUGIN_HANDLED; } @call_function_handler(const eActions:iAction, const pPlayer, const pId, const szArg[], const szArg2[], const iArg, const iArg2, const bool:blTeam, const bool:blNoArg2) { switch(iAction) { case ACTION_HEAL: { set_entvar(pId, var_health, Float:get_entvar(pId, var_health) + float(iArg2)); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_HEAL_TEAM_P", "REAMX_SUPER_HEAL_TEAM_C", "REAMX_SUPER_HEAL_PLAYER_P", "REAMX_SUPER_HEAL_PLAYER_C"); } case ACTION_ARMOR: { set_entvar(pId, var_armorvalue, Float:get_entvar(pId, var_armorvalue) + float(iArg2)); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_ARMOR_TEAM_P", "REAMX_SUPER_ARMOR_TEAM_C", "REAMX_SUPER_ARMOR_PLAYER_P", "REAMX_SUPER_ARMOR_PLAYER_C"); } case ACTION_WEAPON: { rg_give_weapon(pId, iArg2); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_WEAPON_TEAM_P", "REAMX_SUPER_WEAPON_TEAM_C", "REAMX_SUPER_WEAPON_PLAYER_P", "REAMX_SUPER_WEAPON_PLAYER_C"); } case ACTION_GODMODE: { set_entvar(pId, var_takedamage, iArg2 ? DAMAGE_NO : DAMAGE_AIM); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_GODMODE_TEAM_P", "REAMX_SUPER_GODMODE_TEAM_C", "REAMX_SUPER_GODMODE_PLAYER_P", "REAMX_SUPER_GODMODE_PLAYER_C"); } case ACTION_NOCLIP: { set_entvar(pId, var_movetype, iArg2 ? MOVETYPE_NOCLIP : MOVETYPE_WALK); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_NOCLIP_TEAM_P", "REAMX_SUPER_NOCLIP_TEAM_C", "REAMX_SUPER_NOCLIP_PLAYER_P", "REAMX_SUPER_NOCLIP_PLAYER_C"); } case ACTION_SPEED: { g_iVariables[Speed][pPlayer] = iArg2; if(!iArg2) { rg_reset_maxspeed(pPlayer); } else { new Float:flSpeed = 250.0 + (50.0 * float(iArg2)); set_entvar(pPlayer, var_maxspeed, flSpeed); } send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_SPEED_TEAM_P", "REAMX_SUPER_SPEED_TEAM_C", "REAMX_SUPER_SPEED_PLAYER_P", "REAMX_SUPER_SPEED_PLAYER_C"); } case ACTION_GIVEMONEY: { rg_add_account(pId, iArg2, AS_ADD); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_GIVEMONEY_TEAM_P", "REAMX_SUPER_GIVEMONEY_TEAM_C", "REAMX_SUPER_GIVEMONEY_PLAYER_P", "REAMX_SUPER_GIVEMONEY_PLAYER_C"); } case ACTION_TAKEMONEY: { rg_add_account(pId, -iArg2, AS_ADD); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_TAKEMONEY_TEAM_P", "REAMX_SUPER_TAKEMONEY_TEAM_C", "REAMX_SUPER_TAKEMONEY_PLAYER_P", "REAMX_SUPER_TAKEMONEY_PLAYER_C"); } case ACTION_UNAMMO: { g_blVariables[Unammo][pId] = bool:iArg2; send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_UNAMMO_TEAM_P", "REAMX_SUPER_UNAMMO_TEAM_C", "REAMX_SUPER_UNAMMO_PLAYER_P", "REAMX_SUPER_UNAMMO_PLAYER_C"); } case ACTION_ALLTALK: { set_pcvar_num(g_iVariables[sv_alltalk], iArg); send_print_onlypc(pPlayer, iArg, "REAMX_SUPER_ALLTALK_P", "REAMX_SUPER_ALLTALK_C"); } case ACTION_GRAVITY: { set_pcvar_num(g_iVariables[sv_gravity], iArg); send_print_onlypc(pPlayer, iArg, "REAMX_SUPER_GRAVITY_P", "REAMX_SUPER_GRAVITY_C"); } case ACTION_BURY: { rg_bury_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_BURY_TEAM_P", "REAMX_SUPER_BURY_TEAM_C", "REAMX_SUPER_BURY_PLAYER_P", "REAMX_SUPER_BURY_PLAYER_C"); } case ACTION_UNBURY: { rg_unbury_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_UNBURY_TEAM_P", "REAMX_SUPER_UNBURY_TEAM_C", "REAMX_SUPER_UNBURY_PLAYER_P", "REAMX_SUPER_UNBURY_PLAYER_C"); } case ACTION_DISARM: { rg_remove_all_items(pId); rg_give_item(pId, "weapon_knife"); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_DISARM_TEAM_P", "REAMX_SUPER_DISARM_TEAM_C", "REAMX_SUPER_DISARM_PLAYER_P", "REAMX_SUPER_DISARM_PLAYER_C"); } case ACTION_SLAY2: { slay_player(pId, iArg2); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_SLAY2_TEAM_P", "REAMX_SUPER_SLAY2_TEAM_C", "REAMX_SUPER_SLAY2_PLAYER_P", "REAMX_SUPER_SLAY2_PLAYER_C"); } case ACTION_ROCKET: { rg_rocket_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_ROCKET_TEAM_P", "REAMX_SUPER_ROCKET_TEAM_C", "REAMX_SUPER_ROCKET_PLAYER_P", "REAMX_SUPER_ROCKET_PLAYER_C"); } case ACTION_UBERSLAP: { set_task(0.1, "@uberslap_player", pId, .flags = "a", .repeat = 99); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_UBERSLAP_TEAM_P", "REAMX_SUPER_UBERSLAP_TEAM_C", "REAMX_SUPER_UBERSLAP_PLAYER_P", "REAMX_SUPER_UBERSLAP_PLAYER_C"); } case ACTION_REVIVE: { rg_give_default_items_func(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_REVIVE_TEAM_P", "REAMX_SUPER_REVIVE_TEAM_C", "REAMX_SUPER_REVIVE_PLAYER_P", "REAMX_SUPER_REVIVE_PLAYER_C"); } case ACTION_QUIT: { client_cmd(pId, "quit"); rg_send_audio(0, g_szSounds[thunder_clap]); send_print_onlynames(pPlayer, pId, szArg, blTeam, "", "", "REAMX_SUPER_QUIT_PLAYER_P", "REAMX_SUPER_QUIT_PLAYER_C"); } case ACTION_DRUG: { rg_drug_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_DRUG_TEAM_P", "REAMX_SUPER_DRUG_TEAM_C", "REAMX_SUPER_DRUG_PLAYER_P", "REAMX_SUPER_DRUG_PLAYER_C"); } case ACTION_FLASH: { flash_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_FLASH_TEAM_P", "REAMX_SUPER_FLASH_TEAM_C", "REAMX_SUPER_FLASH_PLAYER_P", "REAMX_SUPER_FLASH_PLAYER_C"); } case ACTION_FREEZE: { if(iArg2) { freeze_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_FREEZE_TEAM_P", "REAMX_SUPER_FREEZE_TEAM_C", "REAMX_SUPER_FREEZE_PLAYER_P", "REAMX_SUPER_FREEZE_PLAYER_C"); } else { unfreeze_player(pId); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_UNFREEZE_TEAM_P", "REAMX_SUPER_UNFREEZE_TEAM_C", "REAMX_SUPER_UNFREEZE_PLAYER_P", "REAMX_SUPER_UNFREEZE_PLAYER_C"); } } case ACTION_USERORIGIN: { get_entvar(pPlayer, var_origin, g_flSavedOrigin[pPlayer]); console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_USERORIGIN", pId, g_flSavedOrigin[pPlayer][0], g_flSavedOrigin[pPlayer][1], g_flSavedOrigin[pPlayer][2]); } case ACTION_TELEPORT: { if(read_argc() > 2) { new szY[8], szZ[8]; read_argv(3, szY, charsmax(szY)); read_argv(4, szZ, charsmax(szZ)); g_flSavedOrigin[pPlayer][0] = float(iArg2); g_flSavedOrigin[pPlayer][1] = str_to_float(szY); g_flSavedOrigin[pPlayer][2] = str_to_float(szZ); } set_entvar(pId, var_origin, g_flSavedOrigin[pPlayer]); send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_TELEPORT_TEAM_P", "REAMX_SUPER_TELEPORT_TEAM_C", "REAMX_SUPER_TELEPORT_PLAYER_P", "REAMX_SUPER_TELEPORT_PLAYER_C"); } case ACTION_PASS: { set_pcvar_string(g_iVariables[sv_password], szArg); send_print_onlypc(pPlayer, iArg2, "REAMX_SUPER_SET_PASSWORD_P", "REAMX_SUPER_SET_PASSWORD_C"); } case ACTION_NOPASS: { set_pcvar_string(g_iVariables[sv_password], ""); send_print_onlypc(pPlayer, iArg2, "REAMX_SUPER_REMOVE_PASSWORD_P", "REAMX_SUPER_REMOVE_PASSWORD_C"); } case ACTION_TEAM: { admin_transfer(pPlayer, pId, szArg2); } case ACTION_SWAP: { admin_swap(pPlayer, pId, szArg2); } case ACTION_EXTEND: { admin_extend(pPlayer, iArg); } case ACTION_GLOWCOLORS: { admin_glowcolors(pPlayer); } case ACTION_GLOW: { if(is_str_num(szArg2)) { new szArg3[32], szArg4[32], szArg5[32], Float:flColor[3], Float:flAmount; read_argv(3, szArg3, charsmax(szArg3)); read_argv(4, szArg4, charsmax(szArg4)); read_argv(5, szArg5, charsmax(szArg5)); flColor[0] = str_to_float(szArg2); flColor[1] = str_to_float(szArg3); flColor[2] = str_to_float(szArg4); flAmount = (szArg5[0] == EOS ? 255.0 : str_to_float(szArg5)); admin_glow(pPlayer, pId, blTeam, szArg, szArg2, true, flColor, flAmount); console_print(pPlayer, "YES [%f][%f][%f]", flColor[0], flColor[1], flColor[2]); } else { admin_glow(pPlayer, pId, blTeam, szArg, szArg2, false, {0.0,0.0,0.0}, 0.0); } } case ACTION_INVISIBLE: { set_entvar(pPlayer, var_effects, iArg2 ? get_entvar(pPlayer, var_effects) | EF_NODRAW : get_entvar(pPlayer, var_effects) & ~EF_NODRAW); send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_INVISIBLE_TEAM_P", "REAMX_SUPER_INVISIBLE_TEAM_C", "REAMX_SUPER_INVISIBLE_PLAYER_P", "REAMX_SUPER_INVISIBLE_PLAYER_C"); } case ACTION_FIRE: { admin_fire(pId, iArg2); send_print_fire(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_FIRE_TEAM_P", "REAMX_SUPER_FIRE_TEAM_C", "REAMX_SUPER_FIRE_PLAYER_P", "REAMX_SUPER_FIRE_PLAYER_C"); } case ACTION_MULTIJUMP: { g_blVariables[DoubleJump][pId] = bool:iArg2; send_print_arg(pPlayer, pId, szArg, iArg2, blTeam, "REAMX_SUPER_DOUBLEJUMP_TEAM_P", "REAMX_SUPER_DOUBLEJUMP_TEAM_C", "REAMX_SUPER_DOUBLEJUMP_PLAYER_P", "REAMX_SUPER_DOUBLEJUMP_PLAYER_C"); } case ACTION_TEAMSWAP: { rg_swap_all_players(); rg_respawn_all_players(); client_print_color(0, 0, "%L", LANG_PLAYER, "REAMX_SUPER_TEAMSWAP_P", pPlayer); console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_TEAMSWAP_C"); } case ACTION_HRESPAWN: { if(is_user_alive(pId)) { console_print(pPlayer, "%L", LANG_PLAYER, "REAMX_SUPER_HRESPAWN_NO_ALIVE"); return; } rg_give_default_items_func(pId); set_entvar(pId, var_origin, flHRespawn_Origin[pId]); send_print_onlynames(pPlayer, pId, szArg, blTeam, "", "", "REAMX_SUPER_HRESPAWN_PLAYER_P", "REAMX_SUPER_HRESPAWN_PLAYER_C"); } } } rg_give_weapon(const pPlayer, const iWeapon) { switch(iWeapon) { case 1: { rg_give_item(pPlayer, "weapon_knife"); } case 11: { rg_give_user_weapon(pPlayer, WEAPON_GLOCK18, "weapon_glock18"); } case 12: { rg_give_user_weapon(pPlayer, WEAPON_USP, "weapon_usp"); } case 13: { rg_give_user_weapon(pPlayer, WEAPON_P228, "weapon_p228"); } case 14: { rg_give_user_weapon(pPlayer, WEAPON_DEAGLE, "weapon_deagle"); } case 15: { rg_give_user_weapon(pPlayer, WEAPON_FIVESEVEN, "weapon_fiveseven"); } case 16: { rg_give_user_weapon(pPlayer, WEAPON_ELITE, "weapon_elite"); } case 17: { rg_give_user_weapon(pPlayer, WEAPON_GLOCK18, "weapon_glock18"); rg_give_user_weapon(pPlayer, WEAPON_USP, "weapon_usp"); rg_give_user_weapon(pPlayer, WEAPON_P228, "weapon_p228"); rg_give_user_weapon(pPlayer, WEAPON_DEAGLE, "weapon_deagle"); rg_give_user_weapon(pPlayer, WEAPON_FIVESEVEN, "weapon_fiveseven"); rg_give_user_weapon(pPlayer, WEAPON_ELITE, "weapon_elite"); } case 21: { rg_give_user_weapon(pPlayer, WEAPON_M3, "weapon_m3"); } case 22: { rg_give_user_weapon(pPlayer, WEAPON_XM1014, "weapon_xm1014"); } case 31: { rg_give_user_weapon(pPlayer, WEAPON_TMP, "weapon_tmp"); } case 32: { rg_give_user_weapon(pPlayer, WEAPON_MAC10, "weapon_mac10"); } case 33: { rg_give_user_weapon(pPlayer, WEAPON_MP5N, "weapon_mp5navy"); } case 34: { rg_give_user_weapon(pPlayer, WEAPON_P90, "weapon_p90"); } case 35: { rg_give_user_weapon(pPlayer, WEAPON_UMP45, "weapon_ump45"); } case 40: { rg_give_user_weapon(pPlayer, WEAPON_FAMAS, "weapon_famas"); } case 41: { rg_give_user_weapon(pPlayer, WEAPON_GALIL, "weapon_galil"); } case 42: { rg_give_user_weapon(pPlayer, WEAPON_AK47, "weapon_ak47"); } case 43: { rg_give_user_weapon(pPlayer, WEAPON_M4A1, "weapon_m4a1"); } case 44: { rg_give_user_weapon(pPlayer, WEAPON_SG552, "weapon_sg552"); } case 45: { rg_give_user_weapon(pPlayer, WEAPON_AUG, "weapon_aug"); } case 46: { rg_give_user_weapon(pPlayer, WEAPON_SCOUT, "weapon_scout"); } case 47: { rg_give_user_weapon(pPlayer, WEAPON_SG550, "weapon_sg550"); } case 48: { rg_give_user_weapon(pPlayer, WEAPON_AWP, "weapon_awp"); } case 49: { rg_give_user_weapon(pPlayer, WEAPON_G3SG1, "weapon_g3sg1"); } case 51: { rg_give_user_weapon(pPlayer, WEAPON_M249, "weapon_m249"); } case 60: { rg_give_shield(pPlayer); rg_give_item(pPlayer, "item_assaultsuit"); rg_give_user_weapon(pPlayer, WEAPON_GLOCK, "weapon_glock"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); } case 61: { rg_give_shield(pPlayer); rg_give_item(pPlayer, "item_assaultsuit"); rg_give_user_weapon(pPlayer, WEAPON_GLOCK, "weapon_usp"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); } case 62: { rg_give_shield(pPlayer); rg_give_item(pPlayer, "item_assaultsuit"); rg_give_user_weapon(pPlayer, WEAPON_DEAGLE, "weapon_deagle"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); } case 63: { rg_give_shield(pPlayer); rg_give_item(pPlayer, "item_assaultsuit"); rg_give_user_weapon(pPlayer, WEAPON_FIVESEVEN, "weapon_fiveseven"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); } case 81:{ rg_give_item(pPlayer, "item_kevlar"); } case 82:{ rg_give_item(pPlayer, "item_assaultsuit"); } case 83:{ rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); } case 84:{ rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); } case 85:{ rg_give_user_weapon(pPlayer, WEAPON_SMOKEGRENADE, "weapon_smokegrenade"); } case 86:{ rg_give_item(pPlayer, "item_thighpack"); } case 87:{ rg_give_shield(pPlayer); } case 88:{ for(new InventorySlotType:i = PRIMARY_WEAPON_SLOT, iWeapon; i < C4_SLOT; i++) { iWeapon = get_member(pPlayer, m_rgpPlayerItems, i); if(is_nullent(iWeapon)) { continue; } rg_set_user_bpammo(pPlayer, get_member(iWeapon, m_iId), rg_get_iteminfo(iWeapon, ItemInfo_iMaxAmmo1)); } } case 89:{ rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_SMOKEGRENADE, "weapon_smokegrenade"); } case 91:{ rg_give_item(pPlayer, "weapon_c4"); } case 100:{ rg_give_item(pPlayer, "item_assaultsuit"); rg_give_user_weapon(pPlayer, WEAPON_AWP, "weapon_awp"); rg_give_user_weapon(pPlayer, WEAPON_DEAGLE, "weapon_deagle"); rg_give_user_weapon(pPlayer, WEAPON_HEGRENADE, "weapon_hegrenade"); rg_give_user_weapon(pPlayer, WEAPON_FLASHBANG, "weapon_flashbang"); rg_give_user_weapon(pPlayer, WEAPON_SMOKEGRENADE, "weapon_smokegrenade"); } } } rg_give_user_weapon(const pPlayer, const WeaponIdType:iNum, const szWeaponName[]) { if(rg_has_item_by_name(pPlayer, szWeaponName)) { new iWeapon = rg_find_weapon_bpack_by_name(pPlayer, szWeaponName); rg_set_user_bpammo(pPlayer, iNum, rg_get_iteminfo(iWeapon, ItemInfo_iMaxAmmo1)); } else { rg_set_user_bpammo(pPlayer, iNum, rg_get_iteminfo(rg_give_item(pPlayer, szWeaponName), ItemInfo_iMaxAmmo1)); } } rg_bury_player(const pPlayer) { new Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); flOrigin[2] -= 35.0; set_entvar(pPlayer, var_origin, flOrigin); } rg_unbury_player(const pPlayer) { new Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); flOrigin[2] += 35.0; set_entvar(pPlayer, var_origin, flOrigin); } rg_rocket_player(const pPlayer) { rh_emit_sound2(pPlayer, 0, CHAN_WEAPON, g_szSounds[rocketfire1]); set_entvar(pPlayer, var_maxspeed, 0.01); set_task(1.2, "@rocket_liftoff", pPlayer); } slay_player(const pPlayer, const iType) { new Float:flOrigin[3], Float:flOrigin2[3]; get_entvar(pPlayer, var_origin, flOrigin); flOrigin[2] -= 26.0; flOrigin2[0] = flOrigin[0] + 15.0; flOrigin2[1] = flOrigin[1] + 150.0; flOrigin2[2] = flOrigin[2] + 400.0; switch(iType) { case 1: { lightning(flOrigin2, flOrigin); rh_emit_sound2(pPlayer, 0, CHAN_ITEM, g_szSounds[thunder_clap]); } case 2:{ blood(flOrigin); rh_emit_sound2(pPlayer, 0, CHAN_ITEM, g_szSounds[headshot2]); } case 3: { explode(flOrigin); } } user_kill(pPlayer, 1); } lightning(const Float:iVec[3], const Float:iVec2[3]) { message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY); { write_byte(0); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2]); write_coord_f(iVec2[0]); write_coord_f(iVec2[1]); write_coord_f(iVec2[2]); write_short(g_iVariables[lgtning]); write_byte(1); write_byte(5); write_byte(2); write_byte(20); write_byte(30); write_byte(200); write_byte(200); write_byte(200); write_byte(200); write_byte(200); } message_end(); message_begin_f(MSG_PVS, SVC_TEMPENTITY, iVec2); { write_byte(9); write_coord_f(iVec2[0]); write_coord_f(iVec2[1]); write_coord_f(iVec2[2]); } message_end(); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY, iVec2); { write_byte(5); write_coord_f(iVec2[0]); write_coord_f(iVec2[1]); write_coord_f(iVec2[2]); write_short(g_iVariables[steam1]); write_byte(10); write_byte(10); } message_end(); } blood(const Float:iVec[3]) { message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(10); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2]); message_end(); } explode(const Float:iVec[3]) { message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY, iVec); { write_byte(21); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2] + 16); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2] + 1936); write_short(g_iVariables[white]); write_byte(0); write_byte(0); write_byte(2); write_byte(16); write_byte(0); write_byte(188); write_byte(220); write_byte(255); write_byte(255); write_byte(0); } message_end(); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY); { write_byte(12); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2]); write_byte(188); write_byte(10); } message_end(); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY, iVec); { write_byte(5); write_coord_f(iVec[0]); write_coord_f(iVec[1]); write_coord_f(iVec[2]); write_short(g_iVariables[steam1]); write_byte(2); write_byte(10); } message_end(); } @rocket_liftoff(const pPlayer) { set_entvar(pPlayer, var_gravity, -0.50); client_cmd(pPlayer, "+jump;wait;wait;-jump"); rh_emit_sound2(pPlayer, 0, CHAN_VOICE, g_szSounds[rocket1]); @rocket_effects(pPlayer); } @rocket_effects(const pPlayer) { if(!is_user_alive(pPlayer)) { remove_task(pPlayer); return; } static Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); message_begin_f(MSG_ONE, g_iVariables[Damage], .player = pPlayer); { write_byte(30); write_byte(30); write_long(1<<16); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); } message_end(); static Float:flPlayerOrigin[MAX_CLIENTS + 1]; if(flPlayerOrigin[pPlayer] == flOrigin[2]) { rocket_explode(pPlayer); } flPlayerOrigin[pPlayer] = flOrigin[2]; message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY); { write_byte(15); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2] - 30); write_short(g_iVariables[blueflare2]); write_byte(5); write_byte(1); write_byte(1); write_byte(10); write_byte(5); } message_end(); message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY); { write_byte(17); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2] - 30); write_short(g_iVariables[muzzleflash]); write_byte(15); write_byte(255); } message_end(); set_task(0.2, "@rocket_effects", pPlayer); } rocket_explode(const pPlayer) { static Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY, flOrigin); { write_byte(21); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2] - 10); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2] + 1910); write_short(g_iVariables[white]); write_byte(0); write_byte(0); write_byte(2); write_byte(16); write_byte(0); write_byte(188); write_byte(220); write_byte(255); write_byte(255); write_byte(0); } message_end(); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY); { write_byte(12); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); write_byte(188); write_byte(10); } message_end(); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY, flOrigin); { write_byte(5); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); write_short(g_iVariables[steam1]); write_byte(2); write_byte(10); } message_end(); user_kill(pPlayer, 1); rh_emit_sound2(pPlayer, 0, CHAN_VOICE, g_szSounds[rocket1], 0.0, 0.0, (1<<5)); set_entvar(pPlayer, var_maxspeed, 1.0); set_entvar(pPlayer, var_gravity, 1.00); } @uberslap_player(const pPlayer) { user_slap(pPlayer, (get_entvar(pPlayer, var_health) > 1.0) ? 1 : 0); } rg_give_default_items_func(const pPlayer) { rg_round_respawn(pPlayer); if(g_blVariables[revdefaultweapon]) { rg_give_default_items(pPlayer); } } rg_drug_player(const pPlayer) { message_begin(MSG_ONE, g_iVariables[SetFOV], .player = pPlayer); write_byte(180); message_end(); } flash_player(const pPlayer) { message_begin(MSG_ONE, g_iVariables[ScreenFade], .player = pPlayer); { write_short(1<<15); write_short(1<<10); write_short(1<<12); write_byte(255); write_byte(255); write_byte(255); write_byte(255); } message_end(); if(g_blVariables[flashsound]) { rh_emit_sound2(pPlayer, 0, CHAN_BODY, g_szSounds[flashbang2], 1.0, ATTN_NORM, 0, PITCH_HIGH); } } freeze_player(const pPlayer) { new iFlags = get_entvar(pPlayer, var_flags); if(~iFlags & FL_FROZEN) { set_entvar(pPlayer, var_flags, iFlags | FL_FROZEN); new iEnt = g_iVariables[PlayerIceCube][pPlayer]; if(is_nullent(iEnt)) { iEnt = g_iVariables[PlayerIceCube][pPlayer] = rg_create_entity("info_target"); set_entvar(iEnt, var_body, 1); set_entvar(iEnt, var_owner, pPlayer); set_entvar(iEnt, var_solid, SOLID_BBOX); set_entvar(iEnt, var_modelindex, g_iVariables[modelindex]); rg_set_user_rendering(iEnt, kRenderFxNone, {255.0, 255.0, 255.0}, kRenderTransAdd, 60.0); } else { set_entvar(iEnt, var_effects, get_entvar(iEnt, var_effects) & ~EF_NODRAW); } new Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); flOrigin[2] -= 25.0; set_entvar(iEnt, var_origin, flOrigin); } } unfreeze_player(const pPlayer) { new iFlags = get_entvar(pPlayer, var_flags); if(iFlags & FL_FROZEN) { set_entvar(pPlayer, var_flags, iFlags & ~FL_FROZEN); set_entvar(g_iVariables[PlayerIceCube][pPlayer], var_effects, EF_NODRAW); } } admin_transfer(const pPlayer, const pId, const szArg[]) { new szTeamName[32]; switch(szArg[0]) { case 'T','t': { rg_set_user_team(pId, TEAM_TERRORIST); szTeamName = "Terrorists"; rg_give_default_items_func(pId); } case 'C','c': { rg_set_user_team(pId, TEAM_CT); szTeamName = "Counter-Terrorists"; rg_give_default_items_func(pId); } case 'S','s': { user_silentkill(pId); rg_set_user_team(pId, TEAM_SPECTATOR); szTeamName = "Spectator"; } default: { console_print(pPlayer, "[AMX_TEAM] %L", pPlayer, "REAMX_SUPER_TEAM_INVALID"); return; } } client_print_color(0, 0, "%L", LANG_PLAYER, "REAMX_SUPER_TEAM_P", pPlayer, pId, szTeamName); console_print(pPlayer, "[AMX_TEAM] %L", pPlayer, "REAMX_SUPER_TEAM_C", pId, szTeamName); } admin_swap(const pPlayer, const pId, const arg[]) { new pId2 = cmd_target(pPlayer, arg, false, false); if(!pId2) { return; } new TeamName:iTeam1 = get_member(pId, m_iTeam); new TeamName:iTeam2 = get_member(pId2, m_iTeam); if(iTeam1 == iTeam2) { console_print(pPlayer, "[AMX_SWAP] %L", pPlayer, "REAMX_SUPER_SWAP_ERROR1"); return; } if(iTeam1 == TEAM_UNASSIGNED || iTeam2 == TEAM_UNASSIGNED) { console_print(pPlayer, "[AMX_SWAP] %L", pPlayer, "REAMX_SUPER_SWAP_ERROR2"); return; } if(iTeam1 == TEAM_SPECTATOR) { user_silentkill(pId2); } else if(iTeam2 == TEAM_SPECTATOR) { user_silentkill(pId); } rg_set_user_team(pId, iTeam2); rg_set_user_team(pId2, iTeam1); if(iTeam2 != TEAM_SPECTATOR) { rg_give_default_items_func(pId); } if(iTeam1 != TEAM_SPECTATOR) { rg_give_default_items_func(pId2); } client_print_color(0, 0, "%L", LANG_PLAYER, "REAMX_SUPER_SWAP_P", pPlayer, pId, pId2); console_print(pPlayer, "[AMX_SWAP] %L", pPlayer, "REAMX_SUPER_SWAP_C", pId, pId2); } admin_extend(const pPlayer, const iLimit) { if(iLimit <= 0) { console_print(pPlayer, "[AMX_EXTEND] %L", pPlayer, "REAMX_SUPER_AMOUNT_GREATER"); return; } static iExtended = 0; if(iExtended >= g_blVariables[extendmax]) { console_print(pPlayer, "[AMX_EXTEND] %L", pPlayer, "REAMX_SUPER_EXTEND_ERROR1", iExtended); return; } if(iLimit > g_blVariables[extendtime]) { console_print(pPlayer, "[AMX_EXTEND] %L", pPlayer, "REAMX_SUPER_EXTEND_ERROR2", g_blVariables[extendtime]); return; } set_pcvar_float(g_iVariables[mp_timelimit], get_pcvar_float(g_iVariables[mp_timelimit]) + iLimit); ++iExtended; client_print_color(0, 0, "%L", LANG_PLAYER, "REAMX_SUPER_EXTEND_P", pPlayer, iLimit); console_print(pPlayer, "[AMX_EXTEND] %L", pPlayer, "REAMX_SUPER_EXTEND_C", iLimit); } admin_glowcolors(const pPlayer) { console_print(pPlayer, "Colors:"); for(new i=0; i < MAX_COLORS; i++) { console_print(pPlayer, "%i %s", i + 1, g_szColors[i]); } console_print(pPlayer, "[AMX_GLOW] Example: amx_glow ^"PurposeLess^" ^"red^""); } admin_glow(const pPlayer, const pId, const bool:blTeam, const szArg[], const szArg2[], const bool:blCustom, {Float,_}:flColor[3], Float:flAmount) { new bool:blOff; if(!blCustom) { new bool:blValid = false; for(new i = 0; i < MAX_COLORS; i++) { if(equali(szArg2, g_szColors[i])) { if(equali(szArg2, "off")) { blOff = true; } flColor[0] = g_flColors[i][0]; flColor[1] = g_flColors[i][1]; flColor[2] = g_flColors[i][2]; flAmount = 255.0; blValid = true; break; } } if(!blValid) { console_print(pPlayer, "[AMX_GLOW] %L", pPlayer, "REAMX_SUPER_GLOW_INVALID"); return; } } else { flColor[0] = floatclamp(flColor[0], 0.0, 255.0); flColor[1] = floatclamp(flColor[1], 0.0, 255.0); flColor[2] = floatclamp(flColor[2], 0.0, 255.0); flAmount = floatclamp(flAmount, 0.0, 255.0); if(flColor[0] == 0.0 && flColor[1] == 0.0 && flColor[2] == 0.0 && flAmount == 255.0) { blOff = true; } } rg_set_user_rendering(pId, kRenderFxGlowShell, flColor, kRenderTransAlpha, flAmount); if(!blOff) { send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_GLOW_TEAM_P", "REAMX_SUPER_GLOW_TEAM_C", "REAMX_SUPER_GLOW_PLAYER_P", "REAMX_SUPER_GLOW_PLAYER_C"); } else { send_print_onlynames(pPlayer, pId, szArg, blTeam, "REAMX_SUPER_UNGLOW_TEAM_P", "REAMX_SUPER_UNGLOW_TEAM_C", "REAMX_SUPER_UNGLOW_PLAYER_P", "REAMX_SUPER_UNGLOW_PLAYER_C"); } } rg_set_user_rendering(const pPlayer, const iFx, const {Float,_}:flColor[3], const iRender, const Float:flAmount) { set_entvar(pPlayer, var_renderfx, iFx); set_entvar(pPlayer, var_rendercolor, flColor); set_entvar(pPlayer, var_rendermode, iRender); set_entvar(pPlayer, var_renderamt, flAmount); } @event_curweapon(const pPlayer) { if(!g_blVariables[Unammo][pPlayer]) { return; } new iWeapon = read_data(2); set_member(get_member(pPlayer, m_pActiveItem), m_Weapon_iClip, rg_get_weapon_info(iWeapon, WI_GUN_CLIP_SIZE) + 1); } @CBasePlayer_ResetMaxSpeed_Pre(const pPlayer) { if(g_iVariables[Speed][pPlayer] > 0) { new Float:flSpeed = 250.0 + (50.0 * g_iVariables[Speed][pPlayer]); set_entvar(pPlayer, var_maxspeed, flSpeed); return HC_SUPERCEDE; } return HC_CONTINUE; } @CBasePlayer_Spawn_Post(const pPlayer) { if(get_member(pPlayer, m_bJustConnected)) { return; } g_iVariables[PlayerJump][pPlayer] = 0; g_blVariables[Fire][pPlayer] = false; g_blVariables[DoubleJump][pPlayer] = false; g_blVariables[PlayerCatch][pPlayer] = false; g_iVariables[Speed][pPlayer] = 0; remove_task(pPlayer); remove_task(pPlayer + TASKID_FIRE1); remove_task(pPlayer + TASKID_FIRE2); get_entvar(pPlayer, var_origin, flHRespawn_Origin[pPlayer]); set_entvar(g_iVariables[PlayerIceCube][pPlayer], var_effects, EF_NODRAW); } @CBasePlayer_Killed_Post(const pVictim, pAttacker, iGib) { g_iVariables[PlayerJump][pVictim] = 0; g_blVariables[Fire][pVictim] = false; g_blVariables[DoubleJump][pVictim] = false; g_blVariables[PlayerCatch][pVictim] = false; g_iVariables[Speed][pVictim] = 0; remove_task(pVictim); remove_task(pVictim + TASKID_FIRE1); remove_task(pVictim + TASKID_FIRE2); unfreeze_player(pVictim); get_entvar(pVictim, var_origin, flHRespawn_Origin[pVictim]); } @CBasePlayer_TakeDamage_Post(const pVictim, pInflictor, pAttacker, Float:flDamage, bitsDamageType) { if(g_blVariables[bulletdamage]) { if(!is_user_connected(pAttacker) || pVictim == pAttacker || !rg_is_player_can_takedamage(pVictim, pAttacker)) { return; } set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, g_iVariables[Hudsync], "%0.f^n", flDamage); } } send_print_arg(const pPlayer, const pId, const szArg[], const iNum, const bool:blTeam, const TEAM_P[], const TEAM_C[], const PLAYER_P[], const PLAYER_C[]) { if(blTeam) { client_print_color(0, 0, "%L", LANG_PLAYER, TEAM_P, pPlayer, iNum, get_teamname(szArg)); console_print(pPlayer, "%L", LANG_PLAYER, TEAM_C, iNum, get_teamname(szArg)); } else { client_print_color(0, 0, "%L", LANG_PLAYER, PLAYER_P, pPlayer, iNum, pId); console_print(pPlayer, "%L", LANG_PLAYER, PLAYER_C, iNum, pId); } } send_print_onlypc(const pPlayer, const iNum, const P[], const C[]) { client_print_color(0, 0, "%L", LANG_PLAYER, P, pPlayer, iNum); console_print(pPlayer, "%L", LANG_PLAYER, C, iNum); } send_print_onlynames(const pPlayer, const pId, const szArg[], const bool:blTeam, const TEAM_P[], const TEAM_C[], const PLAYER_P[], const PLAYER_C[]) { if(blTeam) { client_print_color(0, 0, "%L", LANG_PLAYER, TEAM_P, pPlayer, get_teamname(szArg)); console_print(pPlayer, "%L", LANG_PLAYER, TEAM_C, get_teamname(szArg)); } else { client_print_color(0, 0, "%L", LANG_PLAYER, PLAYER_P, pPlayer, pId); console_print(pPlayer, "%L", LANG_PLAYER, PLAYER_C, pId); } } send_print_fire(const pPlayer, const pId, const szArg[], const iArg2, const bool:blTeam, const TEAM_P[], const TEAM_C[], const PLAYER_P[], const PLAYER_C[]) { new szFire[20]; formatex(szFire, charsmax(szFire), "%L", LANG_PLAYER, iArg2 ? "REAMX_SUPER_FIRE" : "REAMX_SUPER_UNFIRE"); if(blTeam) { client_print_color(0, 0, "%L", LANG_PLAYER, TEAM_P, pPlayer, szFire, get_teamname(szArg)); console_print(pPlayer, "%L", LANG_PLAYER, TEAM_C, szFire, get_teamname(szArg)); } else { client_print_color(0, 0, "%L", LANG_PLAYER, PLAYER_P, pPlayer, szFire, pId); console_print(pPlayer, "%L", LANG_PLAYER, PLAYER_C, szFire, pId); } } get_teamname(const szArg[]) { new szTeamName[18]; switch(szArg[1]) { case 't','T': { szTeamName = "Terrorist"; } case 'c','C': { szTeamName = "Counter-Terrorist"; } default: { szTeamName = "all"; } } return szTeamName; } cmd_target(const pPlayer, const szArg[], const bool:blOnlyAlive, const bool:blImmunity) { new pId = find_player("bl", szArg); if(pId) { if(pId != find_player("blj", szArg)) { console_print(pPlayer, "%L", LANG_PLAYER, "MORE_CL_MATCHT"); return 0; } } else if((pId = find_player("c", szArg)) == 0 && szArg[0] == '#' && szArg[1]) { pId = find_player("k", str_to_num(szArg[1])); } if(!pId) { console_print(pPlayer, "%L", LANG_PLAYER, "CL_NOT_FOUND"); return 0; } if(blOnlyAlive && !is_user_alive(pPlayer)) { new szName[MAX_NAME_LENGTH]; get_user_name(pId, szName, charsmax(szName)); console_print(pPlayer, "%L", LANG_PLAYER, "CANT_PERF_DEAD", szName); return 0; } if(blImmunity && (get_user_flags(pId) & ADMIN_IMMUNITY && pPlayer != pId)) { new szName[MAX_NAME_LENGTH]; get_user_name(pId, szName, charsmax(szName)); console_print(pPlayer, "%L", LANG_PLAYER, "CLIENT_IMM", szName); return 0; } return pId; } @clcmd_admin(const pPlayer) { new szAdminNames[MAX_CLIENTS + 1][MAX_NAME_LENGTH]; new szMessage[MAX_DIRECTOR_CMD_STRING]; new iCount, iLen; for(new id = 1; id <= MaxClients; id++) { if(is_user_connected(id) && get_user_flags(id) & ADMIN_KICK) { get_user_name(id, szAdminNames[iCount++], charsmax(szAdminNames[])); } } iLen = formatex(szMessage, charsmax(szMessage), "^4ADMINS ONLINE^1: "); if(iCount > 0) { for(new x = 0 ; x < iCount ; x++) { iLen += formatex(szMessage[iLen], charsmax(szMessage) - iLen, "^3%s%s ", szAdminNames[x], x < (iCount-1) ? "^4, " : ""); if(iLen > 96) { client_print_color(pPlayer, pPlayer, szMessage); iLen = formatex(szMessage, charsmax(szMessage), "^4 "); } } client_print_color(pPlayer, pPlayer, szMessage); } else { iLen += formatex(szMessage[iLen], charsmax(szMessage)-iLen, "^3No admins online."); client_print_color(pPlayer, pPlayer, szMessage); } return PLUGIN_HANDLED; } admin_fire(const pPlayer, const iNum) { if(iNum) { g_iVariables[PlayerCatch][pPlayer] = 0; g_blVariables[Fire][pPlayer] = true; set_task(0.2, "@ignite_effects", pPlayer + TASKID_FIRE1, .flags = "b"); set_task(1.0, "@ignite_player", pPlayer + TASKID_FIRE2, .flags = "b"); rh_emit_sound2(pPlayer, 0, CHAN_WEAPON, g_szSounds[scream07], 1.0, ATTN_NORM, 0, PITCH_HIGH); } else { g_blVariables[Fire][pPlayer] = false; remove_task(pPlayer + TASKID_FIRE1); remove_task(pPlayer + TASKID_FIRE2); } } @ignite_effects(TaskId) { static pPlayer; pPlayer = TaskId - TASKID_FIRE1; static Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); message_begin_f(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(17); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); write_short(g_iVariables[muzzleflash]); write_byte(20); write_byte(200); message_end(); message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY, flOrigin); write_byte(5); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); write_short(g_iVariables[steam1]); write_byte(20); write_byte(15); message_end(); } @ignite_player(TaskId) { new pPlayer = TaskId - TASKID_FIRE2; new Float:flOrigin[3]; get_entvar(pPlayer, var_origin, flOrigin); if(get_entvar(pPlayer, var_health) - 10.0 <= 0.0) { admin_fire(pPlayer, 0); rg_user_silentkill(pPlayer, g_iVariables[PlayerCatch][pPlayer]); return; } set_entvar(pPlayer, var_health, Float:get_entvar(pPlayer, var_health) - 10.0); message_begin_f(MSG_ONE, g_iVariables[Damage], .player = pPlayer); write_byte(30); write_byte(30); write_long(1<<21); write_coord_f(flOrigin[0]); write_coord_f(flOrigin[1]); write_coord_f(flOrigin[2]); message_end(); rh_emit_sound2(pPlayer, 0, CHAN_ITEM, g_szSounds[flameburst], 0.6, ATTN_NORM, 0, PITCH_LOW); if(g_blVariables[allowcatchfire]) { for(new pId = 1, Float:flOrigin2[3]; pId <= MaxClients; pId++) { if(!is_user_alive(pId) || g_blVariables[Fire][pId] || pPlayer == pId) { continue; } get_entvar(pId, var_origin, flOrigin2); if(get_distance_f(flOrigin, flOrigin2) < 100.0) { rh_emit_sound2(pId, 0, CHAN_WEAPON, g_szSounds[scream07], 1.0, ATTN_NORM, 0, PITCH_HIGH); client_print_color(0, 0, "%L", LANG_PLAYER, "REAMX_SUPER_CATCH_FIRE", pPlayer, pId); admin_fire(pId, 1); g_iVariables[PlayerCatch][pId] = pPlayer; } } } } rg_user_silentkill(const pVictim, const pAttacker) { if(!is_user_connected(pAttacker)) { user_kill(pVictim); return; } user_silentkill(pVictim); message_begin(MSG_BROADCAST, g_iVariables[DeathMsg], .player = pVictim); write_byte(pAttacker); write_byte(pVictim); write_byte(0); message_end(); new Float:flFrags = get_entvar(pAttacker, var_frags); set_entvar(pAttacker, var_frags, flFrags + 1.0); message_begin(MSG_BROADCAST, g_iVariables[ScoreInfo]); write_byte(pAttacker); write_short(floatround(flFrags)); write_short(get_member(pAttacker, m_iDeaths)); write_short(0); write_short(get_member(pAttacker, m_iTeam)); message_end(); } @CBasePlayer_Jump_Pre(const pPlayer) { if(!g_blVariables[DoubleJump][pPlayer]) { return HC_CONTINUE; } new iFlags = get_entvar(pPlayer, var_flags); if(g_blVariables[auto_double_jump]) { if((!(get_entvar(pPlayer, var_oldbuttons) & IN_JUMP)) && iFlags & FL_ONGROUND) { new Float:flVelocity[3]; get_entvar(pPlayer, var_velocity, flVelocity); flVelocity[2] = g_iVariables[auto_double_jump_velocity]; set_entvar(pPlayer, var_velocity, flVelocity); } } static Float:flJumpTime[MAX_CLIENTS + 1]; if(g_iVariables[PlayerJump][pPlayer] && (iFlags & FL_ONGROUND)) { g_iVariables[PlayerJump][pPlayer] = 0; flJumpTime[pPlayer] = get_gametime(); return HC_CONTINUE; } static Float:flGameTime; if((get_entvar(pPlayer, var_oldbuttons) & IN_JUMP || iFlags & FL_ONGROUND) || ((flGameTime = get_gametime()) - flJumpTime[pPlayer]) < 0.2) { return HC_CONTINUE; } if(g_iVariables[PlayerJump][pPlayer] >= g_iVariables[additional_jumps]) { return HC_CONTINUE; } flJumpTime[pPlayer] = flGameTime; new Float:flVelocity[3]; get_entvar(pPlayer, var_velocity, flVelocity); flVelocity[2] = random_float(265.0, 285.0); set_entvar(pPlayer, var_velocity, flVelocity); g_iVariables[PlayerJump][pPlayer]++; if(g_blVariables[dj_trail]) { func_TrailMessage(pPlayer); g_iVariables[flTrailTime][pPlayer] = get_gametime(); } return HC_CONTINUE; } func_TrailMessage(const pPlayer) { if(g_blVariables[Trail][pPlayer]) { return PLUGIN_CONTINUE; } static iColor[3]; enum { RED = 0, GREEN, BLUE }; if(!g_blVariables[dj_trail_effect]) { iColor[RED] = random_num(0, 255); iColor[GREEN] = random_num(0, 255); iColor[BLUE] = random_num(0, 255); } else { static TeamName:team; team = get_member(pPlayer, m_iTeam); switch(team) { case TEAM_TERRORIST: iColor = { 255, 0, 0 }; case TEAM_CT: iColor = { 0, 0, 255 }; } } g_blVariables[Trail][pPlayer] = true; message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BEAMFOLLOW); write_short(pPlayer); write_short(g_iVariables[zbeam5]); write_byte(g_iVariables[dj_trail_life] * 10); write_byte(g_iVariables[dj_trail_size]); write_byte(iColor[RED]); write_byte(iColor[GREEN]); write_byte(iColor[BLUE]); write_byte(g_iVariables[dj_trail_brightness]); message_end(); g_iVariables[flTrailTime][pPlayer] = get_gametime(); set_task(1.0, "@task_RemoveTrail", pPlayer + TASKID_TRAIL, .flags = "a", .repeat = 1); return PLUGIN_CONTINUE; } @task_RemoveTrail(TaskId) { new pPlayer = TaskId - TASKID_TRAIL; if(!g_blVariables[DoubleJump][pPlayer]) { remove_task(pPlayer + TASKID_TRAIL); return; } new Float:flGameTime = get_gametime(); if(flGameTime - g_iVariables[flTrailTime][pPlayer] < 1.35) { remove_task(pPlayer + TASKID_TRAIL); set_task(1.0, "@task_RemoveTrail", pPlayer + TASKID_TRAIL, .flags = "a", .repeat = 1); } else { g_blVariables[Trail][pPlayer] = false; message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_KILLBEAM); write_short(pPlayer); message_end(); } } rg_respawn_all_players() { if(g_blVariables[reviveafterteamswap]) { for(new pPlayer = 1; pPlayer <= MaxClients; pPlayer++) { if(is_user_connected(pPlayer) && (TEAM_UNASSIGNED < get_member(pPlayer, m_iTeam) < TEAM_SPECTATOR)) { rg_round_respawn(pPlayer); if(g_blVariables[revdefaultweapon]) { rg_remove_item(pPlayer, "weapon_glock18"); rg_remove_item(pPlayer, "weapon_usp"); rg_give_default_items(pPlayer); } } } } } Przeczytaj cały wpis
  1. Pokaż więcej elementów aktywności
×
×
  • Dodaj nową pozycję...