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

    28694
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Treść opublikowana przez MYGO.pl

  1. Descriptionadd an attachment over the head of thirdstrike survivors. custom model, position, angle, scale. designed for realism mode, no glow / color support. idea and code from [L4D/L4D2] Black And White Checker and [L4D & L4D2] Hats. Cvars PHP Code: // angle of the tip, split up with space // - // Default: "0.0 0.0 0.0" thirdstrike_tip_ang "0.0 0.0 0.0" // model of the tip // - // Default: "models/props_interiors/medicalcabinet02.mdl" thirdstrike_tip_model "models/props_interiors/medicalcabinet02.mdl" // position of the tip, split up with space // - // Default: "-4.0 0.0 -3.0" thirdstrike_tip_pos "-4.0 0.0 -3.0" // scale of the tip // - // Default: "0.25" thirdstrike_tip_scale "0.25" Change log Spoiler Code: 1.0 (2023-04-03: init public release. Attached Files Get Plugin or Get Source (thirdstrike_tip.sp - 4.6 KB) Wyświetl pełny artykuł
  2. Hello people,I m making this topic because I need a very important plugin that will help my server.I need a vip system that gives vip privilages to a user using the console(without opening FTP).I want 3 commands from this plugin amx_addvip <name> <days> <reason> amx_removevip <name> <reason> amx_extendvip <name> <days> <reason> I want the plugin to write a line in the file config/vips.ini like this example "steamid" "empty" "flags" "empty" What I want the plugin to do is to write the steamid and flags automatically on the .ini file and to add a (;) on the start of the line when the user's vip expires,also I want the plugin to have logs when the 3 commands are executed by the admin so we can monitor them. Vip added by "Admin Name" to "User name" for "x" Days Reason: Boosted Vip removed by "Admin name" to "User name" Reason:User's request Vip extended by "Admin name" to "User name" Total days "x" Days Reason: Boosted I tried to edit this plugin to make what I wanted but the code is too old and doesn't have the right things for me :/ https://forums.alliedmods.net/showthread.php?t=13334 I'll be very happy if someone would make or find a plugin that does this.Thank you for reading my request :) Przeczytaj cały wpis
  3. Hello Every one QuickDroLLL Here so basicly iam asking is there any plugin that change E sound effect when prees e it will sound apear is there any plugin change that sound thank you for reading my topic Przeczytaj cały wpis
  4. MYGO.pl

    RSSMenu Numbers

    Greetings. I need help with menu numbers I want to make in menu like |1| [ Price Menu ] , but I don't know how to remove 1. Attached Thumbnails Attached Files Get Plugin or Get Source (bb_game-menu.sma - 4.7 KB) Przeczytaj cały wpis
  5. So, i have been looking for a 3 Menus Free Knives Level Knives Admin Knives to make on my Zombie Escape server, and i have not found anything, i was wondering how hard it is to make something like this? Przeczytaj cały wpis
  6. Descriptionchange the color of thirdstrike survivors. default color is "0 0 0" (black), i choose the color cause it's best for thirdstrike survivors to recognize other thirdstrike survivors. Cvars PHP Code: // color of thirdstrike, split up with space // - // Default: "0 0 0" thirdstrike_color_value "0 0 0" Natives and Forwards(for developers) Spoiler PHP Code: native bool ThirdstrikeColor_HasSetColor(int client); :return whether or not the client has set color. note: it's only a mark, real color can be modify by others plugins. and you have to check the status of the client. PHP Code: forward void ThirdstrikeColor_OnSetColor(int client); :called when someone has set the color. PHP Code: forward void ThirdstrikeColor_OnResetColor(int client); :called when someone's color has been reset. Change log Spoiler Code: 1.0 (2023-04-01: init public release. Attached Files Get Plugin or Get Source (thirdstrike_color.sp - 3.7 KB) Wyświetl pełny artykuł
  7. Hi Guys, I will open a server this days and i working on jb mod and i need someone (good pawner) to help me in some plugins cause i have a lot of work and no time :( , please if u want to help me just send msg to me and i will pray for u [ofc u will get full acc in my server] Przeczytaj cały wpis
  8. MYGO.pl

    RSSPrefix menu

    Hello! I found a prefix menu at the link below but unfortunately the beginning is missing :( I would like to have one that, would give the prefix menu as a menu for the chat command /adminprefix and as a separate vip /vipprefix only give the menu to the person who has the rights PL: I mean something like: mute menu only on prefix menu Admins : C right For Vip: O right Prefix Main menu Admin prefix setting > your player list name > then enter your unique prefix. VIP Prefix setting > Your player list name > then enter your unique prefix. Someone can help you with this Thank you in advance for your replies. everyone Code: public Menu_Prefix(id) { new String[121], Nev[32]; get_user_name(id, Nev, 31); formatex(String, charsmax(String), "[%s] \r- \d Prefix Állítás", Prefix); new menu = menu_create(String, "Menu_prefix_h"); formatex(String, charsmax(String), "\wPrefix: \y%s ^n\d Írd be új prefixed nevét!", prefiszem[id]); menu_additem(menu, String, "2",0); if(Beirtprefix[id] == true){ formatex(String, charsmax(String), "\rBeállítás"); menu_additem(menu, String, "3",0); } menu_display(id, menu, 0); return PLUGIN_HANDLED; } public Menu_prefix_h(id, menu, item){ if(item == MENU_EXIT){ menu_destroy(menu); return; } new data[9], 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 2:client_cmd(id, "messagemode Reg_Prefix"); case 3: { client_print_color(id,print_team_default, "^1--------===^3[ Prefix Adatok ]^1===--------"); client_print_color(id,print_team_default, "%s^1 A ^4Prefix:^3(%s) ^1sikeresen ^3be ^1lett állĂ*tva!", C_Prefix, prefiszem[id]); client_print_color(id,print_team_default, "^1--------===^3[ PREFIX ]^1===--------"); } } } Przeczytaj cały wpis
  9. I downloaded every possible anti speed plugin available on the internet,none of them stop Zeroware,Evol and Flatcheat. We have a problem with cheater attacking the server,using XGuard for anti pwn anti destroy protection and changing ID's and some tool for rapid fast changing ip adresses. He is using Flatcheat premium (i dont know am i allowed to post the link to the official cheat developer site but u can find it easily just search "flatcheat") and i need a good anti speed plugin. Doesnt matter will the plugin just disable the speedhack/block it from working, or kick a cheater as soon as it detects speed,or ban him,i just want it to work any possible way. You wouldnt believe me when i would say that i downloaded almost any anti speed plugin possible on the internet..even on the romanian,russian,serbian,american,german sites.none of them stop that speedhack in any way. btw flat cheat is a web based hack partly. Przeczytaj cały wpis
  10. ConVar sm_translator_display 0 = Console, 1 = Chat, default is 1 Requirements REST in Pawn 1.3 Available Languages ar // Arabic de // German en // English es // Spanish fr // French it // Italian ja // Japanese ko // Korean nl // Dutch pl // Polish pt // Portuguese ru // Russian sv // Swedish bg // Bulgarian tl // Tagalog tr // Turkish Command Usage - Mix two lang codes to get desired translation, example below. Input: enes hello world Output: >> Hola mundo Quick installation guide: Place sm_translator.smx into addons/sourcemod/plugins/ load plugin. : ) Attached Files Get Plugin or Get Source (sm_translator.sp - 3.7 KB) sm_translator.smx (4.9 KB) Wyświetl pełny artykuł
  11. https://www.youtube.com/watch?v=z_Wgyt1sbOE [2023] ADVANCED SAYSOUNDS PLUGIN [CSGO] + 60 sound effects in total. ( Funny / Memes / TR / ENG / Mapeadores ) + 5 Second Cooldown. ( SPAM SECURITY ) + Anyone can access. ( %100 Working ) + Unlimited Usage. ( NO LIMIT ) WARNING: I modified this plugin, fixed a few code errors and added useful sound effects. DOWNLOAD:https://www.mediafire.com/file/qfe6z...METS7.rar/file Plugin %100 Working! Original Plugin: https://forums.alliedmods.net/showthread.php?p=729788 Attached Files 2023 Saysounds By MUHAMETS7.zip (15.35 MB) Wyświetl pełny artykuł
  12. hello is there way can make plugin for anti-ddos for l4d1/2 servers its such as old game but servers keep getting ddos none stop is there is hope for that ? Przeczytaj cały wpis
  13. About:I made a much more limited plugin and only for Left 4 Dead 2. You can still find it here. A lot of people requested more features, like cover all snipers, prevent infected staggering, etc. Now I made this one to replace the old one and implement all the requested features and some more that I wanted.Description:Covers both Left 4 Dead and Left 4 Dead 2, but I have only tested it on Left 4 Dead 2. Allows all weapons to cause explosive shots. Miniguns included. Each weapon can have its own settings. Bullets can cause explosions with a chance of success. Explosions can stagger special infected, tanks or witches with a chance of success. Included natives to call to enable/disable explosive shots on specific players. Natives: PHP Code: bool L4D_ExplosiveShots_Set(int client, int mode) int L4D_ExplosiveShots_Get(int client) ConVars: Spoiler PHP Code: // Name of the config file to load l4d_expshots_configfile "data/l4d_explosiveshots.cfg" // 0 = Plugin off. 1 = Plugin on. l4d_expshots_enable "1" // Enable the plugin in these gamemodes, separated by spaces. (Empty = all). l4d_expshots_gamemodes "" Install:Place l4d_explosiveshots.smx in your sourcemod/plugins folder. Place l4d_explosiveshots.cfg in your sourcemod/data folder. Changelog: Spoiler 1.0 (28-Mar-2023)- First release. GitHub repository Attached Files explosive_shots.ZIP (21.1 KB) Wyświetl pełny artykuł
  14. Description: This plugin allows players to move their camera like what spectator do. With Fortnite Emotes Extension installed, free camera will auto active and deactive. Sorry I didn't know am I right, but my 'free' means you can move your camera with no limit, just like a specator. I'd strongly recommend using Fortnite Emotes Extension with this plugin because this plugin was made to unlock camera when dancing, so that you could watch dancing in a better way. Doesn't have Fortnite Emotes Extension plugin? Doesn't know what is Fortnite Emotes Extension? Click Here ! Usage: If you already installed Fortnite Emotes Extension, free camera will auto active and deactive when you are dancing. If you doesn't want to use Fortnite Emotes Extension, just type !fc/!kfc in chat. Alternatively, you can bind a key to sm_fc/sm_kfc. Type !fcm to set player's own settings. While no dancing, using free camera in first person view couldn't see yourself, so turn on third person to see yourself, in L4D/2 command would be "thirdpersonshoulder", type it in console will change you to third person view, type again will back to first person view. Cvars: fc_speed: Camera move speed, player's default settings when no data found in database. fc_allow: 1 means enable free camera, 0 means disable free camera. Attantion: Plugin has used cookies to save player's settings, so if you are linux server, you need to make sure your sql files which are in the "sourcemod\configs\sql-init-scripts" folder permission is '777', and db file in "sourcemod\data\sqlite\clientprefs-sqlite.sq3" is also '777'. What? You said you are windows? Ok, just ignore what I said above.xD Download: All Files: Attachment 200053 You can find latest source at my GitHub: Paimon-Kawaii - L4D2-Plugins/MyPlugins/Free Camera :wink: Attached Files free_camera.zip (19.4 KB) Wyświetl pełny artykuł
  15. Please close, internet went down and I posted the same thing twice Przeczytaj cały wpis
  16. Players are bugging the shield by turning it invisible. It happens exactly like in this video. Is there a way to solve this? https://www.youtube.com/watch?v=iuIR...hannel=DgIRfan Przeczytaj cały wpis
  17. This is written by a Chinese player, I don't have the source code, I don't know how to implement it http://qungz.photo.store.qq.com/qun-...&rf=viewer_421 https://youtu.be/jaun34e0i_w Wyświetl pełny artykuł
  18. i deleted everything from this since i have posted in the wrong thing and i apologize and I removed the text from this Przeczytaj cały wpis
  19. So, I'm using this weapon model replacement plugin. The problem is that everytime a player has the models on and buys and uses the shield, it causes a bug where you can't see the pistol. Is there a way to solve this? PHP Code: #include <amxmodx> #include <amxmisc> #include <fakemeta> #define PLUGIN "Weapon Skins ADMIN_LEVEL_H" #define VERSION "1.0" #define AUTHOR "Bafak" new const v_Model1[] = "models/wmodels/v_m4a1.mdl" new const v_Model2[] = "models/wmodels/v_ak47.mdl" new const v_Model3[] = "models/wmodels/v_aug.mdl" new const v_Model4[] = "models/wmodels/v_awp.mdl" new const v_Model5[] = "models/wmodels/v_sg552.mdl" new const v_Model6[] = "models/wmodels/v_deagle.mdl" new const v_Model7[] = "models/wmodels/v_knife.mdl" new const p_Model1[] = "models/wmodels/p_ak47.mdl" new const p_Model2[] = "models/wmodels/p_aug.mdl" new const p_Model3[] = "models/wmodels/p_awp.mdl" new const p_Model4[] = "models/wmodels/p_sg552.mdl" new const p_Model5[] = "models/wmodels/p_deagle.mdl" new const p_Model6[] = "models/wmodels/p_knife.mdl" new onoffskinguns[ 33 ] public plugin_precache() { precache_model(v_Model1) precache_model(v_Model2) precache_model(v_Model3) precache_model(v_Model4) precache_model(v_Model5) precache_model(v_Model6) precache_model(v_Model7) precache_model(p_Model1) precache_model(p_Model2) precache_model(p_Model3) precache_model(p_Model4) precache_model(p_Model5) precache_model(p_Model6) } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("CurWeapon" , "cur_weapon" , "be" , "1=1") register_clcmd( "say /skins", "cmd_nastaveni" ) register_clcmd( "say_team /skins", "cmd_nastaveni" ) } public client_putinserver(id) { onoffskinguns[id] = 0 set_task(80.0,"oznamenie",id,"",0,"b") } public cur_weapon(id) { if(get_user_flags(id) & ADMIN_LEVEL_H && onoffskinguns[id]) { if(read_data(2) == CSW_M4A1) { set_pev(id, pev_viewmodel2, v_Model1) } else if(read_data(2) == CSW_AK47) { set_pev(id, pev_viewmodel2, v_Model2) set_pev(id, pev_weaponmodel2, p_Model1) } else if(read_data(2) == CSW_AUG) { set_pev(id, pev_viewmodel2, v_Model3) set_pev(id, pev_weaponmodel2, p_Model2) } else if(read_data(2) == CSW_AWP) { set_pev(id, pev_viewmodel2, v_Model4) set_pev(id, pev_weaponmodel2, p_Model3) } else if(read_data(2) == CSW_SG552) { set_pev(id, pev_viewmodel2, v_Model5) set_pev(id, pev_weaponmodel2, p_Model4) } else if(read_data(2) == CSW_DEAGLE) { set_pev(id, pev_viewmodel2, v_Model6) set_pev(id, pev_weaponmodel2, p_Model5) } else if(read_data(2) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, v_Model7) set_pev(id, pev_weaponmodel2, p_Model6) } } return PLUGIN_CONTINUE } public cmd_nastaveni(id) { if( get_user_flags(id) & ADMIN_LEVEL_H) { static item[64] formatex(item, charsmax(item), "\rSkins Menu") new menu = menu_create(item, "nastaveni_handler") if(onoffskinguns[id]) { formatex(item, charsmax(item), "\yTurn On") menu_additem(menu, item, "1", 0) } else { formatex(item, charsmax(item), "\rTurn Off") menu_additem(menu, item, "1", 0) } menu_addblank(menu, 0) formatex(item, charsmax(item), "Exit") menu_additem(menu, item, "2", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER) menu_setprop(menu, MPROP_NUMBER_COLOR, "\r" ) menu_display(id, menu, 0) } else { ChatColor(id, "!gMessage !y: You dont have any acess for this command.") } return PLUGIN_CONTINUE } public nastaveni_handler(id, menu, item) { 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: { if(!(get_user_flags(id) & ADMIN_LEVEL_H)) { return PLUGIN_HANDLED } if(onoffskinguns[id]) { onoffskinguns[id] = 0 } else { onoffskinguns[id] = 1 } cmd_nastaveni(id) } case 2: { } } menu_destroy(menu) return PLUGIN_HANDLED } public oznamenie(id) { if( get_user_flags(id) & ADMIN_LEVEL_H) { ChatColor(id, "!gMessage !y: Special skins - !g/skins") } else { ChatColor(id, "!gMessage !y: ...Message...") } } 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") // Green Color replace_all(msg, 190, "!y", "^1") // Default Color replace_all(msg, 190, "!team", "^3") // Team Color replace_all(msg, 190, "!team2", "^0") // Team2 Color 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
  20. I am requesting a plugin that re-introduces the legacy FBI sounds & botchatter that was removed in the FBI model update of CS:GO. If you don't know what I'm talking about, I'm talking about these voice lines specifically: https://youtu.be/D8kgKulswr8 Przeczytaj cały wpis
  21. Hello I am going to increase the zombie speed in a zone area I have two problems The mod has used fw_PlayerPreThink to speed up the zombies Next, I don't know how to recognize that they have left the zone PHP Code: #include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <hamsandwich> #define PLUGIN_VERSION "1.0" #define ADMIN_ACCESS ADMIN_RCON #define TASK_SHOWZONES 377737 #define MAXPLAYERS 32 #define isPlayer(%1) ((1 <= %1 && %1 < MAXPLAYERS)) #define ZONE_SPRITE "sprites/laserbeam.spr" #define ZONE_STARTFRAME 1 #define ZONE_FRAMERATE 1 #define ZONE_LIFE 12 #define ZONE_WIDTH 5 #define ZONE_NOISE 0 #define ZONE_COLOR_RED 255 #define ZONE_COLOR_GREEN 0 #define ZONE_COLOR_BLUE 0 #define ZONE_COLOR_SELECTED_RED 0 #define ZONE_COLOR_SELECTED_GREEN random(256) #define ZONE_COLOR_SELECTED_BLUE 255 #define ZONE_BRIGHTNESS 255 #define ZONE_SPEED 0 #define ZONE_VIEWDISTANCE 800.0 #define ZONE_BLOCKEDTEAM 1 // Comment this line to disable the beam when setting points. #define BEAM_ENABLED // Comment a line to disable the sound. #define SOUND_SETPOINT "agrunt/ag_fire2.wav" #define SOUND_SELECT "bullchicken/bc_spithit3.wav" #define SOUND_DELETE "buttons/button10.wav" #define SOUND_DELETEALL "buttons/button11.wav" #define SOUND_TELEPORT "debris/beamstart7.wav" #if defined BEAM_ENABLED #define BEAM_SPRITE "sprites/lgtning.spr" #define BEAM_STARTFRAME 0 #define BEAM_FRAMERATE 10 #define BEAM_LIFE 2 #define BEAM_WIDTH 15 #define BEAM_NOISE 2 #define BEAM_COLOR_RED 255 #define BEAM_COLOR_GREEN 0 #define BEAM_COLOR_BLUE 0 #define BEAM_COLOR_SELECT_RED 0 #define BEAM_COLOR_SELECT_GREEN random(256) #define BEAM_COLOR_SELECT_BLUE 255 #define BEAM_BRIGHTNESS 255 #define BEAM_SPEED 30 new g_iBeamSprite #endif new const g_szPrefix[] = "^4[BB Zones]^1" new const g_szEntString[] = "info_target" new const g_szClassname[] = "BBZone" new g_szDirectory[512], g_szFilename[512], g_szMap[32] new Array:g_aZones new Trie:g_tZones new bool:g_blBuilding[33] new Float:g_flBuildOrigin[33][2][3] new g_iBuildStage[33] new g_iCurrentZone[33][2] new bool:g_blHighlight[33] new g_iZoneSprite new g_iTotalZones new g_iSayText new Float:g_zonesOrigins[50][3] public plugin_init() { register_plugin("BaseBuilder No-Build Zones", PLUGIN_VERSION, "Lucifer") register_cvar("BBZones", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED) register_dictionary("BBZones.txt") register_clcmd("say /bbzones", "menuZone") register_clcmd("say_team /bbzones", "menuZone") register_clcmd("say /pointir", "selectPoint") register_touch(g_szClassname, "player", "OnTouchZone") get_mapname(g_szMap, charsmax(g_szMap)) strtolower(g_szMap) get_datadir(g_szDirectory, charsmax(g_szDirectory)) add(g_szDirectory, charsmax(g_szDirectory), "/BBZones") formatex(g_szFilename, charsmax(g_szFilename), "%s/%s.txt", g_szDirectory, g_szMap) if(!dir_exists(g_szDirectory)) mkdir(g_szDirectory) g_aZones = ArrayCreate(5, 1) g_tZones = TrieCreate() g_iSayText = get_user_msgid("SayText") fileRead(0) } public OnTouchZone(iZone, id) { if(get_user_team(id) != 1) return set_pev(id, pev_maxspeed, 1000.0) } public plugin_end() { fileRead(1) ArrayDestroy(g_aZones) TrieDestroy(g_tZones) } fileRead(iWrite) { new iFilePointer switch(iWrite) { case 0: { iFilePointer = fopen(g_szFilename, "rt") if(iFilePointer) { new szData[200], szPoint[6][32] new Float:flPoint[2][3] while(!feof(iFilePointer)) { fgets(iFilePointer, szData, charsmax(szData)) trim(szData) if(szData[0] == EOS || szData[0] == ';') continue parse(szData, szPoint[0], charsmax(szPoint[]), szPoint[1], charsmax(szPoint[]), szPoint[2], charsmax(szPoint[]), szPoint[3], charsmax(szPoint[]), szPoint[4], charsmax(szPoint[]), szPoint[5], charsmax(szPoint[])) for(new i; i < 3; i++) flPoint[0][i] = str_to_float(szPoint[i]) for(new i; i < 3; i++) flPoint[1][i] = str_to_float(szPoint[i + 3]) CreateZone(flPoint[0], flPoint[1]) } } } case 1: { delete_file(g_szFilename) if(!g_iTotalZones) return iFilePointer = fopen(g_szFilename, "wt") new szCoords[200], szZone[5], iZone for(new i; i < g_iTotalZones; i++) { iZone = ArrayGetCell(g_aZones, i) num_to_str(iZone, szZone, charsmax(szZone)) TrieGetString(g_tZones, szZone, szCoords, charsmax(szCoords)) fprintf(iFilePointer, "%s^n", szCoords) } } } fclose(iFilePointer) } public selectPoint(id) { if(!g_blBuilding[id]) return PLUGIN_CONTINUE new Float:flPointOrigin[3], flUserOrigin[3] get_user_origin(id, flUserOrigin, 3) IVecFVec(flUserOrigin, flPointOrigin) g_flBuildOrigin[id][g_iBuildStage[id]] = flPointOrigin #if defined SOUND_SETPOINT player_spksound(id, SOUND_SETPOINT) #endif #if defined BEAM_ENABLED draw_beam(id) #endif switch(g_iBuildStage[id]) { case 0: { g_iBuildStage[id]++ ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SET_SECOND") } case 1: { g_iBuildStage[id]-- g_blBuilding[id] = false CreateZone(g_flBuildOrigin[id][0], g_flBuildOrigin[id][1]) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_CREATED") } } menu_reopen(id) return PLUGIN_HANDLED } public menuZone(id) { if(!(get_user_flags(id) & ADMIN_ACCESS)) { //ColorChat(id, "%L", LANG_PLAYER, "BBZONE_NOACCESS") return PLUGIN_HANDLED } new szTitle[128], szItem[64] formatex(szTitle, charsmax(szTitle), "\r%L \d| \y%s \d| \r%i %L", LANG_PLAYER, "BBZONE_BBZONES", g_szMap, g_iTotalZones, LANG_PLAYER, "BBZONE_ZONES") new iMenu = menu_create(szTitle, "handlerZone") formatex(szItem, charsmax(szItem), "%L", LANG_PLAYER, g_blBuilding[id] ? "BBZONE_CANCEL" : "BBZONE_ADD") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%L", LANG_PLAYER, g_blHighlight[id] ? "BBZONE_HIDE" : "BBZONE_HIGHLIGHT") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones ? "" : "\d", LANG_PLAYER, "BBZONE_SELECT") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones && is_zone(g_iCurrentZone[id][0]) ? "" : "\d", LANG_PLAYER, "BBZONE_DELETE") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones ? "" : "\d", LANG_PLAYER, "BBZONE_DELETEALL") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones && is_zone(g_iCurrentZone[id][0]) ? "" : "\d", LANG_PLAYER, "BBZONE_TELEPORT") menu_additem(iMenu, szItem, "") menu_display(id, iMenu, 0) return PLUGIN_HANDLED } public handlerZone(id, iMenu, iItem) { if(iItem == MENU_EXIT) { menu_destroy(iMenu) return PLUGIN_HANDLED } switch(iItem) { case 0: { if(g_blBuilding[id]) { g_iBuildStage[id] = 0 g_blBuilding[id] = false ColorChat(id, "%L", LANG_PLAYER, "BBZONE_CANCELED") } else { g_blBuilding[id] = true ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SET_FIRST") } } case 1: { if(g_blHighlight[id]) { g_blHighlight[id] = false remove_task(id + TASK_SHOWZONES) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_HIGHLIGHT_DISABLED") } else { g_blHighlight[id] = true set_task(1.0, "showZones", id + TASK_SHOWZONES, "", 0, "b", 0) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_HIGHLIGHT_ENABLED") } } case 2: { if(g_iTotalZones) { menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } else noZones(id) } case 3: { if(is_zone(g_iCurrentZone[id][0])) { ColorChat(id, "%L", LANG_SERVER, "BBZONE_REMOVED", g_iCurrentZone[id][0]) player_remove_zone(id) #if defined SOUND_DELETE player_spksound(id, SOUND_DELETE) #endif } else invalidZone(id) } case 4: { if(g_iTotalZones) { new iPlayers[32], iPnum, iEnt get_players(iPlayers, iPnum) while((iEnt = find_ent_by_class(iEnt, g_szClassname))) if(pev_valid(iEnt)) remove_entity(iEnt) for(new i, iPlayer; i < iPnum; i++) { iPlayer = iPlayers[i] g_iCurrentZone[iPlayer][0] = 0 g_iCurrentZone[iPlayer][1] = 0 } g_iTotalZones = 0 ArrayClear(g_aZones) TrieClear(g_tZones) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_REMOVEDALL") #if defined SOUND_DELETEALL player_spksound(id, SOUND_DELETEALL) #endif } else noZones(id) } case 5: { if(is_zone(g_iCurrentZone[id][0])) { new Float:flOrigin[3] pev(g_iCurrentZone[id][0], pev_origin, flOrigin) set_pev(id, pev_origin, flOrigin) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_TELEPORTED", g_iCurrentZone[id][0]) #if defined SOUND_TELEPORT player_emitsound(id, SOUND_TELEPORT) #endif } else invalidZone(id) } } menu_destroy(iMenu) menuZone(id) return PLUGIN_HANDLED } public menuSelect(id) { new szTitle[128], szItem[64], szTemp[32], szZone[5], iZone formatex(szTitle, charsmax(szTitle), "\r%L \d| \y%s \d| \r%i %L", LANG_PLAYER, "BBZONE_BBZONES", g_szMap, g_iTotalZones, LANG_PLAYER, "BBZONE_ZONES") new iMenu = menu_create(szTitle, "handlerSelect") formatex(szItem, charsmax(szItem), "\r%L", LANG_PLAYER, "BBZONE_BACK") menu_additem(iMenu, szItem, "0") formatex(szItem, charsmax(szItem), "\r%L", LANG_PLAYER, "BBZONE_DESELECT") menu_additem(iMenu, szItem, "1") for(new i; i < g_iTotalZones; i++) { iZone = ArrayGetCell(g_aZones, i) num_to_str(iZone, szZone, charsmax(szZone)) formatex(szItem, charsmax(szItem), "%L #%i", LANG_PLAYER, "BBZONE_ZONE", iZone) if(g_iCurrentZone[id][0] == iZone) { formatex(szTemp, charsmax(szTemp), " \y[%L]", LANG_PLAYER, "BBZONE_CURRENT") add(szItem, charsmax(szItem), szTemp) } menu_additem(iMenu, szItem, szZone) } menu_display(id, iMenu, 0) return PLUGIN_HANDLED } public handlerSelect(id, iMenu, iItem) { switch(iItem) { case MENU_EXIT: { menu_destroy(iMenu) return PLUGIN_HANDLED } case 0: { menu_destroy(iMenu) menuZone(id) return PLUGIN_HANDLED } case 1: { g_iCurrentZone[id][0] = 0 ColorChat(id, "%L", LANG_PLAYER, "BBZONE_DESELECTED") menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } } new szData[6], iName[64], iAccess, iCallback menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax(szData), iName, charsmax(iName), iCallback) new iKey = str_to_num(szData) g_iCurrentZone[id][0] = iKey g_iCurrentZone[id][1] = iItem - 2 ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SELECTED", iKey) #if defined SOUND_SELECT player_spksound(id, SOUND_SELECT) #endif #if defined BEAM_ENABLED draw_beam(id, iKey) #endif menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } CreateZone(Float:flFirstPoint[3], Float:flSecondPoint[3]) { new Float:flCenter[3], Float:flSize[3] new Float:flMins[3], Float:flMaxs[3] for(new i; i < 3; i++) { flCenter[i] = (flFirstPoint[i] + flSecondPoint[i]) / 2.0 flSize[i] = get_float_difference(flFirstPoint[i], flSecondPoint[i]) flMins[i] = flSize[i] / -2.0 flMaxs[i] = flSize[i] / 2.0 } new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, g_szEntString)) if(pev_valid(iEnt)) { engfunc(EngFunc_SetOrigin, iEnt, flCenter) set_pev(iEnt, pev_classname, g_szClassname) dllfunc(DLLFunc_Spawn, iEnt) set_pev(iEnt, pev_movetype, MOVETYPE_NONE) set_pev(iEnt, pev_solid, SOLID_TRIGGER) entity_set_size(iEnt, flMins, flMaxs) //engfunc(EngFunc_SetSize, iEnt, flMins, flMaxs) } new szCoords[200], szZone[5] formatex(szCoords, charsmax(szCoords), "%f %f %f %f %f %f", flFirstPoint[0], flFirstPoint[1], flFirstPoint[2], flSecondPoint[0], flSecondPoint[1], flSecondPoint[2]) num_to_str(iEnt, szZone, charsmax(szZone)) TrieSetString(g_tZones, szZone, szCoords) ArrayPushCell(g_aZones, iEnt) g_iTotalZones++ } public origin_check(id, ent) { new Float:entCenter[3] new zoneEnt = -1 new Float:zCenter[3] while((zoneEnt = find_ent_by_class(zoneEnt, g_szClassname))) { // Get world center for the entity static Float:flAbsMin[3], Float:flAbsMax[3] pev(ent, pev_absmin, flAbsMin) pev(ent, pev_absmax, flAbsMax) entCenter[0] = (flAbsMin[0] + flAbsMax[0]) * 0.5 entCenter[1] = (flAbsMin[1] + flAbsMax[1]) * 0.5 entCenter[2] = (flAbsMin[2] + flAbsMax[2]) * 0.5 // Get world center for the zone static Float:zAbsMin[3], Float:zAbsMax[3] pev(zoneEnt, pev_absmin, zAbsMin) pev(zoneEnt, pev_absmax, zAbsMax) zCenter[0] = (zAbsMin[0] + zAbsMax[0]) * 0.5 zCenter[1] = (zAbsMin[1] + zAbsMax[1]) * 0.5 zCenter[2] = (zAbsMin[2] + zAbsMax[2]) * 0.5 // Get zone size new Float:zoneSize[3] new Float:entSize[3] pev(zoneEnt, pev_size, zoneSize) pev(ent, pev_size, entSize) new Float:zHalfSize[3] new Float:entHalfSize[3] zHalfSize[0] = zoneSize[0] / 2 zHalfSize[1] = zoneSize[1] / 2 zHalfSize[2] = zoneSize[2] / 2 entHalfSize[0] = entSize[0] / 2 entHalfSize[1] = entSize[1] / 2 entHalfSize[2] = entSize[2] / 2 new Float:maxDistX new Float:maxDistY new Float:maxDistZ maxDistX = zHalfSize[0] + entHalfSize[0] maxDistY = zHalfSize[1] + entHalfSize[1] maxDistZ = zHalfSize[2] + entHalfSize[2] if((zCenter[0] - entCenter[0] > maxDistX) || (zCenter[0] - entCenter[0] < -maxDistX) || (zCenter[1] - entCenter[1] > maxDistY) || (zCenter[1] - entCenter[1] < -maxDistY) || (zCenter[2] - entCenter[2] > maxDistZ) || (zCenter[2] - entCenter[2] < -maxDistZ)) { } else if(!isPlayer(ent)){ //engfunc( EngFunc_SetOrigin, ent, Float:{ -8192.0, -8192.0, -8192.0 } ) set_pev(ent,pev_rendermode,kRenderTransColor) set_pev(ent,pev_rendercolor, Float:{163.0, 1.0, 37.0} ) set_pev(ent,pev_renderamt, 240.0 ) set_task(0.2, "removeEnt", ent) //ColorChat(id, "You are not allowed to build there.") } } } public removeEnt(ent){ Remove(ent) } stock Remove(ent) { set_pev(ent, pev_solid, SOLID_NOT); set_pev(ent, pev_effects, pev(ent, pev_effects) | EF_NODRAW); } public showZones(id) { id -= TASK_SHOWZONES if(!is_user_connected(id)) { remove_task(id + TASK_SHOWZONES) return } new iMins[3], iMaxs[3], iEnt new Float:flUserOrigin[3], Float:flOrigin[3], Float:flMins[3], Float:flMaxs[3] new bool:blCurrentZone pev(id, pev_origin, flUserOrigin) // Save zones origins new zonesCount = 0 // End save zones origins while((iEnt = find_ent_by_class(iEnt, g_szClassname))) { blCurrentZone = (iEnt == g_iCurrentZone[id][0]) ? true : false pev(iEnt, pev_origin, flOrigin) // Save zones origins g_zonesOrigins[zonesCount][0] = flOrigin[0] g_zonesOrigins[zonesCount][1] = flOrigin[1] g_zonesOrigins[zonesCount][2] = flOrigin[2] zonesCount += 1 // End save zones origins if(get_distance_f(flUserOrigin, flOrigin) > ZONE_VIEWDISTANCE) continue pev(iEnt, pev_mins, flMins) pev(iEnt, pev_maxs, flMaxs) flMins[0] += flOrigin[0] flMins[1] += flOrigin[1] flMins[2] += flOrigin[2] flMaxs[0] += flOrigin[0] flMaxs[1] += flOrigin[1] flMaxs[2] += flOrigin[2] /*console_print(0, "Size: %f", flMins[0]) console_print(0, "Size: %f", flMins[1]) console_print(0, "Size: %f", flMins[2])*/ FVecIVec(flMins, iMins) FVecIVec(flMaxs, iMaxs) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMins[0], iMaxs[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMaxs[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMaxs[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMaxs[0], iMins[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMins[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMins[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMins[0], iMaxs[1], iMaxs[2], iMins[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMaxs[1], iMins[2], iMaxs[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMins[2], iMaxs[0], iMins[1], iMins[2]) draw_line(id, blCurrentZone, iMaxs[0], iMins[1], iMins[2], iMaxs[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMins[1], iMaxs[2], iMins[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMaxs[2], iMins[0], iMaxs[1], iMaxs[2]) } } public plugin_precache() { g_iZoneSprite = precache_model(ZONE_SPRITE) #if defined SOUND_SETPOINT precache_sound(SOUND_SETPOINT) #endif #if defined SOUND_SELECT precache_sound(SOUND_SELECT) #endif #if defined SOUND_DELETE precache_sound(SOUND_DELETE) #endif #if defined SOUND_DELETEALL precache_sound(SOUND_DELETEALL) #endif #if defined SOUND_TELEPORT precache_sound(SOUND_TELEPORT) #endif #if defined BEAM_ENABLED g_iBeamSprite = precache_model(BEAM_SPRITE) #endif } menu_reopen(id) { new iNewMenu, iMenu = player_menu_info(id, iMenu, iNewMenu) if(iMenu) { show_menu(id, 0, "^n", 1) menuZone(id) } } #if defined BEAM_ENABLED draw_beam(id, iZone = 0) { new iUserOrigin[3], iPointOrigin[3] get_user_origin(id, iUserOrigin) if(iZone && pev_valid(iZone)) { new Float:flOrigin[3] pev(iZone, pev_origin, flOrigin) FVecIVec(flOrigin, iPointOrigin) } else get_user_origin(id, iPointOrigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) write_coord(iUserOrigin[0]) write_coord(iUserOrigin[1]) write_coord(iUserOrigin[2]) write_coord(iPointOrigin[0]) write_coord(iPointOrigin[1]) write_coord(iPointOrigin[2]) write_short(g_iBeamSprite) write_byte(BEAM_STARTFRAME) write_byte(BEAM_FRAMERATE) write_byte(BEAM_LIFE) write_byte(BEAM_WIDTH) write_byte(BEAM_NOISE) write_byte(iZone ? BEAM_COLOR_SELECT_RED : BEAM_COLOR_RED) write_byte(iZone ? BEAM_COLOR_SELECT_GREEN : BEAM_COLOR_GREEN) write_byte(iZone ? BEAM_COLOR_SELECT_BLUE : BEAM_COLOR_BLUE) write_byte(BEAM_BRIGHTNESS) write_byte(BEAM_SPEED) message_end() } #endif draw_line(id, bool:blCurrentZone, x1, y1, z1, x2, y2, z2) { message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, SVC_TEMPENTITY, _, id ? id : 0) write_byte(TE_BEAMPOINTS) write_coord(x1) write_coord(y1) write_coord(z1) write_coord(x2) write_coord(y2) write_coord(z2) write_short(g_iZoneSprite) write_byte(ZONE_STARTFRAME) write_byte(ZONE_FRAMERATE) write_byte(ZONE_LIFE) write_byte(ZONE_WIDTH) write_byte(ZONE_NOISE) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_RED : ZONE_COLOR_RED) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_GREEN : ZONE_COLOR_GREEN) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_BLUE : ZONE_COLOR_BLUE) write_byte(ZONE_BRIGHTNESS) write_byte(ZONE_SPEED) message_end() } player_emitsound(id, szSound[]) emit_sound(id, CHAN_ITEM, szSound, 1.0, ATTN_NORM, 0, PITCH_NORM) player_spksound(id, szSound[]) client_cmd(id, "spk %s", szSound) noZones(id) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_NOZONES") invalidZone(id) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_INVALID") player_remove_zone(id) { new szZone[5] num_to_str(g_iCurrentZone[id][0], szZone, charsmax(szZone)) ArrayDeleteItem(g_aZones, g_iCurrentZone[id][1]) TrieDeleteKey(g_tZones, szZone) remove_entity(g_iCurrentZone[id][0]) g_iCurrentZone[id][0] = 0 g_iCurrentZone[id][1] = 0 g_iTotalZones-- } bool:is_zone(iEnt) { if(!pev_valid(iEnt)) return false new szClass[32] pev(iEnt, pev_classname, szClass, charsmax(szClass)) return equal(szClass, g_szClassname) ? true : false } Float:get_float_difference(Float:flNumber1, Float:flNumber2) return (flNumber1 > flNumber2) ? (flNumber1 - flNumber2) : (flNumber2 - flNumber1) ColorChat(const id, const szInput[], any:...) { new iPlayers[32], iCount = 1 static szMessage[191] vformat(szMessage, charsmax(szMessage), szInput, 3) format(szMessage[0], charsmax(szMessage), "%s %s", g_szPrefix, szMessage) replace_all(szMessage, charsmax(szMessage), "!g", "^4") replace_all(szMessage, charsmax(szMessage), "!n", "^1") replace_all(szMessage, charsmax(szMessage), "!t", "^3") if(id) iPlayers[0] = id else get_players(iPlayers, iCount, "ch") for(new i; i < iCount; i++) { if(is_user_connected(iPlayers[i])) { message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, iPlayers[i]) write_byte(iPlayers[i]) write_string(szMessage) message_end() } } } Przeczytaj cały wpis
  22. Description Have a private conversation with another player Commands <tags> = parameterssay /pm <player> <message> - sends a private message to a player say /r <message> - quick reply to player you sent a pm unless its your first time getting a pm since you joined the server say !<message> - quick reply but faster say /ignore <player> - ignores messages from a person, will stop ignoring if you decide to send a pm to him/her/they/them again say /sounds - toggle notifications Credits Bugsy - bit macros Attached Files Get Plugin or Get Source (private_message.sma - 5.1 KB) sounds.zip (64.2 KB) Przeczytaj cały wpis
  23. Hello, pls someone can edit this plugin so we can mute or gag players with immunity Attached Files Get Plugin or Get Source (gag_mute.sma - 10.6 KB) Przeczytaj cały wpis
  24. Hello, a fast plugin that parses VDF to JSON Requires: https://github.com/ErikMinekus/sm-ri...ases/tag/1.3.1 Usage: PHP Code: #include <vdftojson> //param1 origin addons/sourcemod/ //param2 origin addons/sourcemod/data/ VDFReturn c = VDFtoJSON("../../scripts/items/items_game.txt","items_game.txt"); Command: PHP Code: sm_vdf2json <path> //output addons/sourcemod/data/output.json Convar: PHP Code: sm_vdftojson 1 //set to 0 to disable in-game command https://github.com/oscar-wos/VDFtoJSON Wyświetl pełny artykuł
  25. MYGO.pl

    RSStask

    Hello, someone can task "time" this lines for VIP (ADMIN_VOTE) until before 20 seconds of the rounds ends. And they can get a print [XBB] You can't lock your base before 20 seconds! If need i can send directly the bb.sma PHP Code: public cmdLockBlock(id) { if (!access(id, LOCK_BLOCKS)) return PLUGIN_HANDLED new ent, bodypart get_user_aiming (id,ent,bodypart) new tname[7], cname[10]; entity_get_string(ent, EV_SZ_targetname, tname, 6); entity_get_string(ent, EV_SZ_classname, cname, 9); if (!ent || !is_valid_ent(ent) || is_user_alive(ent) || ent == g_iEntBarrier || !equal(cname, "func_wall") || equal(tname, "ignore")) return PLUGIN_HANDLED if (!IsBlockLocked(ent) && !g_MovingEnt[ent]) { LockBlock(ent) DispatchKeyValue(ent, "rendermode", "1"); DispatchKeyValue(ent, "rendercolor", "125.0 0.0 0.0"); g_OwnedEnts[g_EntOwner[ent]]-- g_EntOwner[ent] = 0 } else if (IsBlockLocked(ent)) { UnlockBlock(ent) DispatchKeyValue(ent, "rendermode", "0"); } return PLUGIN_HANDLED } Przeczytaj cały wpis
×
×
  • Dodaj nową pozycję...