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

MYGO.pl

RSSy
  • Postów

    28215
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Treść opublikowana przez MYGO.pl

  1. Description: HL HNS is a game mode that there are 2 teams: Gordons and Scientists. Gordons will chase after Scientists and club them to death, and Scientists are supposed to run away from Gordons, until time is over or Gordons are all fall to death. Custom maps are needed to play this mode. Gameplay: Before rounds begins, Gordons are frozen, there's 10 seconds for Scientists to run and hide. When round begins, Gordons are unfrozen and given a crowbar, and a the timer starts counting. Gordons chase, Scientists run. If all Scientists are dead, Gordons win. If all Gordons are dead, or time is over, Scientists win. Some functions can be enabled/disabled by server cvars. Commands: ========Server Cvars======== ------Time Related------ hns_roundtime - Default by 180. Round time. hns_countdown - Default by 10. Freezing time of Gordons. hns_firstround_time - Default by 15. The waiting time before the first round. hns_shoutdelay - Default by 3. The cool down time of player is allowed to make sound. ------Score Related------ hns_hitsciscore - Default by 1. The score gordon will get when he clubs a scientist. hns_scisuicidescoretogordons - Default by 2. When a scientist suisides, the score that all gordons get. hns_killsciscore - Default by 5. The score gordon will get when he clubs a scientist to death. hns_gordonsuicidescoretoscis - Default by 4. When a Gordon suisides, the score that all scientists get. hns_sciteamwinscore - Default by 10. If scientists win, the score that all living scientists get. hns_gorteamwinscore - Default by 5. If Gordons win, the score that all living Gordons get. ------Rule Related------ hns_scigivesnark - Default by 1. If 1, scientists will have 5 snarks, 0 have not. hns_gordondivide - Default by 2. The amount of Gordons is the amount of players in server divide this value. hns_roundbgm - Default by 1. Whether play mp3 when round starts. hns_respawnbeforestart - Default by 1. If allow players respawn before round starts. hns_showshoutcommand - Default by 1. If shows some command help in chat. hns_scifallsound - Default by 1. If scientist will make sound when taking fall damage. ------Value Related------ hns_scihealth - Default by 100. Scientists' health. hns_sciarmor - Default by 0. Scientists' armor. hns_gorhealth - Default by 100. Gordons' health. hns_gorarmor - Default by 0. Gordons' armor. hns_gorhitgainhealth - Default by 0. The health gordon will get when he clubs a scientist. hns_gorkillgainhealth - Default by 0. The health gordon will get when he clubs a scientist to death. hns_crowbardmg - Default by 25.0. The damage value of Gordon's crowbar. ------Debug Related------ hns_debuginfo - Default by 0. If 1, some round info will be displayed in every player's console hns_debugstart - Default by 0. If allows round to be started even if there's 1 player only. ========Client Commands======== hns_restart - Restart round immediately. Admin needed. hns_respawn - Respawn immediately. Admin needed. hns_roundinfo hns_userinfo hns_arrays hns_weapons hns_scream - Scientist make a sound of screaming, Gordon make a sound of HEV. hns_taunt - Make a sound of taunting. Requirements: https://www.amxmodx.org/downloads-new.php Last AMXX 1.9 or newer. https://forums.alliedmods.net/showthread.php?p=2705090 HL Restore Map API (Warning: not included. Install it before use). HL Stocks (already included). Installation: amxmodx and metamod are needed to be installed in "Half-Life\valve\addons". Download the file "HalfLife_HNSplugin_pure_*.zip" and extract the content in valve's folder (e.g "C:\Half-Life\valve"). If needed, you can edit and compile the file "Half-Life\valve\addons\amxmodx\scripting\hns_fromd r_v*.sma".and save the .amxx file in your plugin's folder. Don't forget to enable the .amxx file in "Half-Life\valve\addons\amxmodx\configs\plugins.ini ". In valve's folder, open the file "server.cfg" and edit some server cvars of this plugin, and save. Statement: This "Hide and seek" plugin, is based on Half-Life: DEATHRUN 1.3, and modified from it. Half-Life: DEATHRUN 1.3: https://forums.alliedmods.net/showthread.php?t-316154 The author of original Deathrun plugin: rtxa Preview: https://www.youtube.com/watch?v=JzRWYnJf_gg Attached Files HalfLife_HNSplugin_pure_20231230.zip (118.9 KB) Przeczytaj cały wpis
  2. [CS:S] Cashbonus Edit - Edit some game cashbonus rewards. Windows/Linux Counter-Strike: Source game have these bonus reward money settings, what you can change. And that is it. Code: "mp_startmoney" = "800" min. 800.000000 max. 16000.000000 - amount of money each player gets when they resetWith this function tool code, you can go deeper, edit some more in game bonus rewards. Here is preview from example plugin. PHP Code: // PLAYER KILLED "CASHBONUSEDIT_TEAMKILL" "-3300" "CASHBONUSEDIT_VIPKILL" "2500" "CASHBONUSEDIT_ENEMYKILL" "300" //hostage ontakedamage alive "CASHBONUSEDIT_HOSTAGEHURT" "-20" // multiplier dmg x N //event hostage_killed "CASHBONUSEDIT_HOSTAGEKILLED" "-20" // multiplier dmg x N //HostageRescueZoneTouch "CASHBONUSEDIT_RESCUERCASHBONUS" "1000" // BOMB ROUND END CHECK "CASHBONUSEDIT_TARGETBOMBED" "3500" "CASHBONUSEDIT_BOMBDEFUSED" "3250" "CASHBONUSEDIT_BOMBDEFUSEDPLANTINGBONUS" "800" // TEAM EXTERMINATION "CASHBONUSEDIT_CTWINBOMBMAP" "3250" "CASHBONUSEDIT_CTWIN" "3000" "CASHBONUSEDIT_TWINBOMBMAP" "3250" "CASHBONUSEDIT_TWIN" "3000" // VIP ROUNDEND CHECK "CASHBONUSEDIT_VIPESCAPED" "3500" "CASHBONUSEDIT_VIPKILLED" "3250" // CHECK ROUNDTIME EXPIRED "CASHBONUSEDIT_TARGETSAVED" "3250" "CASHBONUSEDIT_HOSTAGESNOTRESCUED" "3250" "CASHBONUSEDIT_VIPNOTESCAPED" "3250" //HostageRescueRoundEndCheck "CASHBONUSEDIT_HOSTAGERESCUEDALL" "2500" //Give CT use bonus "CASHBONUSEDIT_GIVECTUSEBONUS" "100" "CASHBONUSEDIT_GIVERESCUERUSEBONUS" "150" //Restart round "CASHBONUSEDIT_HOSTAGEBONUS" "150" "CASHBONUSEDIT_MAXHOSTAGEBONUS" "1999" // OS Windows it is 2000... "CASHBONUSEDIT_HOSTAGESRESCUEDBONUS" "750" "CASHBONUSEDIT_DEFAULTLOSERBONUS_TWIN" "1500" "CASHBONUSEDIT_DEFAULTLOSERBONUS_CTWIN" "1500" "CASHBONUSEDIT_MAXLOSERBONUS_T" "2999" // OS Windows it is 3000... "CASHBONUSEDIT_MAXLOSERBONUS_CT" "2999" // OS Windows it is 3000... "CASHBONUSEDIT_LOSERBONUS" "500" "CASHBONUSEDIT_FIRSTLOSERBONUS" "1400" So, to clarify more, what if we want earn money of teamkilling or hostage hurt/killing ? Or cancel them ? :bee: There are also few bonus money upper limits what can be raise higher. This function tool look those "hardcoded" bonus money values from game memory and then change it with given value. (Poking code from memory!). For developers: Install these files, include <css_cashbonusedit> in your own plugin source code. Code: ----sourcemod │ ├───gamedata │ css_cashbonusedit.games.txt │ │ └───scripting │ └───include css_cashbonusedit.inc PHP Code: #include <css_cashbonusedit> public void OnPluginStart() { int value; // Get cashbonus value cashbonusedit(CASHBONUSEDIT_BOMBDEFUSED, value); PrintToServer("CASHBONUSEDIT_BOMBDEFUSED %d", value); // Set cashbonus value value = 14; cashbonusedit(CASHBONUSEDIT_BOMBDEFUSED, value, true); } For others: Install these files and you can try example plugin (css_cashbonusedit.smx) Code: └───sourcemod ├───configs │ └───cashbonusedit │ de_dust2.txt │ reset.txt │ ├───gamedata │ css_cashbonusedit.games.txt │ ├───plugins css_cashbonusedit.smx- With reset.txt configure file, you can reset default values back on map start. - You can create map configure file, ex. de_dust2.txt and use different values on that map. If you experience server crashes, please remove plugin(s) what use this tool and try again. Mention if this cause problems. Attached Files css_cashbonusedit.zip (14.3 KB) Wyświetl pełny artykuł
  3. This is a plugin that allows users to modify attributes - either native attributes applied at runtime, or through nosoop's custom attribute framework - in-game, through modifying a config or programmatically. More information is present in this GitHub post. Wyświetl pełny artykuł
  4. SMTP mail plugin(linux only) Introduction: Since the method provided by curl.ext is not easy to use, i extracted the SMTP function from it and made it into a methodmap. Now it is easy to use plugin to send mail!. Example: We now only use a SMTP handle to do the job and use a callback to get the result. PHP Code: Action Cmd_Status(int client, int args) { if( client < 1 || client > MaxClients || !IsClientInGame(client) || IsFakeClient(client) ) return Plugin_Handled; SMTP mail = new SMTP(smtp_host, smtp_port); mail.SetVerify(smtp_encryption, smtp_verifyhost, smtp_verifypeer); mail.SetSender(account_username, account_password); mail.SetTitle("mail title"); mail.AppendInfo("your mail info first line"); mail.AppendInfo("your mail info second line"); mail.AppendInfo("your mail info third line"); mail.AddRecipient("[email protected]"); mail.AddRecipient("[email protected]"); mail.Send(MailSendResult); return Plugin_Handled; } void MailSendResult(int code, const char[] message) { if( code != SEND_SUCCESS ) { LogError(message); return; } LogMessage(message); } Methodmap and Inc: PHP Code: /** Double-include prevention */ #if defined _miuwiki_smtp_included_ #endinput #endif #define _miuwiki_smtp_included_ #define SEND_SUCCESS 67 enum Encryption { Encryption_None, Encryption_STARTTLS, Encryption_SSL } /** * Init a curl to use smtp tools. * * @param send_code the curl code of the send result. check it's means in curl_header. * @param message message of this send, it is error on fail and a message on success. * */ typeset MailSendCallback { function void (int send_code, const char[] message); }; methodmap SMTP < Handle { /** * Init a curl to use smtp tools. * * @param host SMTP host * @param port SMTP port * @param timeout Time to start a curl * @param connect_timeout Time to check a send mail is complete or not * @param verbosity Start curl debug or not. * * @return A handle of the curl to use SMTP. or invalid_handle on fail. */ public native SMTP(const char[] host, int port, int timeout = 30, int connect_timeout = 60, int verbosity = 0); /** * Set the smtp protocol and verify mode in the curl. * * @param type The SMTP server encryption type, usually use SSL * @param verifyhost The SMTP server need verify host? Most of time it is 2. * @param verifypeer The SMTP server need verify peer? if set to 1, need ca-bundle.crt. * * @return True on success. false if something cause wrong. */ public native bool SetVerify(Encryption type, int verifyhost = 2, int verifypeer = 0); /** * Set the username and password of the sender. * * @param username SMTP username to login. * @param password SMTP password. * * @return True on success. false if something cause wrong. */ public native bool SetSender(const char[] username, const char[] password); /** * Set the mail titile, can hold 512 byte. * * @param title The title of the mail. * * @return True on success. false if something cause wrong. */ public native bool SetTitle(const char[] title); /** * Set the infomation of the mail, can hold 512 byte. * * @param buffer The infomation to send, always start on a new line. * * @note You must call SetTitle() before append your info in the mail! * * @return True on success. false if something cause wrong. */ public native bool AppendInfo(const char[] buffer); /** * Set recipients for emails, one email can have multiple recipients. * * @param email The email addres that recive the mail. * * @note Please confirm the recipient before adding, and be careful not to fill in an empty string, * otherwise the email will not be sent * * @return True on success. false if something cause wrong. */ public native bool AddRecipient(const char[] email); /** * Send the mail through the curl handle. * * @param callback The callback function of the send result. * * @note The handle will auot delete when send complete even if it get wrong. * Don't delete it after this function. * * @return True if success, false otherwise. */ public native bool Send(MailSendCallback callback); } Picture: Well it looks like a little concise.. Attachment 202685 Recently somebody find that split pack attack is still in L4D2 server, which make it easy to attack other server and make it lagges by some invalid pack. If someone can contact valve please tell them fix that bug as soon as possible! ( 2023.12.29 - 03 : 37 : 18 ) Download & Note: !! I don't add the AutoExecConfig() function so it will not create .cfg file. Please change it in the sp file and complie it or set it in the server.cfg. !! Most of the char is limit in 512 byte. If your mail lose some character maybe that you overcome the max size of buffer. [Download]Please go to Github to get the zip. Thanks: @raydan make the curl @sapphonie fork the old culr and update it @Peace-Maker give the example to show how to send mail Attached Thumbnails Wyświetl pełny artykuł
  5. yesterday i went into a foreign zm server that had this crosshair: https://postimg.cc/64B8BNkB how could I change the target as well? is there any plugin or? Przeczytaj cały wpis
  6. Revive Teammates This plugin is like the revive process but from your friend When you die, he revives you Important note: I did not write this code It is a compilation of some codes from the authors SpaghettiMan - Emma July There are plugins that do not have a script (SMA), but do not worry, there is nothing copyrighted Includes need: Reapi Modules need: Reapi Reapi Attached Files revive teammates.zip (1.64 MB) Get Plugin or Get Source (revive_teammates.sma - 18.4 KB) Wyświetl pełny artykuł
  7. I have a plugin that contain nvault. Code that sent by me is not working, not calculating true rank. Can you fix it or re-make? I want to find players rank from vault file. In this vault there is player's point value, "P_points". You can use this and sort them for ranking. Then we must find true "P_rank". PHP Code: parse(Pdata, P, MAX_PLAYER, P_points, MAX_PLAYER, P_goles, MAX_PLAYER, P_robos, MAX_PLAYER, P_asis, MAX_PLAYER, P_encontra, MAX_PLAYER, P_disarm, MAX_PLAYER, P_kill, MAX_PLAYER, P_tekill, MAX_PLAYER, P_terobos, MAX_PLAYER, P_tedisarm, MAX_PLAYER, P_rank, MAX_PLAYER); PHP Code: VerificarPossUP(id) { if(!UserPassword[id]) return false; if(!SavePlayerRank(id)) { nvault_close(rankVault); nvault_close(topVault); return false; } new P[MAX_PLAYER + 1], P_points[MAX_PLAYER + 1], P_goles[MAX_PLAYER + 1], P_robos[MAX_PLAYER + 1], P_asis[MAX_PLAYER + 1], P_encontra[MAX_PLAYER + 1], P_disarm[MAX_PLAYER + 1], P_kill[MAX_PLAYER + 1], P_tekill[MAX_PLAYER + 1], P_terobos[MAX_PLAYER + 1], P_tedisarm[MAX_PLAYER + 1], P_rank[MAX_PLAYER + 1]; new C[MAX_PLAYER + 1], C_points[MAX_PLAYER + 1], C_goles[MAX_PLAYER + 1], C_robos[MAX_PLAYER + 1], C_asis[MAX_PLAYER + 1], C_encontra[MAX_PLAYER + 1], C_disarm[MAX_PLAYER + 1], C_kill[MAX_PLAYER + 1], C_tekill[MAX_PLAYER + 1], C_terobos[MAX_PLAYER + 1], C_tedisarm[MAX_PLAYER + 1], C_rank[MAX_PLAYER + 1]; new Pkey[64], Ckey[64], Pdata[64], Cdata[64], timestamp; new Ppoint, Cpoint, Crank, Prank; new Pname[MAX_PLAYER + 1], Cname[MAX_PLAYER + 1]; new tempPrank; get_user_authid(id, Pname, MAX_PLAYER); format(Pkey, 63, "^"%s^"", Pname); for(new x = 1; x <= TotalRank; x++) { if(nvault_lookup(rankVault, Pkey, Pdata, 1500, timestamp)) { parse(Pdata, P, MAX_PLAYER, P_points, MAX_PLAYER, P_goles, MAX_PLAYER, P_robos, MAX_PLAYER, P_asis, MAX_PLAYER, P_encontra, MAX_PLAYER, P_disarm, MAX_PLAYER, P_kill, MAX_PLAYER, P_tekill, MAX_PLAYER, P_terobos, MAX_PLAYER, P_tedisarm, MAX_PLAYER, P_rank, MAX_PLAYER); Ppoint = str_to_num(P_points) Prank = str_to_num(P_rank) if(Prank > 1 && Prank <= TotalRank) { tempPrank = Prank - 1 format(Ckey, 63, "%i", tempPrank); if(nvault_lookup(topVault, Ckey, Cdata, 1500, timestamp)) { parse(Cdata, Cname, MAX_PLAYER) format(Ckey, 63, "^"%s^"", Cname); if(nvault_lookup(rankVault, Ckey, Cdata, 1500, timestamp)) { parse(Cdata, C, MAX_PLAYER, C_points, MAX_PLAYER, C_goles, MAX_PLAYER, C_robos, MAX_PLAYER, C_asis, MAX_PLAYER, C_encontra, MAX_PLAYER, C_disarm, MAX_PLAYER, C_kill, MAX_PLAYER, C_tekill, MAX_PLAYER, C_terobos, MAX_PLAYER, C_tedisarm, MAX_PLAYER, C_rank, MAX_PLAYER); Cpoint = str_to_num(C_points) Crank = str_to_num(C_rank) if(Crank >= 1 && Crank <= TotalRank) { if(Ppoint > Cpoint) { format(Cdata, 63, "%s %i %i %i %i %i %i %i %i %i %i %i", C, Cpoint, str_to_num(C_goles), str_to_num(C_robos), str_to_num(C_asis), str_to_num(C_encontra), str_to_num(C_disarm), str_to_num(C_kill), str_to_num(C_tekill), str_to_num(C_terobos), str_to_num(C_tedisarm), Prank) format(Pdata, 63, "%s %i %i %i %i %i %i %i %i %i %i %i", P, Ppoint, str_to_num(P_goles), str_to_num(P_robos), str_to_num(P_asis), str_to_num(P_encontra), str_to_num(P_disarm), str_to_num(P_kill), str_to_num(P_tekill), str_to_num(P_terobos), str_to_num(P_tedisarm), Crank) nvault_set(rankVault, Ckey, Cdata); nvault_set(rankVault, Pkey, Pdata); new keytop[64] format(keytop, 63, "%i", Crank); nvault_set(topVault, keytop, Pkey); format(keytop, 63, "%i", Prank); nvault_set(topVault, keytop, Ckey); } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else break; } for(new x = 1; x <= TotalRank; x++) { if(nvault_lookup(rankVault, Pkey, Pdata, 1500, timestamp)) { parse(Pdata, P, MAX_PLAYER, P_points, MAX_PLAYER, P_goles, MAX_PLAYER, P_robos, MAX_PLAYER, P_asis, MAX_PLAYER, P_encontra, MAX_PLAYER, P_disarm, MAX_PLAYER, P_kill, MAX_PLAYER, P_tekill, MAX_PLAYER, P_terobos, MAX_PLAYER, P_tedisarm, MAX_PLAYER, P_rank, MAX_PLAYER); Ppoint = str_to_num(P_points) Prank = str_to_num(P_rank) if(Prank >= 1 && Prank < TotalRank) { tempPrank = Prank + 1 format(Ckey, 63, "%i", tempPrank); if(nvault_lookup(topVault, Ckey, Cdata, 1500, timestamp)) { parse(Cdata, Cname, MAX_PLAYER) format(Ckey, 63, "^"%s^"", Cname); if(nvault_lookup(rankVault, Ckey, Cdata, 1500, timestamp)) { parse(Cdata, C, MAX_PLAYER, C_points, MAX_PLAYER, C_goles, MAX_PLAYER, C_robos, MAX_PLAYER, C_asis, MAX_PLAYER, C_encontra, MAX_PLAYER, C_disarm, MAX_PLAYER, C_kill, MAX_PLAYER, C_tekill, MAX_PLAYER, C_terobos, MAX_PLAYER, C_tedisarm, MAX_PLAYER, C_rank, MAX_PLAYER); Cpoint = str_to_num(C_points) Crank = str_to_num(C_rank) if(Crank >= 1 && Crank <= TotalRank) { if(Ppoint < Cpoint) { format(Cdata, 63, "%s %i %i %i %i %i %i %i %i %i %i %i", C, Cpoint, str_to_num(C_goles), str_to_num(C_robos), str_to_num(C_asis), str_to_num(C_encontra), str_to_num(C_disarm), str_to_num(C_kill), str_to_num(C_tekill), str_to_num(C_terobos), str_to_num(C_tedisarm), Prank) format(Pdata, 63, "%s %i %i %i %i %i %i %i %i %i %i %i", P, Ppoint, str_to_num(P_goles), str_to_num(P_robos), str_to_num(P_asis), str_to_num(P_encontra), str_to_num(P_disarm), str_to_num(P_kill), str_to_num(P_tekill), str_to_num(P_terobos), str_to_num(P_tedisarm), Crank) nvault_set(rankVault, Ckey, Cdata); nvault_set(rankVault, Pkey, Pdata); new keytop[64] format(keytop, 63, "%i", Crank) nvault_set(topVault, keytop, Pkey); format(keytop, 63, "%i", Prank) nvault_set(topVault, keytop, Ckey); } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else { Pro_Rank[id] = Prank; break; } } else break; } nvault_close(rankVault); nvault_close(topVault); return true } Przeczytaj cały wpis
  8. CS/ CZ: The Ultimate Team Balancer v1.0 This plugin will balance the teams equally by frags. However, I still included a setting. PHP Code: // /// Sets how The Ultimate Team Balancer works /// /// A value of 0 disables the team balancing /// The default value of 1 provides random team balancing every map /// A value of 2 provides random team balancing every round /// A value of 3 keeps the best player on the TERRORIST side /// A value of 4 keeps the best player on the COUNTER-TERRORIST side // tutb_setting 1 PHP Code: TERRORIST | COUNTER-TERRORIST ----------------|-------------------- NAME FRAGS | NAME FRAGS ----------------|-------------------- Kurt 10 | Ringo 9 Dave 8 | Shark 7 Cliffe 7 | Rip 6 Ava 5 | Stone 5 Wolf 4 | Kyle 3 Arnold 2 | Zed 1 Rock 0 | # 36 | # 31 PHP Code: v1.0 - Released For CS:DM/ Respawn, use https://forums.alliedmods.net/showthread.php?t=161175 Attached Files Get Plugin or Get Source (the_ultimate_team_balancer.sma - 11.6 KB) Przeczytaj cały wpis
  9. Hello, I am going to use sql, how to read the information of the vault file and enter it in the database? Przeczytaj cały wpis
  10. Description: "Garbage" collects orphaned entities such as projectiles after their owner dies. Does so by hooking the FireProjectile member function of each valid CTFWeaponBaseGun. It currently works in TF2 Classic (on my server), but if someone's interested, I could port it over to the base game as well. ConVarsentc_tracked_ents "30"number of tracked entities per player. doesn't do anything yet Changelog Code: 26-12-2023 (1.0.0) - Initial release Attached Files sourcemod.zip (11.2 KB) Get Plugin or Get Source (entcollector.sp - 7.5 KB) Wyświetl pełny artykuł
  11. Hi would the timer be able to be changed like the miscstats base plugin by betting the bomb to be green and then change to yellow and red I also want the Boom, Defuse, End labels to be different colors Boom - in red color Defuse - in green color END - in blue And add coordinates for the message if it needs to be moved to another position Attached Files Get Plugin or Get Source (c4timer.sma - 2.2 KB) Przeczytaj cały wpis
  12. This original mode is zombie. I changed it to normal mode. I modified it myself. There is no problem with editing. But the gun cannot be called out with commands Attached Files Get Plugin or Get Source (zp_hunter_killerx90.sma - 44.4 KB) Przeczytaj cały wpis
  13. About:Alters the behavior of the death check with just a single console variable (or ConVar for short). Quite useful for servers with plug-ins that allow the ability for incapacitated survivors to help themselves up. A better replacement for both No Death Check Until Dead and Death Check Final plug-ins. Proof of Concept:(Taken with "sb_all_bot_game" and "allow_all_bot_survivor_team" set to 1) ConVar(s):death_finale_revamp_version → Version of the plug-in director_no_incap_death_check (0/1) | Default: 0 → Should the mission not be counted as a lost after all survivors get incapped? Bug(s):None for now, hopefully still that way in the future. Requirement(s):✧ SourceMod 1.11+ ✧ Source Scramble (My own fork) Installation:💡 Click Get Plugin and put the compiled .smx in the "plugins" folder or Get Source if you want to compile it on your end 💡 (Optional) Download the .txt file and put it in the "gamedata" folder Thanks:🎮 Xiraiju Akara - For testing FAQ(s):Why is it not working? Please specify in detail. Simply saying so won't get you any answer. Changelog: Code: 1.0.0.0 (12/25/23) * First release Attached Files Get Plugin or Get Source (death_check_revamp.sp - 6.9 KB) death_check_revamp.txt (1.2 KB) Wyświetl pełny artykuł
  14. Hello, would it be possible to make a plugin to adjust the skins An example: ;Flag - "m" - Prefix [Head Admin] // to have option to insert T and CT model ;Flag - "o" - Prefix [Global Admin] // to have option to insert T and CT model ;Flag - "q" - Prefix [Server Admin] // to have option to insert T and CT model ;Flag - "s" - Prefix [VIP] // to have option to insert T and CT model ;Flag - "r" - Prefix [Girl Admin] // to have option to insert T and CT model Przeczytaj cały wpis
  15. Hello guys and gals! Long time lurker first time poster. I have seen a few servers where when players spawn they are given all weapons with ammo automatically. I have searched up and down for how this was done and the closest I found was a AMXX plugin for counter strike and not half life. It's possible I may have overlooked something and to be frank I have not setup a GoldSrc server in like 10 years. Is there a way to configure (via plugin or otherwise) to have players start out with all weapons? I currently have the latest version of AMXX (v1.10) Thanks in advance for any help :) Przeczytaj cały wpis
  16. MYGO.pl

    RSSL4D2

    Привет вы можете создать такой плагин: У танка над головой разноцветные кольца которые мигают. Буду рад если поможете создать или восстановить его. Przeczytaj cały wpis
  17. About:Alters the behavior of "sacrifice" finales to act like normal ones when it comes to the Survivor team full of nothing but bots. With that in mind, the finale of The Sacrifice (or custom campaigns like Fall In Death for L4D2) is now playable on any cooperative and/or competitive game modes it supports without the requirement of a single human player. Proof of Concept:* Without plug-in ** With plug-in * ConVar(s):sacrifice_finale_revamp_version → Version of the plug-in Bug(s):None for now, hopefully still that way in the future. Requirement(s):✧ SourceMod 1.11+ ✧ Source Scramble (My own fork) Installation:💡 Get the precompiled .smx file below and put it in the plugins folder or click "Get Source" if you want to compile it on your end 💡 (Optional) Download the .txt file and put it in the "gamedata" folder Note(s):📝 One console variable in L4D serve as this plug-in's on and off switch and that is "sb_all_bot_team" but in L4D2, there are two of them those are "sb_all_bot_game" and "allow_all_bot_survivor_team" and both of them have to be enabled. Thanks:🎮 Xiraiju Akara - For testing FAQ(s):Why is it not working? Please specify in detail. Simply saying so won't get you any answer. Changelog: Code: 1.0.0.0 (12/24/23) * First release Attached Files Get Plugin or Get Source (sacrifice_finale_revamp.sp - 10.7 KB) sacrifice_finale_revamp.txt (2.5 KB) Wyświetl pełny artykuł
  18. about show extra death messages those not included by game since hud shared by all players, these only be static language, if translation needed just modify yourself and compiles. plugin required L4DD, and default used HUD element 4, would not compatible with those 'used hud element 4 plugin' or 'used all hud resource like "[L4D2] Scripted HUD"' Special ThanksNyamorizilla: helps me debug and test even i doesnt have any tool, the screenshot also provide by he. a guy i dont known how call he, this dude found this file and sent it to me after i lost data on my computer, otherwise the plugin would have been lost! changelog v0.1 (December-19-2023) - internal release v0.1.1 (December-21-2023) - hide SI suicide messages v1.0 (December-24-2023) - just released NoteSince HUD resources are shared by all players, there is no translation feature (unless the translation target is dynamically selected) so there is no support for translation or time to support it Since my computer's L4D2 folder was reset to Vanilla status for an unknown reason, my mods and plugins were deleted to the bone, and this should be my last plugin Please modify the key-value pairs(ENTITY_KEYs and ENTITY_VALUEs) in the source code if you need the translation to show the new entity name. Installation put l4d2_additional_deathmsg.en-US.smx on /plugins/ required install [L4D & L4D2] Left 4 DHooks Direct Attached Files Get Plugin or Get Source (l4d2_additional_deathmsg.en-US.sp - 10.0 KB) Get Plugin or Get Source (l4d2_additional_deathmsg.zh-CN.sp - 10.0 KB) Wyświetl pełny artykuł
  19. Cvars PHP Code: // 1 = enable, 0 = disable. include self as victim? // - // Default: "0" knock_down_on_friendly_fire_include_self "0" // weapon bypass. split up with "," // - // Default: "inferno,fire_cracker_blast,pipe_bomb,grenade_launcher_projectile" knock_down_on_friendly_fire_weapon_bypass "inferno,fire_cracker_blast,pipe_bomb,grenade_launcher_projectile" Change log Spoiler Code: 1.1 (2023-12-23: -fix missing cvar loading. 1.0 (2023-12-23: -init public release. Attached Files Get Plugin or Get Source (knock_down_on_friendly_fire.sp - 3.1 KB) Wyświetl pełny artykuł
  20. Hello, I have this Shop/Vip plugin and I would like to know why PHP Code: public Player_TakeDamage multiply the damage of all weapons not only the g_bHasKnifeB and is doing this only to a few players. I disabled it and now the damage is back to normal. But what can I do so that only the knife g_bHasKnifeB to have more dmg ? PHP Code: #pragma semicolon 1 #pragma tabsize 0 #include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine> #include <fun> #include <hamsandwich> #include <fakemeta> #include <vault> // Plugins #define PLUGIN "Shop/Vmenu" #define VERSION "1.1" #define AUTHOR "???" // Define-uri #define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers ) #define ADMIN_VIP ADMIN_LEVEL_H // Acces vip flag T // Native native bb_is_build_phase(); native fcs_get_user_credits ( id ); native fcs_set_user_credits ( id, credits ); // Variabile new Tag[] = "!g[!teamBASEBUILDER | Shop!g]"; // Aici poti pune tag-ul Shop-ului new TagVip[] = "!g[!teamBASEBUILDER | V.I.P!g]"; // Aici pui tag pentru V.I.P new Speed[33]; new VipUsed[33]; new HasSpeed; // Bool-uri new Runda[33]; new bool:GodMode[33]; new bool:g_bHasKnifeB[33]; new bool:g_bHasKnifeW[33]; new Float:normal_speed = 250.0; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("HLTV", "event_new_round", "a", "1=0", "2=0"); register_event("CurWeapon", "event_curweapon", "be", "1=1"); //RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1); RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1); register_forward ( FM_PlayerPreThink, "ForcePlayerSpeed" ); // Comenzi register_clcmd("say /shop","Shop"); register_clcmd("say_team /shop", "Shop"); register_clcmd("say /vmenu", "cmdVmenu"); register_clcmd("say_team /vmenu", "cmdVmenu"); } // Damage ul la SUPERKNIFE /* public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage){ if(iInflictor == iAttacker && iAttacker != iVictim && g_bHasKnifeB[ iAttacker ] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE ) { SetHamParamFloat(4, fDamage * 2.0); } return HAM_IGNORED; } */ // Modele Cutite new const g_szKnifeBModel[] = "models/Shop_BaseB/v_superknife_bb.mdl"; // SUPERKNIFE new const g_szKnifeWModel[] = "models/Shop_BaseB/v_clipknife_bb.mdl"; // KNIFE 80% Inv public FwdHamSpawn_Post(id){ if (!is_user_alive(id)) return PLUGIN_HANDLED; HasSpeed = false; VipUsed[id] = false; g_bHasKnifeB[id] = false; g_bHasKnifeW[id] = false; Runda[id] = 0; GodMode[id] = false; Speed[id] = false; set_user_rendering( id, _, 0, 0, 0, _, 0 ); return PLUGIN_HANDLED; } public event_new_round( ){ new iPlayers[32], iNum; get_players(iPlayers, iNum); for(new i = 0;i < iNum; i++) { Runda[iPlayers[i]]=0; GodMode[iPlayers[i]] = false; } } // Precache line public plugin_precache( ){ precache_model(g_szKnifeBModel); precache_model(g_szKnifeWModel); } // Asta e pentru switch public event_curweapon( id ){ if(g_bHasKnifeB[id] && read_data(2) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, g_szKnifeBModel); set_user_gravity(id, 0.5); } } public FwdPreFrame_Post(id){ if(!is_user_alive(id)) { return PLUGIN_HANDLED; } if(!HasSpeed) { return PLUGIN_HANDLED; } else if(HasSpeed) { set_user_maxspeed(id, normal_speed); } return PLUGIN_HANDLED; } public ForcePlayerSpeed (id){ if ( Speed [ id ] ) { set_pev ( id, pev_maxspeed, 320.0 ); } } public Shop( id ) { if (bb_is_build_phase()) { ChatColor(id, "%s!team Poti folosi !gShop-ul!team dupa timpul de constructie!",Tag); return PLUGIN_HANDLED; } if( Runda[id] < 2 ) { if( get_user_team(id) == 1 ) { ShowShopZM(id); } else if(get_user_team(id) == 2) { ShowShopCT(id); } } else { ChatColor(id, "%s!team Poti folosi !gShop-ul!team de !g2!team ori pe runda!",Tag); return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } public ShowShopZM (id) { if(!is_user_alive(id)) { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); return PLUGIN_HANDLED; } new menu = menu_create ( "\r[BB.LALEAGANE.RO] \yShop ZM", "Menu_Giver_ZM" ); menu_additem ( menu, "\yGravity \w[ \r150 Credits\w]", "0", 0 ); menu_additem ( menu, "\yGodMode \r3 \ysecunde \w[ \r1000 Credits\w]", "1", 0); menu_additem ( menu, "\y1000 \r[HP\r] \w+ \y100 \r[AP\r] \w[ \r600 Credits\w]", "2", 0); menu_additem ( menu, "\y2000 \r[HP\r] \w+ \y100 \r[AP\r] \w[ \r1200 Credits\w]", "3", 0); menu_setprop ( menu, MPROP_NUMBER_COLOR,"\w"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return PLUGIN_HANDLED; } public Menu_Giver_ZM (id, menu, item, client) { if(item == MENU_EXIT || !is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch ( key ) { case 0: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 150; if ( iCredits < 0 ) { new iCredits2 = 150 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2); return PLUGIN_HANDLED; } else { set_user_gravity(id, 0.5); ChatColor(id, "%s!team Ai cumparat !gGravity!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 1: { if(is_user_alive(id) && GodMode[id] == false) { new iCredits = fcs_get_user_credits ( id ) - 1000; if ( iCredits < 0 ) { new iCredits2 = 1000 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2); return PLUGIN_HANDLED; } else { set_user_godmode(id, 1); set_task(3.0,"scoategodmode",id); ChatColor(id, "%s!team Ai cumparat !gGodMode!team pentru !g3 !teamsecunde.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; GodMode[id] = true; return PLUGIN_HANDLED; } } else if(GodMode[id] == true) { ChatColor(id, "%s!team !gLa acest item este voie doar o data pe runda!",Tag); } else { ChatColor(id, "%s!teamNu se poate accesa meniul cand esti mort!",Tag); } } case 2: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 600; if ( iCredits < 0 ) { new iCredits2 = 600 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 1000); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g1000 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 3: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 1200; if ( iCredits < 0 ) { new iCredits2 = 1200 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 2000); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g2000 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } } menu_destroy ( menu ); return PLUGIN_HANDLED; } public ShowShopCT(id){ static menu; menu = menu_create ("\r[BB.LALEAGANE.RO] \yShop CT","Menu_Giver_CT"); menu_additem ( menu,"\y100 \r[\yHP\r] \w+ \y100 \r[\yAP\r] \w[ \r200 Credits\w]","0", 0 ); menu_additem ( menu,"\yGrenade Pack \w[ \r100 Credits\w]","1", 0 ); menu_additem ( menu,"\yGodMode \r5 \ysecunde \w[ \r1000 Credits\w]","2", 0 ); menu_additem ( menu,"\ySpeed \w[ \r150 Credits\w]","3", 0 ); menu_additem ( menu,"\rAk47 \yGolden \w[ \r650 Credits\w]","4", 0 ); menu_additem ( menu,"\rM4A1 \yGolden \w[ \r650 Credits\w]","5", 0 ); menu_additem ( menu,"\rDeagle \yGolden \w[ \r500 Credits\w]","6", 0 ); menu_setprop ( menu, MPROP_NUMBER_COLOR,"\w"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return PLUGIN_HANDLED; } public Menu_Giver_CT (id, menu, item, client){ if(item == MENU_EXIT || !is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch ( key ) { case 0: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 200; if ( iCredits < 0 ) { new iCredits2 = 200 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 100); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g100 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 1: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 100; if ( iCredits < 0 ) { new iCredits2 = 100 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { give_item ( id,"weapon_flashbang" ); give_item ( id,"weapon_hegrenade" ); give_item ( id,"weapon_smokegrenade" ); ChatColor(id, "%s!team Ai cumparat !gGrenade Pack!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 2: { if(is_user_alive(id) && GodMode[id] == false) { new iCredits = fcs_get_user_credits ( id ) - 1000; if ( iCredits < 0 ) { new iCredits2 = 1000 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_godmode(id, 1); set_task(5.0,"scoategodmode",id); ChatColor(id, "%s!team Ai cumparat !gGodMode!team pentru !g5 !teamsecunde.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; GodMode[id] = true; return PLUGIN_HANDLED; } } else if(GodMode[id] == true) { ChatColor(id, "%s!team !gLa acest item este voie doar o data pe runda!",Tag); } else { ChatColor(id, "%s!teamNu se poate accesa meniul cand esti mort!",Tag); } } case 3: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 150; if ( iCredits < 0 ) { new iCredits2 = 150 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { Speed[id] = true; ForcePlayerSpeed(id); ChatColor(id, "%s!team Ai cumparat !gSpeed!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 4: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 650; if ( iCredits < 0 ) { new iCredits2 = 650 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_Ak"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); ChatColor(id, "%s!team Ai cumparat !gAK47 Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 5: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 650; if ( iCredits < 0 ) { new iCredits2 = 650 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_M4A1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); ChatColor(id, "%s!team Ai cumparat !gM4A1 Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 6: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 500; if ( iCredits < 0 ) { new iCredits2 = 500 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 200); ChatColor(id, "%s!team Ai cumparat !gDeagle Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } } menu_destroy ( menu ); return PLUGIN_HANDLED; } public scoategodmode(id){ if( is_user_connected(id) ) { set_user_godmode(id, 0 ); ChatColor(id, "%s!team A expirat timpul pentru !gGodMode!y!",Tag ); } } public cmdVmenu(id){ if (bb_is_build_phase()) { ChatColor(id, "%s!team Poti folosi !gVIP Menu!team dupa timpul de constructie!",TagVip); return PLUGIN_HANDLED; } if(!(get_user_flags(id) & ADMIN_VIP)) { ChatColor(id, "%s !gNumai membrii !teamVIP pot folosi aceasta comanda!",TagVip); return PLUGIN_HANDLED; } if(VipUsed[id]) { ChatColor(id, "%s Ai folosit deja in aceasta runda meniul !gVIP",TagVip); return PLUGIN_HANDLED; } switch(cs_get_user_team(id)) { case CS_TEAM_T: VipTMenu(id); case CS_TEAM_CT: VipCTMenu(id); } return PLUGIN_HANDLED; } public VipCTMenu(id){ new menu = menu_create("\r[BASEBUILDER] \yVIP Menu \rCT", "VipCTMenu_handler"); menu_additem(menu, "\y250 \r[\yHP\r] \w+ \y100\r[\yAP\r]", "1", 0); menu_additem(menu, "\ySpeed", "2", 0); menu_additem(menu, "\yM249 \w& \yDeagle", "3", 0); menu_additem(menu, "\rAK47 \yGolden", "4", 0); menu_additem(menu, "\rM4A1 \yGolden", "5", 0); menu_additem(menu, "\rDeagle \yGolden", "6", 0); menu_display(id, menu); } public VipCTMenu_handler(id, menu, item){ if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { set_user_health(id, get_user_health(id) + 250); set_user_armor(id, get_user_armor(id) + 100); VipUsed[id] = true; ChatColor(id, "%s Ai primit !team250HP !g& !team100AP!g!",TagVip); } case 2: { VipUsed[id] = true; Speed[id] = true; ForcePlayerSpeed(id); ChatColor(id, "%s Ai primit !teamSpeed!g!",TagVip); } case 3: { give_item(id, "weapon_m249"); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_M249, 200); cs_set_user_bpammo(id, CSW_DEAGLE, 100); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamM249 !g& !teamDeagle!g!",TagVip); } case 4: { client_cmd(id, "Gold_Ak"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamAK47 Golden!g!",TagVip); } case 5: { client_cmd(id, "Gold_M4A1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamM4A1 Golden!g.",TagVip); } case 6: { client_cmd(id, "Gold_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 200); VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamDeagle Golden!g.",TagVip); } } menu_destroy(menu); return PLUGIN_HANDLED; } public VipTMenu(id){ new menu = menu_create("\r[BASEBUILDER] \yVIP Meniu \rZM", "VipTMenu_handler"); menu_additem(menu, "\w+\y1500 \r[\yHP\r]", "1", 0); menu_additem(menu, "\rSUPERKNIFE \w+ \y1000 \r[\yHP\r]", "2", 0); menu_additem(menu, "\rKNIFE \w80%Clip + \y1000 \r[\yHP\r]", "3", 0); menu_display(id, menu); } public VipTMenu_handler(id, menu, item){ if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { set_user_health(id, get_user_health(id) + 1500); VipUsed[id] = true; ChatColor(id, "%s Ai primit !team1500 !gHP.",TagVip); } case 2: { set_user_health(id, get_user_health(id) + 1000); Speed[id] = true; ForcePlayerSpeed(id); set_pev(id, pev_viewmodel2, "models/Shop_BaseB/v_superknife_bb.mdl"); g_bHasKnifeB[id] = true; VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamSUPER KNIFE !g+ !team1000HP!g.",TagVip); } case 3: { set_user_health(id, get_user_health(id) + 1000); Speed[id] = true; ForcePlayerSpeed(id); set_pev(id, pev_viewmodel2, "models/Shop_BaseB/v_clipknife_bb.mdl"); g_bHasKnifeW[id] = true; set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 125); VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamSUPER KNIFE 80% Invizibilitate !g+ !team1000HP!g.",TagVip); } } menu_destroy(menu); return PLUGIN_HANDLED; } public client_putinserver(id){ GodMode[id] = false; } //********************STOCK-URI******************** stock ChatColor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); replace_all(msg, 190, "!y", "^1"); replace_all(msg, 190, "!team", "^3"); if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } } Przeczytaj cały wpis
  21. How to add a colon between seconds and milliseconds I am using the Fast Countdown plugin created by bugsy. But there's a question, I need to add a colon between seconds and milliseconds. How should I add a colon? Now the countdown is displayed like this If the countdown starts from 15 seconds [Countdown ends in: 1500] I want to change it to display like this Add: colon between seconds and milliseconds [Countdown ends in: 15:00] I also want to add milliseconds to the C4 countdown. How do I get milliseconds from g_C4Timer = get_cvar_num("mp_c4timer") thank Code: #include <amxmodx> #include <engine> new const Version[] = "0.1" const iCountTime = 1500 new g_iCountdownEntity new g_iCounter public plugin_init() { register_plugin("Fast Countdown" , Version , "bugsy") g_iCountdownEntity = create_entity("info_target") entity_set_string(g_iCountdownEntity , EV_SZ_classname , "countdown_entity") register_think("countdown_entity" , "fw_CountdownEntThink") register_clcmd("say /countdown" , "ShowCountdown") } public ShowCountdown() { g_iCounter = iCountTime entity_set_float(g_iCountdownEntity , EV_FL_nextthink , get_gametime() + 0.01) } public fw_CountdownEntThink(iEntity) { if (iEntity == g_iCountdownEntity) { set_hudmessage(255 , 255 , 255 , -1.0 , -1.0 , 0 , 0.1 , 0.1) show_hudmessage(0 , "[ Countdown ends in: %d ]" , --g_iCounter) if (g_iCounter) entity_set_float(g_iCountdownEntity , EV_FL_nextthink , get_gametime() + 0.01) else server_cmd("sv_restartround 1") } } Attached Files Get Plugin or Get Source (Fast_Countdown.sma - 989 Bytes) Przeczytaj cały wpis
  22. Description: Simple fully functional standalone monster spawner script, automatically spawns and respawns monster_apache, also spawns hgrunt/houndeye at victims origin. You can spawn any monster manually by console command - _monster. Don't forget to precache their resources. Currently supported mods: - Half-Life 25th Anniversary Update Requirements: Developed using required Metamod and AMX Mod X version. - Metamod-P 1.21p38: https://metamod-p.sourceforge.net/ - AMX Mod X 1.10: https://www.amxmodx.org/downloads-new.php?branch=master Console command to manual spawn: - _monster - bind this command to spawn monsters manually Installation: - Compile apb_monster.sma and install like any other plugin. - * version 1.0 (Dec 21 2023) Half-Life 25th Anniversary Update: - First release Attached Files apb_monster.zip (6.5 KB) Przeczytaj cały wpis
  23. hello guys sorry for my bad english is ther is a Plugin to update tf2 server automatically when ther is tf2 update for exomple when server auto restart daly chek if ther is update and apply that update first Wyświetl pełny artykuł
  24. MYGO.pl

    RSSgrenade he

    hello it is possible to make a plugin for the red grenade for the t and blue for the ct THANKS Przeczytaj cały wpis
  25. Hi, would someone be able to add coordinates for the de_dust2_snow map because I don't have blocks to close the path to b and I can't save them Attached Files mode plugins.zip (55.9 KB) Przeczytaj cały wpis
×
×
  • Dodaj nową pozycję...