Skocz do zawartości
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek

Master

Little Hero
  • Zawartość

    95
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    19

Master wygrał w ostatnim dniu 2 Marzec

Master ma najbardziej lubianą zawartość!

Reputacja

99 Mikro programista

Personal Information

Ostatnio na profilu byli

313 wyświetleń profilu
  1. Instrukcja switch nie miała sensu, bo każdy case robił dokładnie to samo. Wystarczyło w tym przypadku EmitSoundToAll(sBuffer, SOUND_FROM_PLAYER, SNDCHAN_AUTO, SNDLEVEL_NORMAL, SND_NOFLAGS, 0.55);
  2. Opis Prosty plugin, który umożliwia w łatwy sposób odtwarzanie piosenek z pluginu: https://github.com/abnerfs/round_end_sounds. Komenda !testmusic - otwiera menu Plugin Master_PlayMusic_Test.sp
  3. Oprócz błędy z returnem, nie widzę nic innego.
  4. Opis Plugin pozwala w łatwy sposób dostosować procentową ilość otrzymywanych obrażeń od upadku gracza. Convar Plik: cfg/sourcemod/Reduce_Fall_Damage sm_reduce_fall_damage "0.50" - Ile procent obrażeń ma zadać Plugin Reduce_Fall_Damage.sp
  5. #include <sdkhooks> #pragma semicolon 1 #pragma newdecls required float g_fPercentages; public void OnPluginStart() { ConVar cvar = CreateConVar("sm_reduce_fall_damage", "0.50", "Ile procent obrażeń ma zadać", 0); cvar.AddChangeHook(OnCvarChange); g_fPercentages = cvar.FloatValue; AutoExecConfig(true, "Reduce_Fall_Damage"); } public void OnCvarChange(ConVar cvar, char[] oldValue, char[] newValue) { g_fPercentages = StringToFloat(newValue); } public void OnClientPutInServer(int client) { SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage); } public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype) { if(!IsValidClient(attacker)) return Plugin_Continue; if(damagetype & DMG_FALL) { damage *= g_fPercentages; return Plugin_Changed; } return Plugin_Continue; } bool IsValidClient(int client) { return (1 <= client <= MaxClients && IsClientInGame(client)); }
  6. @bakusiovskyyyy Mapa, którą podałeś nie nadaje się na serwery areny, gdyż posiada ona jedną arenę. Szukaj map z przedrostkiem "am_" np. https://gamebanana.com/maps/200778. Na mapach dostosowanych do pluginu multi arena nie jest wymagany plugin na usuwanie broni, bo po prostu autorzy ich tam nie umieszczają.
  7. Jak już chcesz hookować wszystkie eventy to wystarczy zrobić tak: public void OnPluginStart() { HookEventEx("player_death", Rank_Hooks); HookEventEx("bomb_planted", Rank_Hooks); HookEventEx("bomb_defused", Rank_Hooks); HookEventEx("bomb_exploded", Rank_Hooks); HookEventEx("bomb_dropped", Rank_Hooks); HookEventEx("bomb_pickup", Rank_Hooks); HookEventEx("hostage_rescued", Rank_Hooks); HookEventEx("vip_killed", Rank_Hooks); HookEventEx("vip_escaped", Rank_Hooks); HookEventEx("round_end", Rank_Hooks); HookEventEx("round_start", Rank_Hooks); HookEventEx("round_mvp", Rank_Hooks); } public Action Rank_Hooks(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); CheckRanks(client); }
  8. Witam! Zawsze męczę się robiąc muzykę na serwery, ponieważ często wyskakuje błąd o nieprawidłowej częstotliwości czy bitach. Tutaj mam pytanie do Was, jak w łatwy sposób można przerabiać piosenki?
  9. #pragma semicolon 1 #pragma newdecls required #define F3_BUTTON "autobuy" #define F4_BUTTON "rebuy" public void OnPluginStart() { AddCommandListener(MenuOpen); } public Action MenuOpen(int client, const char[] command, int args) { if(!strcmp(F3_BUTTON, command)) { //Funkcję, którą chcesz wywołać return Plugin_Handled; } return Plugin_Continue; } Pamiętaj, że zadziała to tylko, jeśli gracze nie zmieni domyślnych przycisków od sprawdzanych komend.
  10. void MenusOnCommandsCreate(/*void*/) { // Hook commands RegConsoleCmd("zmainmenu", MenusCommandCatched, "Open the main menu."); // Hook listeners AddCommandListener(MenusOnOpen); } /** * Handles the <!zmainmenu> command. Open the main menu. * * @param clientIndex The client index. * @param iArguments The number of arguments that were in the argument string. **/ public Action MenusCommandCatched(const int clientIndex, const int iArguments) { // Open the main menu MenuMain(clientIndex); return Plugin_Handled; } /** * Callback for command listener to open the main menu. * * @param clientIndex The client index. * @param commandMsg Command name, lower case. To get name as typed, use GetCmdArg() and specify argument 0. * @param iArguments Argument count. **/ public Action MenusOnOpen(const int clientIndex, const char[] commandMsg, const int iArguments) { // Gets command alias static char sCommand[SMALL_LINE_LENGTH]; gCvarList[CVAR_GAME_CUSTOM_MENU_BUTTON].GetString(sCommand, sizeof(sCommand)); // Validate command if(!strcmp(sCommand, commandMsg)) { // Open the main menu MenuMain(clientIndex); return Plugin_Handled; } // Allow command return Plugin_Continue; } gCvarList[CVAR_GAME_CUSTOM_MENU_BUTTON] = CreateConVar("zp_game_custom_menu_button", "autobuy", "Bind of the button for the menu open. Look here: https://www.reddit.com/r/GlobalOffensive/comments/36cjph/default_binds/"); gCvarList[CVAR_GAME_CUSTOM_SKILL_BUTTON] = CreateConVar("zp_game_custom_skill_button", "rebuy", "Bind of the button for the skill usage. Look here: https://www.reddit.com/r/GlobalOffensive/comments/36cjph/default_binds/"); gCvarList[CVAR_GAME_CUSTOM_LIGHT_BUTTON] = CreateConVar("zp_game_custom_light_button", "+lookatweapon", "Bind of the button for the flashlight trigger. Look here: https://www.reddit.com/r/GlobalOffensive/comments/36cjph/default_binds/"); Kod pochodzi z https://forums.alliedmods.net/showthread.php?t=290657. Przeanalizuj go i już łatwo dostosujesz do własnego pluginu.
  11. Opis Plugin dodaje nową zakładkę w menu admina, która umożliwia przeniesienie gracza do wybranej drużyny. Plugin Master_Admin_Change_Team.sp
  12. Opis Prosty plugin, który umożliwia sprawdzenie przez konsole lub w grze informacji takich jak: IP, kraj, Steam ID. Komenda sm_playerinfo Plugin Master_Player_IP.sp
×