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

    28247
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Treść opublikowana przez MYGO.pl

  1. Hi, i made this code that shows players that connect but i dont know how to make it show their country. I've tried geoip and geoipse but none of them work. Ive searched for the module and the GeoIP.dat file but couldnt find it, and even searched in this forum but the links were not working anymore. So if anyone could help, or give me a working geoip module and dat file. This is the code PHP Code: #include <amxmodx> #include <amxmisc> #include <colorchat> #define PLUGIN "connect_disconnect" #define VERSION "1.0" #define AUTHOR "tedaimlocks" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public client_putinserver(id) { new szName[32] get_user_name(id, szName, charsmax(szName)) ColorChat(0, GREEN, "^x04[SPK ZM] [^x03%s^x04]^x01 has connected.", szName) } public client_disconnected(id) { new szName[32] new szIp[32] get_user_name(id, szName, charsmax(szName)) get_user_ip(id, szIp, charsmax(szIp)) ColorChat(0, GREEN, "^x04[SPK ZM] [^x03%s^x04]^x01 has disconnected ( ip test %s) .", szName, szIp) } Przeczytaj cały wpis
  2. Please tell me what mistakes I have there... I'm a complete newbie and I don't know much about it. Attached Files Get Plugin or Get Source (Jail.sma.sma - 149.6 KB) Przeczytaj cały wpis
  3. MYGO.pl

    RSSL4D2

    Hi, my English is bad. Help me find the plugin: when you appear in the shelter near the survivors, a red circle appears that flashes and after 15 seconds weapons first aid kits pills melee weapons appear in this circle and every round is random. Przeczytaj cały wpis
  4. MYGO.pl

    RSSGrab Menu

    Hello, can you advise me how to make a grab menu for the grab+ plugin? Przeczytaj cały wpis
  5. Hey, guys. I'm wondering if anyone can modify this plugin so it works on everybody but people with the flag "u" (ADMIN_MENU). Thank you very much! PHP Code: /* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Super Admin" #define VERSION "4.1" #define AUTHOR "[R]ak" #define ShowSuperAdmin (get_pcvar_num(Pointer) == 2) const MENU_OPTION = -4 const TASKMENU = 2708 enum _:Menu_Name_Data { AMXSUPERMENU, SADMIN, KICK, BAN, BANIP, SLAY, SLAP } enum _:Menu_Data { COMMANDMENU, COMMAND, MENU_NAME, MENU_OPTION_PREFIX, DATA1, DATA2, DATA3, DATA4 } new const Menu_Name[Menu_Name_Data][Menu_Data][] = { { "amxsupermenu", "", "Amx Super Menu", "", "", "", "", "" }, { "amx_addsuperadmin_menu", "amx_addsuperadmin", "Amx Add Super Admin Menu", "", "", "", "", "" }, { "amx_super_kickmenu", "amx_super_kick", "Amx Super Kick Menu", "", "", "", "", "" }, { "amx_super_banmenu", "amx_super_ban", "Amx Super Ban Menu", "Ban", "Permanente", "5", "15", "60" }, { "amx_super_banipmenu", "amx_super_banip", "Amx Super Banip Menu", "Banip", "Permanente", "5", "15", "60" }, { "amx_super_slaymenu", "amx_super_slay", "Amx Super Slay Menu", "", "", "", "", "" }, { "amx_super_slapmenu", "amx_super_slap", "Amx Super Slap Menu", "Slap", "0", "1", "5", "99" } } new Pointer, Trie:SuperAdmins, g_RegisterID[Menu_Name_Data], g_MenuMain, g_MenuCallBack public plugin_init() { register_dictionary("common.txt") register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd(Menu_Name[KICK][COMMAND], "Super_Kick", _, "<target|#userid> <reason>") register_concmd(Menu_Name[BAN][COMMAND], "Super_Ban", _, "<target|#userid> <time> <reason>") register_concmd(Menu_Name[BANIP][COMMAND], "Super_Banip", _, "<target|#userid> <time> <reason>") register_concmd(Menu_Name[SLAY][COMMAND], "Super_Slay", _, "<target|#userid>") register_concmd(Menu_Name[SLAP][COMMAND], "Super_Slap", _, "<target|#userid> <damage>") register_concmd(Menu_Name[SADMIN][COMMAND], "Super_AddAdmin", _, "<target|#userid|steamid>") for(new i; i < sizeof Menu_Name; i++) g_RegisterID[i] = register_clcmd(Menu_Name[i][COMMANDMENU], "cmdSuperMenu") Pointer = get_cvar_pointer("amx_show_activity") g_MenuCallBack = menu_makecallback("CheckAlive") } public plugin_cfg() { SuperAdmins = TrieCreate() new ConfigDir[64] get_configsdir(ConfigDir, charsmax(ConfigDir)) format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) if(!file_exists(ConfigDir)) create_file(ConfigDir) new Data[37], File = fopen(ConfigDir, "rt") while (!feof(File)) { fgets(File, Data, charsmax(Data)) trim(Data) if (Data[0] == ';' || !Data[0]) continue; remove_quotes(Data) TrieSetCell(SuperAdmins, Data, true) } fclose(File) create_menu_main() } public cmdSuperMenu(id, level, cid) { if(cid == g_RegisterID[AMXSUPERMENU]) show_menu_main(id) else if(cid == g_RegisterID[KICK]) show_menu_custom(id, KICK) else if(cid == g_RegisterID[BAN]) show_menu_custom(id, BAN) else if(cid == g_RegisterID[BANIP]) show_menu_custom(id, BANIP) else if(cid == g_RegisterID[SLAY]) show_menu_custom(id, SLAY) else if(cid == g_RegisterID[SLAP]) show_menu_custom(id, SLAP) else show_menu_custom(id, SADMIN) return PLUGIN_HANDLED } show_menu_main(id) menu_display(id, g_MenuMain) show_menu_custom(id, Type, MenuKey = 0, page = 0) { new Item[4], Name[32], Player, Player_Num, Players[32], Menu_Item_Option[32], AddOption, Menu = menu_create(Menu_Name[Type][MENU_NAME], "menu_custom_handler") AddOption = (Type != KICK && Type != SLAY && Type != SADMIN) Item[1] = Type Item[2] = MenuKey Item[3] = 0 if(AddOption) formatex(Menu_Item_Option, charsmax(Menu_Item_Option), "%s: %s", Menu_Name[Type][MENU_OPTION_PREFIX], Menu_Name[Type][MenuKey+DATA1]) get_players(Players, Player_Num) for(new i; i < Player_Num; i++) { if(i && !(i % 6) && AddOption) { Item[0] = MENU_OPTION menu_additem(Menu, Menu_Item_Option, Item) } Player = Item[0] = Players[i] get_user_name(Player, Name, charsmax(Name)) menu_additem(Menu, Name, Item, .callback = (Type >= SLAY) ? g_MenuCallBack : -1) } if(AddOption) { Item[0] = MENU_OPTION menu_additem(Menu, Menu_Item_Option, Item) } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu, page) } public menu_main_handler(id, menu, item) { if(item == MENU_EXIT) return show_menu_custom(id, item+1) } public menu_custom_handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return } new Data[5], Access, Callback menu_item_getinfo(menu, item, Access, Data, charsmax(Data), _, _, Callback) if(Data[0] == MENU_OPTION) { if((++Data[2] + DATA1) > DATA4) Data[2] = 0 } else { new type = Data[1], victim = Data[0] client_cmd(id, "%s #%d %s", Menu_Name[type][COMMAND], get_user_userid(victim), Menu_Name[type][Data[2]+DATA1]) } new page, newmenu, oldmenu player_menu_info(id, oldmenu, newmenu, page) Data[0] = id Data[3] = page set_task(0.1, "TaskShowMenu", TASKMENU, Data, sizeof Data) menu_destroy(menu) } public TaskShowMenu(Args[]) show_menu_custom(Args[0], Args[1], Args[2], Args[3]) public CheckAlive(id, menu, item) { new Data[4], Access, Callback, Name[32] menu_item_getinfo(menu, item, Access, Data, charsmax(Data), Name, charsmax(Name), Callback) return (is_user_alive(Data[0])) ? ITEM_ENABLED : ITEM_DISABLED } public Super_Kick(id, level, cid) { if(!Is_SuperAdmin(id, cid, 2)) return PLUGIN_HANDLED; new Name[32], Reason[32] read_argv(1, Name, charsmax(Name)) read_argv(2, Reason, charsmax(Reason)) remove_quotes(Reason) new player = get_target(id, Name) if(!player) return PLUGIN_HANDLED if(Reason[0]) server_cmd("kick #%d ^"%s^"", get_user_userid(player), Reason) else server_cmd("kick #%d", get_user_userid(player)) new Super_Admin[32], Victim[32] get_user_name(id, Super_Admin, charsmax(Super_Admin)) get_user_name(player, Victim, charsmax(Victim)) if(get_pcvar_num(Pointer)) client_print(0, print_chat, "[AMXX] Admin %s kick %s", ShowSuperAdmin ? Super_Admin : "", Victim) return PLUGIN_HANDLED } public Super_Ban(id, level, cid) { if(!Is_SuperAdmin(id, cid, 3)) return PLUGIN_HANDLED; new Name[32], Time[7] ,Reason[32] read_argv(1, Name, charsmax(Name)) read_argv(2, Time, charsmax(Time)) read_argv(3, Reason, charsmax(Reason)) remove_quotes(Reason) new player = get_target(id, Name) if (!player) return PLUGIN_HANDLED new Authid[35], Time_Ban, Show_Time[20] get_user_authid(player, Authid, charsmax(Authid)) Time_Ban = str_to_num(Time) if(!Time_Ban) formatex(Show_Time, charsmax(Show_Time), "Permanently") else formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban) if (Reason[0]) server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;banid ^"%s^" %s;wait;writeid", get_user_userid(player), Reason, Show_Time, Time_Ban, Authid) else server_cmd("kick #%d ^"Banned | Time:%s)^";wait;banid ^"%s^" %s;;wait;writeid", get_user_userid(player), Show_Time, Time_Ban, Authid) new Super_Admin[32], Victim[32] get_user_name(id, Super_Admin, charsmax(Super_Admin)) get_user_name(player, Victim, charsmax(Victim)) if(get_pcvar_num(Pointer)) client_print(0, print_chat, "[AMXX] Admin %s Ban %s for %s", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time) return PLUGIN_HANDLED } public Super_Banip(id, level, cid) { if(!Is_SuperAdmin(id, cid, 3)) return PLUGIN_HANDLED; new Name[32], Time[7] ,Reason[32] read_argv(1, Name, charsmax(Name)) read_argv(2, Time, charsmax(Time)) read_argv(3, Reason, charsmax(Reason)) remove_quotes(Reason) new player = get_target(id, Name) if (!player) return PLUGIN_HANDLED new Ip[20], Time_Ban, Show_Time[20] get_user_ip(player, Ip, charsmax(Ip), 1) Time_Ban = str_to_num(Time) if(!Time_Ban) formatex(Show_Time, charsmax(Show_Time), "Permanently") else formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban) if (Reason[0]) server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Reason, Show_Time, Time_Ban, Ip) else server_cmd("kick #%d ^"Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Show_Time, Time_Ban, Ip) new Super_Admin[32], Victim[32] get_user_name(id, Super_Admin, charsmax(Super_Admin)) get_user_name(player, Victim, charsmax(Victim)) if(get_pcvar_num(Pointer)) client_print(0, print_chat, "[AMXX] Admin %s Ban %s for %s", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time) return PLUGIN_HANDLED } public Super_Slay(id, level, cid) { if(!Is_SuperAdmin(id, cid, 2)) return PLUGIN_HANDLED; new Name[32] read_argv(1, Name, charsmax(Name)) new player = get_target(id, Name, true) if (!player) return PLUGIN_HANDLED user_kill(player) new Super_Admin[32], Victim[32] get_user_name(id, Super_Admin, charsmax(Super_Admin)) get_user_name(player, Victim, charsmax(Victim)) if(get_pcvar_num(Pointer)) client_print(0, print_chat, "[AMXX] Admin %s Slay %s", ShowSuperAdmin ? Super_Admin : "", Victim) return PLUGIN_HANDLED } public Super_Slap(id, level, cid) { if(!Is_SuperAdmin(id, cid, 2)) return PLUGIN_HANDLED; new Name[32], Power[32] read_argv(1, Name, charsmax(Name)) read_argv(2, Power, charsmax(Power)) new player = get_target(id, Name, true) if (!player) return PLUGIN_HANDLED user_slap(player, str_to_num(Power)) new Super_Admin[32], Victim[32] get_user_name(id, Super_Admin, charsmax(Super_Admin)) get_user_name(player, Victim, charsmax(Victim)) if(get_pcvar_num(Pointer)) client_print(0, print_chat, "[AMXX] Admin %s Slap %s with %d damage", ShowSuperAdmin ? Super_Admin : "", Victim, str_to_num(Power)) return PLUGIN_HANDLED } public Super_AddAdmin(id, level, cid) { if(!Is_SuperAdmin(id, cid, 2)) return PLUGIN_HANDLED; new Steam[37] read_argv(1, Steam, charsmax(Steam)) remove_quotes(Steam) if(Steam[0] != 'S' || Steam[4] != 'M' || Steam[7] != ':' || Steam[9] != ':') { new player = get_target(id, Steam) if(!player) return PLUGIN_HANDLED get_user_authid(player, Steam, charsmax(Steam)) } if(TrieKeyExists(SuperAdmins, Steam)) { console_print(id, "The steamid %s is already in SuperAdmin File", Steam) return PLUGIN_HANDLED } new ConfigDir[64] get_configsdir(ConfigDir, charsmax(ConfigDir)) format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) new File = fopen(ConfigDir, "at") if (!File) return PLUGIN_HANDLED fprintf(File, "^n^"%s^"", Steam) fclose(File) TrieSetCell(SuperAdmins, Steam, true) console_print(id, "Steam: %s is now a SuperAdmin", Steam) return PLUGIN_HANDLED } create_menu_main() { new buffer[64] formatex(buffer, charsmax(buffer), "[R]ak Acme Inc.- %s", Menu_Name[AMXSUPERMENU][MENU_NAME]) g_MenuMain = menu_create(buffer, "menu_main_handler") for(new i = 1; i < sizeof Menu_Name; i++) menu_additem(g_MenuMain, Menu_Name[i][MENU_NAME]) } Is_SuperAdmin(id, cid, Args) { new Authid[35] get_user_authid(id, Authid, charsmax(Authid)); if(TrieKeyExists(SuperAdmins, Authid) || id == 0) { if (read_argc() < Args) { new cmd[32], info[128], flag get_concmd(cid, cmd, charsmax(cmd), flag, info, charsmax(info), -1) console_print(id,"%L: %s %s", id, "USAGE", cmd, info) return false } return true } return false } get_target(id, Arg[], CheckAlive = false) { new player = find_player("bl", Arg) if(player) { if(player != find_player("blj", Arg)) { console_print(id, "%L", id, "MORE_CL_MATCHT") return false } } else if((player = find_player("c", Arg)) == 0 && Arg[0] == '#' && Arg[1]) player = find_player("k", str_to_num(Arg[1])) if(!player) console_print(id, "%L", id, "CL_NOT_FOUND") else if(CheckAlive && !is_user_alive(player)) { new sName[32] get_user_name(player, sName, charsmax(sName)) console_print(id, "%L", id, "CANT_PERF_DEAD", sName) return false } return player } create_file(ConfigDir[]) { new File = fopen(ConfigDir, "wt") fprintf(File, "; SuparAdmin By [R]ak Acme Inc.-^n; File location: $moddir/addons/amxmodx/configs/SuperAdmin.ini^n^n; Line starting with ; is a comment^n^n; Example of SuparAdmin account:^n; ^"STEAM_0:0:123456^"^n^n^n;Enjoy") fclose(File) } public plugin_end() TrieDestroy(SuperAdmins) Przeczytaj cały wpis
  6. Hey ! Im running a plugin on my Half-Life server which adds +5 HP & +5 AP to a killer (upon getting a successful kill). The plugin works great, but for new players it's not that obvious that this feature even exists. It would be nice if someone could edit it so that the plugin would display a message just under the crosshair (or in that general area) "+5 HP & +5 AP !" whenever a player gets a kill, also a line in the code for a color code for that message would be nice as I'd like to customize it to my desire. Thank you ! Attached Files Get Plugin or Get Source (vampire.sma - 1.2 KB) Przeczytaj cały wpis
  7. I remember there was this Healing Box plugin: A healing box would appear on the map, either in the CT/TR zone or in the middle of the map, even if requested, a player with HP below 40 could go over this Healing Box and automatically recover "X" life. . The Healing Box appears on the map X times. There was an editable file, which you could edit, sometimes this healing box would appear in the round, edit how much HP you could get from this healing box and also edit the amount of HP it regenerated. Does anyone have this plugin or something like that for download? Przeczytaj cały wpis
  8. So, whenever someone has selected the cerberus class a message gets sent, which is good. But when they are nemesis and they also have selected cerberus class the message gets sent, which i dont want. Could anyone help? I use ZP 4.3 . The Tesla class works, I tried doing it the same way but it doesnt work PHP Code: public zp_user_infected_post(id, infector) { if (zp_get_user_zombie_class(id) == g_cerberus) { ColorChat(id, GREEN, "^x04[SPK ZM]^x01 [Ability: %d Fury | Cooldown: 1 round]", get_pcvar_num(cvar_fury)) g_veces[id] = get_pcvar_num(cvar_fury) i_fury_time[id] = get_pcvar_num(cvar_furytime) emit_sound(id, CHAN_STREAM, idle, 1.0, ATTN_NORM, 0, PITCH_HIGH) remove_task(id) } { if (g_cerberus == zp_get_user_zombie_class(id) && !zp_get_user_nemesis(id)) ColorChat(id, GREEN, "^x04[SPK ZM]^x01 Test", get_pcvar_num(cvar_fury)) } } Tesla one ( works good ) PHP Code: public zp_user_infected_post(id, infector) { reset_cvars(id) if (g_zclass_energyball == zp_get_user_zombie_class(id)) { ChatColor(id, "!g[SPK ZM] !y%L",id,"TESLA_INFO11"); } { if (g_zclass_energyball == zp_get_user_zombie_class(id) && !zp_get_user_nemesis(id)) emit_sound(id, CHAN_VOICE, g_Classic_Infect_Sound[random(sizeof g_Classic_Infect_Sound)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM) } } Przeczytaj cały wpis
  9. https://heylink.me/opaltogel.ai/ https://bit.ly/m/opaltogel OPALTOGEL merupakan situs bandar online nomor satu yang terpercaya di Indonesia. Dikenal dengan layanan terbaik dan keamanan yang terjamin, OPALTOGEL menjadi pilihan utama para pecinta judi online. Dengan berbagai jenis permainan yang disediakan seperti togel, slot, casino, sportsbook, dan poker, OPALTOGEL mampu memenuhi kebutuhan para pemain judi online dengan baik. OPALTOGEL juga dikenal dengan kemudahan aksesnya melalui OPALTOGEL login yang cepat dan mudah. Para pemain dapat mengakses situs ini kapan saja dan di mana saja melalui perangkat komputer atau smartphone mereka. Selain itu, OPALTOGEL juga menyediakan berbagai opsi pembayaran yang aman dan terjamin keamanannya. LINK ALTERNATIF: https://longkeith.com/ Bagi para pemain yang mengalami kendala dalam mengakses situs utama, OPALTOGEL juga menyediakan OPALTOGEL alternatif yang dapat diakses dengan mudah melalui link alternatif yang disediakan. Dengan demikian, para pemain tetap dapat menikmati berbagai jenis permainan yang disediakan oleh OPALTOGEL tanpa adanya hambatan. Sebagai situs online terpercaya, OPALTOGEL juga memberikan jaminan keamanan data pribadi para pemain serta transaksi keuangan yang dilakukan. Dengan sistem keamanan yang canggih, para pemain dapat bermain dengan nyaman dan tenang tanpa perlu khawatir akan kebocoran data pribadi atau transaksi yang tidak aman. Dengan reputasi yang baik dan layanan terbaik yang ditawarkan, tidak heran jika OPALTOGEL menjadi situs bandar online terpercaya nomor satu di Indonesia. Bagi para pecinta judi online, OPALTOGEL adalah pilihan yang tepat untuk menikmati pengalaman bermain judi online yang aman, nyaman, dan menguntungkan. Wyświetl pełny artykuł
  10. Descriptionmanager for 4v4 survival arena mode. the team will win the game if another team all inacp/dead earlier. current support translation: chi(Simplified Chinese). I won't add more translations, you could make your own or ask another one. requirementsSurvivor 4v4 Arena(PVPVE Coop) Related PluginsBot Takeover Customized version for 4v4 Survival Arena Playable Demo Commandssm_arenateam :swap to the opponent team Change log Spoiler Code: 1.0 (2024-03-09: -init public release. Attached Files survival.phrases.txt (1.1 KB) Get Plugin or Get Source (survival.sp - 7.8 KB) Wyświetl pełny artykuł
  11. Descriptionallow human survivors takeover another valid bot by observing it and press shift button after death. suggest only use this plugin in modes disabled rescue. current support translation: chi(Simplified Chinese). I won't add more translations, you could make your own or ask another one. requirementsLeft 4 DHooks Direct Related Cvars And Pluginssm_cvar allow_all_bot_survivor_team "1" Auto Enable/Disable "sb_all_bot_game" Cvars PHP Code: // 1 = enable, 0 = disable. required at least 1 survivor still not incapacitated to try to takeover bot? // - // Default: "1" bot_takeover_alright "1" Change log Spoiler Code: 2.0 (2024-03-09: -init public release. Attached Files bot_takeover.phrases.txt (521 Bytes) bot_takeover.inc (663 Bytes) Get Plugin or Get Source (bot_takeover.sp - 8.0 KB) Wyświetl pełny artykuł
  12. May anyone help me make this for only a flag ( ADMIN_LEVEL_D) ? I know its zp user infected but i tried several times and failed. PHP Code: public zp_user_infected_post(id, infector) { if (zp_get_user_zombie_class(id) == g_cerberus) { client_print(id, print_chat, "[SPK ZM] [Ability: %d Fury | Cooldown: 1 round]", get_pcvar_num(cvar_fury)) g_veces[id] = get_pcvar_num(cvar_fury) i_fury_time[id] = get_pcvar_num(cvar_furytime) emit_sound(id, CHAN_STREAM, idle, 1.0, ATTN_NORM, 0, PITCH_HIGH) remove_task(id) } } FULL CODE PHP Code: #include <amxmodx> #include <zombieplague> #include <engine> #include <fun> #include <fakemeta> #include <hamsandwich> #define ID_FURY (taskid - TASK_FURY) // Task offsets enum (+= 100) { TASK_FURY } /*================================================================================ [Customizations] =================================================================================*/ // Zombie Attributes new const zclass10_name[] = { "Cerberus Dog"} new const zclass10_info[] = { "You have a fury" } new const zclass10_model[] = { "Cerberus_frk_14" } new const zclass10_clawmodel[] = { "v_doghands.mdl" } const zclass10_health = 1200 const zclass10_speed = 275 const Float:zclass10_gravity = 0.8 const Float:zclass10_knockback = 0.5 new const idle[] = "zombie_plague/cerberus_idle.wav" new const fury[] = "zombie_plague/cerberus_fury.wav" new const normaly[] = "zombie_plague/cerberus_normaly.wav" /*================================================================================ Customization ends here! Any edits will be your responsibility =================================================================================*/ // Plugin info. #define PLUGIN "[ZP] Zombie Class: Cerberus Dog" #define VERSION "0.1" #define AUTHOR "DJHD!" // Variables new g_cerberus, g_veces[33], i_fury_time[33], g_maxplayers // Cvar Pointers new cvar_fury, cvar_furytime /*================================================================================ [Init, CFG and Precache] =================================================================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) cvar_fury = register_cvar("zp_cerberus_fury", "1") cvar_furytime = register_cvar("zp_cerberus_fury_time", "30„.0") static szCvar[30] formatex(szCvar, charsmax(szCvar), "v%s by %s", VERSION, AUTHOR) register_cvar("zp_zclass_cerberus", szCvar, FCVAR_SERVER|FCVAR_SPONLY) register_logevent("roundStart", 2, "1=Round_Start") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") g_maxplayers = get_maxplayers() } public plugin_precache() { g_cerberus = zp_register_zombie_class(zclass10_name, zclass10_info, zclass10_model, zclass10_clawmodel, zclass10_health, zclass10_speed, zclass10_gravity, zclass10_knockback) precache_sound(idle) precache_sound(fury) precache_sound(normaly) } /*================================================================================ [Zombie Plague Forwards] =================================================================================*/ public zp_user_infected_post(id, infector) { if (zp_get_user_zombie_class(id) == g_cerberus) { client_print(id, print_chat, "[SPK ZM] [Ability: %d Fury | Cooldown: 1 round]", get_pcvar_num(cvar_fury)) g_veces[id] = get_pcvar_num(cvar_fury) i_fury_time[id] = get_pcvar_num(cvar_furytime) emit_sound(id, CHAN_STREAM, idle, 1.0, ATTN_NORM, 0, PITCH_HIGH) remove_task(id) } } public zp_user_humanized_post(taskid) { new id = ID_FURY remove_task(id+TASK_FURY) set_user_godmode(id, 0) } /*================================================================================ [Main Forwards] =================================================================================*/ public fw_PlayerPreThink(id) { if (!is_user_alive(id)) return FMRES_IGNORED new button = get_user_button(id) new oldbutton = get_user_oldbutton(id) if (zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_cerberus)) { if (!(oldbutton & IN_RELOAD) && (button & IN_RELOAD)) clcmd_furia(id) } return PLUGIN_CONTINUE } /*================================================================================ [Internal Functions] =================================================================================*/ public clcmd_furia(taskid) { new id = ID_FURY if(!is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_cerberus) return PLUGIN_HANDLED if(g_veces[id] > 0) { g_veces[id] = g_veces[id] -1 set_task(0.1, "effects", id+TASK_FURY, _, _, "b") i_fury_time[id] = get_pcvar_num(cvar_furytime) set_task(1.0, "ShowHUD", id+TASK_FURY, _, _, "a", i_fury_time[id]) emit_sound(id, CHAN_STREAM, fury, 1.0, ATTN_NORM, 0, PITCH_HIGH) } else { return PLUGIN_HANDLED } return PLUGIN_HANDLED } public effects(id) { if(!is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_cerberus) return static origin[3] get_user_origin(id, origin) message_begin(MSG_PVS, SVC_TEMPENTITY, origin) write_byte(TE_PARTICLEBURST) // TE id write_coord(origin[0]) // x write_coord(origin[1]) // y write_coord(origin[2]) // z write_short(130) // radius write_byte(70) // color write_byte(3) // duration (will be randomized a bit) message_end() message_begin(MSG_PVS, SVC_TEMPENTITY, origin) write_byte(TE_DLIGHT) // TE id write_coord(origin[0]) // x write_coord(origin[1]) // y write_coord(origin[2]) // z write_byte(22) // radius write_byte(255) // r write_byte(0) // g write_byte(30) // b write_byte(2) // life write_byte(0) // decay rate message_end() set_user_godmode(id, 1) set_task(get_pcvar_float(cvar_furytime), "remove_fury", id) } public ShowHUD(id) { if(is_user_alive(id)) { i_fury_time[id] = i_fury_time[id] - 1; set_hudmessage(200, 100, 0, -1.0, -0.46, 0, 1.0, 1.1, 0.0, 0.0, -1) show_hudmessage(id, "Fury: %d", i_fury_time[id]+1) } else { remove_task(id+TASK_FURY) } } public remove_fury(taskid) { new id = ID_FURY remove_task(id+TASK_FURY) set_user_godmode(id, 0) emit_sound(id, CHAN_STREAM, normaly, 1.0, ATTN_NORM, 0, PITCH_HIGH) } public roundStart() { for(new i = 1; i <= g_maxplayers; i++) { i_fury_time[i] = get_pcvar_num(cvar_furytime) remove_task(i) } } Przeczytaj cały wpis
  13. https://forums.alliedmods.net/showthread.php?t=55245 Hello! Can someone add an extra zone option? The point would be that there would be an AFK zone and whoever is in the zone would be put into spectator mode after 30 seconds. Przeczytaj cały wpis
  14. Descriptiondivide the survivors into two teams according to the model: yellow and green. can't revive/heal/defib across team. bot wont' try to liberate besieged or give pills across team. you'd better use auto respawn plugins and self revive plugins. current support translation: chi(Simplified Chinese). I won't add more translations, you could make your own or ask another one. requirementsActions Left 4 DHooks Direct superversus1.8.15.5-modify survivor_chat_select Change log Spoiler Code: 1.0 test (2024-03-08: -init public release. Attached Files 4v4_arena.phrases.txt (708 Bytes) Get Plugin or Get Source (4v4_arena.sp - 12.5 KB) Wyświetl pełny artykuł
  15. Hey ! I'll forward my post here from aghl.ru in the hopes to reach more potential people who'd be able to assist me as I suspect there is a broken part of the code or something similar of that nature: I have an issue with this plugin, in particular, the tripmines. To my knowledge, when placing a tripmine with a secondary attack, it should emit a different laser beam and not the same one as with the primary attack. Im saying that because I've been in 8 different servers which had Severian's Mod, and whenever you'd place a tripmine using MOUSE2 in those servers, not only it would do 150% damage compared to MOUSE1, but the laser beam would look completely different, indicating that its a more potent tripmine. But when I installed this plugin into my server, both attacks work correctly in terms of damage dealt when triggered, secondary attack does 150% damage as it should, but the laser beam when the tripmine is deployed using the secondary attack is the same one as the primary attack's laser, which is the default Half-Life laser beam look. Even in the plugin's description, they are describing the tripmine (when placed with a secondary attack) as a "lightning" mine, quoted: * "Tripmines, when right-clicked, will place a 'lightning' mine which will blow up with 150% of the damage of a regular mine." I will now attach a photo/.gif to visually show what I mean: Primary attack tripmine laser beam look: https://i.imgur.com/fgV1tqX.jpeg Secondary attack tripmine laser beam (how it should look like): https://i.imgur.com/HOKDNBy.gif As you can see, it looks like "lightning" and is animated. (In-game, the beam is "moving" a lot faster, it just appears this slow in the .gif because of the capped FPS) I'd like to add that I have a separate plugin, which makes the tripmine laser beam random color, not just the default green, also the mine itself glows. This has nothing to do with Severian's mod :good: A link to the plugin: https://aghl.ru/forum/viewtopic.php?f=19&t=528 Thanks ! Przeczytaj cały wpis
  16. Hi there, may anyone add to this rocket any "jumping action" on zombies when they get bombed as you can see in the following video: (https://youtu.be/rx4BfGXIa7Y?si=Oy8Ib6NNGoM9tIOs) PHP Code: #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> #include <zombieplague> static const plugin[] = "[ZP] Extra Item: Original Rocket"; static const mrocket[] = "models/rocket_missile.mdl"; static const mrpg_w[] = "models/v_originalrocket.mdl"; static const mrpg_v[] = "models/v_originalrocket.mdl"; static const mrpg_p[] = "models/p_originalrocket.mdl"; static const sfire[] = "weapons/rocketfire1.wav"; static const sfly[] = "weapons/nuke_fly.wav"; static const shit[] = "weapons/mortarhit.wav"; static const spickup[] = "items/gunpickup2.wav"; static const g_item_name[] = "Original Rocket"; const g_item_cost = 25; new g_itemid; new gmsg_screenshake, gmsg_death, gmsg_damage, pcvar_delay, pcvar_maxdmg, pcvar_radius, pcvar_map; new rocketsmoke, explosion, bazsmoke, white; new bool:has_baz[33], bool:CanShoot[33]; new dmgcount[33], pcvar_dmgforpacks, pcvar_award; public plugin_init() { register_plugin(plugin, "0.6", "Random1"); pcvar_delay = register_cvar("zp_baz_delay", "10.0"); pcvar_maxdmg = register_cvar("zp_baz_dmg", "500"); pcvar_radius = register_cvar("zp_baz_radius", "750"); pcvar_map = register_cvar("zp_baz_map", "0"); pcvar_dmgforpacks = get_cvar_pointer("zp_human_damage_reward"); pcvar_award = register_cvar("zp_baz_awardpacks", "1"); if ( pcvar_dmgforpacks == 0 ) { set_pcvar_num(pcvar_award, 0); //if we couldn't read the dmg cvar from zp then set a stop state on dmg reward log_amx("[%s] error reading zp_human_damage_reward cvar from zombie plague, turning award for damage off", plugin); } g_itemid = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN); register_concmd("zp_bazooka", "give_bazooka", ADMIN_KICK, "<name/@all> gives a bazooka to the spcified target"); register_event("CurWeapon","switch_to_knife","be","1=1","2=29"); register_event("HLTV", "event_HLTV", "a", "1=0", "2=0") // New Round register_clcmd("drop", "drop_call"); //supports 2 methods of firing, attacking while holding knife and a bind register_clcmd("baz_fire", "fire_call"); register_forward(FM_PlayerPreThink, "fw_prethink"); register_forward(FM_Touch, "fw_touch"); gmsg_screenshake = get_user_msgid("ScreenShake"); gmsg_death = get_user_msgid("DeathMsg"); gmsg_damage = get_user_msgid("Damage"); } public event_HLTV() { //remove entities regardless of cvar new rpg_temp = engfunc(EngFunc_FindEntityByString, -1, "classname", "rpg_temp"); while( rpg_temp > 0) { engfunc(EngFunc_RemoveEntity, rpg_temp); rpg_temp = engfunc(EngFunc_FindEntityByString, -1, "classname", "rpg_temp"); } if ( get_pcvar_num(pcvar_map) ) return; for( new id = 1; id <= 32; id++ ) has_baz[id] = false; } public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid) { if ( has_baz[player] ) { zp_set_user_ammo_packs( player, zp_get_user_ammo_packs(player) + g_item_cost ); client_print(player, print_chat, "[ZP BAZ] You already have a bazooka, drop it first by hitting you drop key while holding knife"); } else { has_baz[player] = true; CanShoot[player] = true; client_print(player, print_chat, "[ZP BAZ] You now have a bazooka, attack while holding knife(will take %2.1f seconds to reload", get_pcvar_float(pcvar_delay)); } } } public give_bazooka(id,level,cid) { if (!cmd_access(id,level,cid,1)) { console_print(id,"You have no access to that command"); return; } if (read_argc() > 2) { console_print(id,"Too many arguments supplied."); return; } new arg1[32]; read_argv(1, arg1, sizeof(arg1) - 1); new player = cmd_target(id, arg1, 10); if ( !player ) { if ( arg1[0] == '@' ) { for ( new i = 1; i <= 32; i++ ) { if ( is_user_connected(i) && !has_baz[i] && !zp_get_user_zombie(i) ) { has_baz[i] = true; CanShoot[i] = true; client_print(i, print_chat, "[ZP BAZ] You now have a bazooka, attack while holding knife(will take %2.1f seconds to reload", get_pcvar_float(pcvar_delay)); } } } else { client_print(id, print_chat, "No Such Player/Team"); return; } } else if ( !has_baz[player] && !zp_get_user_zombie(player) ) { has_baz[player] = true; CanShoot[player] = true; client_print(player, print_chat, "[ZP BAZ] You now have a bazooka, attack while holding knife(will take %2.1f seconds to reload", get_pcvar_float(pcvar_delay)); } } public zp_user_infected_post(id, infector) if ( has_baz[id] ) drop_rpg_temp(id); public plugin_precache() { precache_model(mrocket); precache_model(mrpg_w); precache_model(mrpg_v); precache_model(mrpg_p); precache_sound(sfire); precache_sound(sfly); precache_sound(shit); precache_sound(spickup); rocketsmoke = precache_model("sprites/smoke.spr"); explosion = precache_model("sprites/zerogxplode.spr"); } public switch_to_knife(id) { if ( !is_user_alive(id) ) return; if ( has_baz[id] && CanShoot[id] ) { set_pev(id, pev_viewmodel2, mrpg_v); set_pev(id, pev_weaponmodel2, mrpg_p); } } public fw_prethink(id) { static button; button = pev(id, pev_button); if ( button & IN_ATTACK ) fire_call(id); } public fire_call(id) { if ( !is_user_alive(id) || !has_baz[id] || !CanShoot[id] ) return; new weapon = get_user_weapon(id); if ( weapon == CSW_KNIFE ) fire_rocket(id); } fire_rocket(id) { if ( !CanShoot[id] ) return; CanShoot[id] = false; set_task(get_pcvar_float(pcvar_delay), "rpg_reload", id); engclient_cmd(id, "weapon_knife"); //attempt to force model to reset new Float:StartOrigin[3], Float:Angle[3]; pev(id, pev_origin, StartOrigin); pev(id, pev_angles, Angle); new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")); set_pev(ent, pev_classname, "rpgrocket"); engfunc(EngFunc_SetModel, ent, mrocket); set_pev(ent, pev_mins, {-1.0, -1.0, -1.0}); set_pev(ent, pev_maxs, {1.0, 1.0, 1.0}); engfunc(EngFunc_SetOrigin, ent, StartOrigin); set_pev(ent, pev_angles, Angle); set_pev(ent, pev_solid, 2); set_pev(ent, pev_movetype, 5); set_pev(ent, pev_owner, id); new Float:nVelocity[3]; velocity_by_aim(id, 1500, nVelocity); set_pev(ent, pev_velocity, nVelocity); emit_sound(ent, CHAN_WEAPON, sfire, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); emit_sound(ent, CHAN_VOICE, sfly, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(22); write_short(ent); write_short(rocketsmoke); write_byte(30); write_byte(3); write_byte(255); write_byte(255); write_byte(255); write_byte(255); message_end(); } //--------------------------------------------------------------------------------------- public rpg_reload(id) { CanShoot[id] = true; if ( get_user_weapon(id) == CSW_KNIFE ) switch_to_knife(id); //sets our model } //--------------------------------------------------------------------------------------- public fw_touch(ent, touched) { if ( !pev_valid(ent) ) return FMRES_IGNORED; static entclass[32]; pev(ent, pev_classname, entclass, 31); if ( equali(entclass, "rpg_temp") ) { static touchclass[32]; pev(touched, pev_classname, touchclass, 31); if ( !equali(touchclass, "player") ) return FMRES_IGNORED; if( !is_user_alive(touched) || zp_get_user_zombie(touched) ) return FMRES_IGNORED; emit_sound(touched, CHAN_VOICE, spickup, 1.0, ATTN_NORM, 0, PITCH_NORM); has_baz[touched] = true; engfunc(EngFunc_RemoveEntity, ent); return FMRES_HANDLED; } else if ( equali(entclass, "rpgrocket") ) { new Float:EndOrigin[3]; pev(ent, pev_origin, EndOrigin); new NonFloatEndOrigin[3]; NonFloatEndOrigin[0] = floatround(EndOrigin[0]); NonFloatEndOrigin[1] = floatround(EndOrigin[1]); NonFloatEndOrigin[2] = floatround(EndOrigin[2]); emit_sound(ent, CHAN_WEAPON, shit, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); emit_sound(ent, CHAN_VOICE, shit, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(17); write_coord(NonFloatEndOrigin[0]); write_coord(NonFloatEndOrigin[1]); write_coord(NonFloatEndOrigin[2] + 128); write_short(explosion); write_byte(60); write_byte(255); message_end(); message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(5); write_coord(NonFloatEndOrigin[0]); write_coord(NonFloatEndOrigin[1]); write_coord(NonFloatEndOrigin[2] + 256); write_short(bazsmoke); write_byte(125); write_byte(5); message_end(); new maxdamage = get_pcvar_num(pcvar_maxdmg); new damageradius = get_pcvar_num(pcvar_radius); new PlayerPos[3], distance, damage; for (new i = 1; i <= 32; i++) { if ( is_user_alive(i)) { new id = pev(ent, pev_owner) if ((zp_get_user_zombie(id)) || (zp_get_user_nemesis(id))) if ((zp_get_user_zombie(i)) || (zp_get_user_nemesis(i))) continue; if ((!zp_get_user_zombie(id)) && (!zp_get_user_nemesis(id))) if ((!zp_get_user_zombie(i)) && (!zp_get_user_nemesis(i))) continue; get_user_origin(i, PlayerPos); distance = get_distance(PlayerPos, NonFloatEndOrigin); if (distance <= damageradius) { message_begin(MSG_ONE, gmsg_screenshake, {0,0,0}, i); write_short(1<<14); write_short(1<<14); write_short(1<<14); message_end(); damage = maxdamage - floatround(floatmul(float(maxdamage), floatdiv(float(distance), float(damageradius)))); new attacker = pev(ent, pev_owner); baz_damage(i, attacker, damage, "bazooka"); } } } message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(21); write_coord(NonFloatEndOrigin[0]); write_coord(NonFloatEndOrigin[1]); write_coord(NonFloatEndOrigin[2]); write_coord(NonFloatEndOrigin[0]); write_coord(NonFloatEndOrigin[1]); write_coord(NonFloatEndOrigin[2] + 320); write_short(white); write_byte(0); write_byte(0); write_byte(16); write_byte(128); write_byte(0); write_byte(255); write_byte(255); write_byte(192); write_byte(128); write_byte(0); message_end(); engfunc(EngFunc_RemoveEntity, ent); return FMRES_HANDLED; } return FMRES_IGNORED; } //--------------------------------------------------------------------------------------- public drop_call(id) { if ( has_baz[id] && get_user_weapon(id) == CSW_KNIFE ) { drop_rpg_temp(id); return PLUGIN_HANDLED; //attempt to block can't drop knife message } return PLUGIN_CONTINUE; } drop_rpg_temp(id) { new Float:fAim[3] , Float:fOrigin[3]; velocity_by_aim(id , 64 , fAim); pev(id , pev_origin , fOrigin); fOrigin[0] += fAim[0]; fOrigin[1] += fAim[1]; new rpg = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")); set_pev(rpg, pev_classname, "rpg_temp"); engfunc(EngFunc_SetModel, rpg, mrpg_w); set_pev(rpg, pev_mins, { -16.0, -16.0, -16.0 } ); set_pev(rpg, pev_maxs, { 16.0, 16.0, 16.0 } ); set_pev(rpg , pev_solid , 1); set_pev(rpg , pev_movetype , 6); engfunc(EngFunc_SetOrigin, rpg, fOrigin); has_baz[id] = false; } //--------------------------------------------------------------------------------------- baz_damage(id, attacker, damage, weaponDescription[]) { if ( pev(id, pev_takedamage) == DAMAGE_NO ) return; if ( damage <= 0 ) return; new userHealth = get_user_health(id); if (userHealth - damage <= 0 ) { dmgcount[attacker] += userHealth - damage; set_msg_block(gmsg_death, BLOCK_SET); ExecuteHamB(Ham_Killed, id, attacker, 2); set_msg_block(gmsg_death, BLOCK_NOT); message_begin(MSG_BROADCAST, gmsg_death); write_byte(attacker); write_byte(id); write_byte(0); write_string(weaponDescription); message_end(); set_pev(attacker, pev_frags, float(get_user_frags(attacker) + 1)); new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]; get_user_name(attacker, kname, 31); get_user_team(attacker, kteam, 9); get_user_authid(attacker, kauthid, 31); get_user_name(id, vname, 31); get_user_team(id, vteam, 9); get_user_authid(id, vauthid, 31); log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", kname, get_user_userid(attacker), kauthid, kteam, vname, get_user_userid(id), vauthid, vteam, weaponDescription); } else { dmgcount[attacker] += damage; new origin[3]; get_user_origin(id, origin); message_begin(MSG_ONE,gmsg_damage,{0,0,0},id); write_byte(21); write_byte(20); write_long(DMG_BLAST); write_coord(origin[0]); write_coord(origin[1]); write_coord(origin[2]); message_end(); set_pev(id, pev_health, pev(id, pev_health) - float(damage)); } if ( !get_pcvar_num(pcvar_award) ) return; new breaker = get_pcvar_num(pcvar_dmgforpacks); if ( dmgcount[attacker] > breaker ) { new temp = dmgcount[attacker] / breaker if ( temp * breaker > dmgcount[attacker] ) return; //should never be possible dmgcount[attacker] -= temp * breaker; zp_set_user_ammo_packs( attacker, zp_get_user_ammo_packs(attacker) + temp ); } } Przeczytaj cały wpis
  17. Description RPG Maker 2 is a gigantic parser, which reads a bunch of different config files and interprets them, essentially providing a shell with a bunch of parameters, allowing you to create the RPG of your dreams (within some reason) without ever having to write a single line of code -- though support for expansion plugins to extend the functionality of talents does exist via IPC native/forward calls, and will be covered in a later post. Most features of RPG Maker 2 can be disabled/enabled as you see fit; the main config file holds about 500 different cvars, most of which are gameplay-affecting and customizable. RPG Maker 2 will work with any source game, but it only comes with the config files assembled for Left 4 Dead 2. You'll have to edit the events and weapondamages configs and update them appropriately to support other source games. Honestly, you'll have to edit most of the configs, but none of it's code, and it's mostly well-documented? Requirements/Dependencies RPG Maker 2 still requires Ready Up ( https://github.com/exSkye/rpgmaker2/...y)/ReadyUp-8.x ) and I don't see myself ever removing this dependency, as it provides many important natives/forwards to greatly-extend the amount of events that occur in l4d2. This version is still on old syntax, but is running perfectly-fine on my server, which runs the latest version of SM. I will, however, be porting Ready Up to the new syntax in the near future for uniformity. SM Lib - I use this for custom chat/text colours that are otherwise unavailable. Left 4 DHooks l4d_stocks.inc (/include/ is found in the archive included on this page.) A MySQL database is required even if localhost. SQLite is not supported, and I have no plans to add support for it, though if you do and would like it merged into the official code branch, please open a ticket on the github page. Github I will try to keep regular updates here, but don't forget to always check the github for the latest updates just in case, and if you need to post any issues/bugs that need fixing, it is preferred that you do it on github tickets so that it is all in one place. https://github.com/exSkye/rpgmaker2/...RPGMaker2/v3.x I'm sure there's something I forgot to post, since it's super late, I'm super baked, and I've been coding non-stop for many hours... many, many hours. Remind me, or I'll remember later and add it. You can connect to the server and test out the plugin running the exact version of the files that are in the archive/posted on the github, here: http://skyrpg.org - click the server, then click 'connect' on the drop-down, or alternatively connect skyrpg.org in console. Attached Files rum_rpg_ns.smx (306.9 KB) RPGMaker_v3.4_Mar6_2024.zip (737.6 KB) Wyświetl pełny artykuł
  18. Hey ! Im interested in a HUD which would display the time that's left until map change and system clock. After a bit of research on the forums I've managed to find a plugin which displays system time only, maybe it would be possible to edit it? I'll attach the said plugin. Would it be possible to edit the following: #1 add timeleft until map change just below the system clock #2 make the HUD enabled by default upon entering the server #3 if its a possibility, make the whole HUD/font a bit smaller so that its not that intrusive Thank you ! Attached Files clock.amxx (2.6 KB) Get Plugin or Get Source (clock.sma - 1.2 KB) Przeczytaj cały wpis
  19. Descriptionallow dump survivor voice snene to usermsg id by admin command. make sure yo use this plugin while the game won't auto vocalize anything. Cvars PHP Code: voice_usermsgid_dumper_interval "0.5" voice_usermsgid_dumper_log_path "/logs" Commandssm_dumpvoice :dump a given file. for exmaple: /dumpvoice "adrenaline01" sm_dumpvoicewd :dump files by a wildcard. for exmaple: /dumpvoicewd "thanks" sm_enddumpvoice :end the current voice dump. Change log Spoiler Code: 1.1 test (2024-03-05: -add check and feedback if no file found by arg. 1.0 test (2024-03-05: -init public release. Attached Files Get Plugin or Get Source (voice_usermsgid_dumper.sp - 11.1 KB) Wyświetl pełny artykuł
  20. https://forums.alliedmods.net/showthread.php?t=42201 Give random primary and secondary just like the plugin does, but not for T. CT only! Przeczytaj cały wpis
  21. MYGO.pl

    RSSNoclip Edit

    May anyone edit this noclip code to increase the speed of it? I dont want it to have the same speed as sv_maxspeed, i want to be able to move with noclip when sv_maxspeed is 0 PHP Code: #include <amxmodx> #include <amxmisc> #include <fun> public plugin_init() { register_plugin("amx_cheat","1.0","watch") register_concmd("amx_godmode","amx_godmode",ADMIN_RCON,"<target>") register_concmd("amx_noclip","amx_noclip",ADMIN_RCON,"<target>") } public amx_godmode(id,level,cid) { if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED new arg[32], admin_name[32], target_name[32] read_argv(1,arg,31) new player = cmd_target(id,arg,14) if (!player) return PLUGIN_HANDLED get_user_name(id,admin_name,31) get_user_name(player,target_name,31) if (!get_user_godmode(player)) { set_user_godmode(player,1) switch(get_cvar_num("amx_show_activity")) { case 2: client_print(0,print_chat,"ADMIN %s: enabled godmode on %s",admin_name,target_name) case 1: client_print(0,print_chat,"ADMIN: enabled godmode on %s",target_name) } } else { set_user_godmode(player) switch(get_cvar_num("amx_show_activity")) { case 2: client_print(0,print_chat,"ADMIN %s: disabled godmode on %s",admin_name,target_name) case 1: client_print(0,print_chat,"ADMIN: disabled godmode on %s",target_name) } } return PLUGIN_HANDLED } public amx_noclip(id,level,cid) { if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED new arg[32], admin_name[32], target_name[32] read_argv(1,arg,31) new player = cmd_target(id,arg,14) if (!player) return PLUGIN_HANDLED get_user_name(id,admin_name,31) get_user_name(player,target_name,31) if (!get_user_noclip(player)) { set_user_noclip(player,1) switch(get_cvar_num("amx_show_activity")) { case 2: client_print(0,print_chat,"ADMIN %s: enabled noclip on %s",admin_name,target_name) case 1: client_print(0,print_chat,"ADMIN: enabled noclip on %s",target_name) } } else { set_user_noclip(player) switch(get_cvar_num("amx_show_activity")) { case 2: client_print(0,print_chat,"ADMIN %s: disabled noclip on %s",admin_name,target_name) case 1: client_print(0,print_chat,"ADMIN: disabled noclip on %s",target_name) } } return PLUGIN_HANDLED } Przeczytaj cały wpis
  22. I would need a plugin so that when you write /black (only admins) the screen will be black and a white HUD message will appear in the middle where I can change the message Przeczytaj cały wpis
  23. Hi, i need help to fix all the error i have amxx file but i dont have sma file i will make decompile amxx to sma and here is the output resault but it have lot of error can anyone help me for fix the all error and make fresh compile sma file. new MaxClients; new String:NULL_STRING[4]; new Float:NULL_VECTOR[3]; replace_all(string[], len, what[], with[]) { new pos; if ((pos = contain(string, what)) == -1) { return 0; } new total; new with_len = strlen(with); new diff = strlen(what) - with_len; new total_len = strlen(string); new temp_pos; while (replace(string[pos], len - pos, what, with)) { total++; pos = with_len + pos; total_len -= diff; if (!(pos >= total_len)) { temp_pos = contain(string[pos], what); if (!(temp_pos == -1)) { pos = temp_pos + pos; } return total; } return total; } return total; } public plugin_init() { register_plugin("welcome & dead hud", "1.0", "Farhan Shaikh"); register_clcmd("say /offhud", "cmdHudOff", -1, 256, -1, MaxClients); register_clcmd("say /onhud", "cmdHudOn", -1, 256, -1, MaxClients); return 0; } public client_putinserver(id) { set_task(1084227584, "show_dead_hud", id, 404, MaxClients, 396, MaxClients); set_task(1084227584, "welcomemsg", id, 404, MaxClients, 452, MaxClients); return 0; } public show_dead_hud(id) { if (!is_user_connected(id)) { return 0; } new var1; if (is_user_connected(id) && !is_user_alive(id)) { set_hudmessage(MaxClients, 255, 252, 1008981770, 1045220557, MaxClients, 1086324736, 1084227584, 1036831949, 1045220557, -1); show_hudmessage(id, "~~~~~~~~~~~~~~~~~~~ \n Save all our IP's, If the Main IP is \n not visible then kindly try joining from other IP \n * 152.67.27.93:27015 \n * 144.24.100.130:27015 \n * 140.238.167.130:27015\n Type /offhud To Remove This Message \n~~~~~~~~~~~~~~~~~~~"); } return 0; } public cmdHudOff(id) { remove_task(id, MaxClients); ColorChat(id, "!gYour turned !tOFF !ghud"); return 0; } public cmdHudOn(id) { show_dead_hud(id); set_task(1065353216, "show_dead_hud", id, 404, MaxClients, 1588, MaxClients); ColorChat(id, "!gYou turned !tON !ghud"); return 0; } public welcomemsg(id) { set_hudmessage(MaxClients, 255, 42, -1082130432, 1050253722, MaxClients, 1086324736, 1084227584, 1036831949, 1045220557, -1); show_hudmessage(id, "~~~~~~~~~~~~~~~~~~~ \n Save all our IP's, If the Main IP is \n not visible then kindly try joining from other IP \n * 152.67.27.93:27015 \n * 144.24.100.130:27015 \n * 140.238.167.130:27015\n ~~~~~~~~~~~~~~~~~~~"); ColorChat(id, "!t==>> !gSave all our IP's, If the Main IP is not visible then kindly try joining from other IP"); ColorChat(id, "!t==>> !y*!g152.67.27.93:27015 !y*!g144.24.100.130:27015 !y*!g140.238.167.130:27015"); return 0; } ColorChat(id, input[]) { new count = 1; new players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!y", 4012); replace_all(msg, 190, "!g", 4032); replace_all(msg, 190, "!t", 4052); if (id) { players[0] = id; } else { get_players(players, count, "ch", 4072); } new i; while (i < count) { if (is_user_connected(players[i])) { message_begin(NULL_VECTOR, get_user_msgid("SayText"), 4108, players[i]); write_byte(players[i]); write_string(msg); message_end(); } i++; } return 0; } Przeczytaj cały wpis
  24. Alright, this is my first time trying to write a plugin for Left 4 Dead 2, and it may not be flawless. So any suggestions or improvements are welcomed. It's major function is to manually force the finale to start or force the rescue to arrive. Especially useful in some custom campaigns when the finale stage stuck and the rescue vehicle never coming. And also you can use it when you want to skip the long waiting rescue. No other dependencies required. It's original idea is from a mod called 'Admin System', written in Squirrel language, and I ported it to SourcePawn language, and added some improvements. And thanks to Marttt's 'l4d2_unlock_finales' plugin (https://forums.alliedmods.net/showthread.php?t=333274) provides a way to remove the entity for blocking survivors in official campaigns when finale starts. Usage: You can type !finale or /finale in chat box to open the 'Finale Options' menu. And you can also type '/finale start' or '/finale rescue' in chat box, they will do the same as selecting in the menu. There are several types of finales, such as: 1. 'Defending Type' (When finale starts, you need to defend and wait for several minutes, the rescue arrives). 2. 'Gas Can Filling Type' (When specified amount of gas cans are poured, the rescue arrives). 3. 'Run To The Finish Type' (The rescue vehicle is already waiting for you at the finish line, you just need to run to it, the rescue completes). This plugin only supports all 'Defending Type' and most 'Gas Can Filling Type' campaigns. 'Run To The Finish Type' campaigns are not supported, cuz rescue vehicle is already here in the finish line. For Example, c5m5 (The Parish Finale) and c13m4 (Cold Stream Finale) are not supported. Just simply download the 3 following files, and put 'l4d2_finale_control.sp' into your 'scripting' folder, put 'l4d2_finale_control.smx' into your 'plugins' folder, put 'l4d2_finale_control.phrases.txt' into your 'translations' folder. That's all. Attached Files Get Plugin or Get Source (l4d2_finale_control.sp - 11.2 KB) l4d2_finale_control.smx (7.7 KB) l4d2_finale_control.phrases.txt (447 Bytes) Wyświetl pełny artykuł
  25. MYGO.pl

    RSSLag Exploit

    Hello everyone. We're getting a massive lags with some kind of exploits, basically what it does: -Everyone gets a high ping ~200 -Crashes people's connection to server. NOTE: Its not a DDoS attack, its a exploit. Saw a few video's on youtube based on this but didnt find solution, any helps ?? Przeczytaj cały wpis
×
×
  • Dodaj nową pozycję...