Skocz do zawartości

MAGNET

Administrator
  • Liczba zawartości

    564
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    108

Ostatnia wygrana MAGNET w dniu 26 Września

Użytkownicy przyznają MAGNET punkty reputacji!

Reputacja

607 Profesjonalista

11 obserwujących

O MAGNET

  • Urodziny 05.01.1997

Ostatnie wizyty

2611 wyświetleń profilu
  1. ¯\_(ツ)_/¯ kiepska pomoc z mojej strony, ale w sumie nie wiem dlaczego to sie tak dubluje, zwłaszacza że poprawnie zwracasz Plugin_Handled; a co, jeśli użyjesz jakiejś komendy (np. !admin, !razdwatrzy) w teamowym czacie? Teoretycznie wiadomość też powinna się pojawić
  2. Istnieje szansa, że masz wgrane dwa pluginy, które nadpisują czat
  3. Mega robota, na pewno przyda się wielu osobom. Sam się z tym męczyłem i gdybym zdał sobie sprawę, że inni też mogą mieć z tym problem, pewnie postąpiłbym podobnie Good job :)
  4. Kto pierwszy ten lepszy 🙂 Przesyłam paczke RoundSoundów w klimatach techno, trans etc. Liczę, że przypadnie Wam do gustu Liczba utworów: 22 Dłgość: 10 sekund każdy Wyciszenie na końcu: tak Rozmiar: ~250kB na utwór 1. Infected Mushroom - Demons Of Pain (Kova, Impact Groove Remix) 2. Infected Mushroom - Bliss on Mushrooms 3. Rossi. - Dub Inventions - A1 (Original Mix) 4. Ours Samplus - Blue Bird 5. Gramatik - Muy tranquilo (DJ Vitamin D re-edit) 6-7. Infected Mushroom - Guitarmass 8. Infected Mushroom - The Pretender 9-10. In Out - Vini Vici Emok Martin Vice Off Limits 11. Dj Goja - Go 12-13. PSY-TRANCE GTA - Red Lips 14-16. Vok - Waterfall (Neelix Remix) 17-22. New Year Mix 2020 FEELING TRANCE Psytrance Mix 2020 MAGNET RoundSound.zip
  5. // 0. Wstęp, co będziemy robić // 1. Skierować do poradnika o bitach // 2. Pokazać zmienną jako liczbę binarną i drobne przeliczenie // 3. Flagi admina - jako abcdef.... i jako zmienna #include <sourcemod> #include <multicolors> #define TAG "{purple}[Admin]{default}" char flagNames[][] = { "[a] Rezerwacja slota", "[b] Flaga ogólna dla adminów", "[c] Kick", "[d] Ban", "[e] Unban", "[f] Slay", "[g] Zmiana mapy", "[h] ConVar", "[i] Config", "[j] Chat", "[k] Vote", "[l] Password", "[m] RCON", "[n] sv_cheats", "[z] root", "[o] ADMIN_CUSTOM1", "[p] ADMIN_CUSTOM2", "[q] ADMIN_CUSTOM3", "[r] ADMIN_CUSTOM4", "[s] ADMIN_CUSTOM5", "[t] ADMIN_CUSTOM6" }; char flagCharacter[] = "abcdefghijklmnzopqrst"; int flagsToSet; int playerToSet; public void OnPluginStart() { RegConsoleCmd("sm_addadmin", AddAdminCmd); } public Action AddAdminCmd(int client, int args) { AddAdmin(client); flagsToSet = 0; } void AddAdmin(int client) { Menu menu = new Menu(AddAdmin_Handler); char buffer[512]; char optionBuffer[8]; menu.SetTitle("Wybierz gracza:"); for (int i = 1; i < MAXPLAYERS; i++) { if (!IsClientInGame(i) || IsFakeClient(i) || IsClientSourceTV(i)) continue; Format(buffer, sizeof(buffer), "%N", i); Format(optionBuffer, sizeof(optionBuffer), "%d", GetClientUserId(i)); menu.AddItem(optionBuffer, buffer); } menu.Display(client, MENU_TIME_FOREVER); } public int AddAdmin_Handler(Menu menu, MenuAction action, int client, int item) { if (action == MenuAction_Select) { char InfoBuffer[8]; menu.GetItem(item, InfoBuffer, sizeof(InfoBuffer)); playerToSet = StringToInt(InfoBuffer); if (!GetClientOfUserId(playerToSet)) { CPrintToChat(client, "%s Gracz wyszedł z gry...", TAG); AddAdmin(client); return 0; } ChooseFlags(client); } else if (action == MenuAction_End) delete menu; return 0; } void ChooseFlags(int client, int showAt = 0) { int target = GetClientOfUserId(playerToSet); if (!target) { CPrintToChat(client, "%s Gracz wyszedł z gry...", TAG); return; } Menu menu = new Menu(ChooseFlags_Handler); char buffer[1024]; Format(buffer, sizeof(buffer), "Flagi, które mają zostać przydzielone graczowi: %N", target); menu.SetTitle(buffer); menu.AddItem("", "Zatwierdź", flagsToSet ? ITEMDRAW_DEFAULT : ITEMDRAW_DISABLED); for (int i = 0; i < sizeof(flagNames); i++) { Format(buffer, sizeof(buffer), "%s%s", (flagsToSet & (1 << i)) ? "[X]" : "", flagNames[i]); menu.AddItem("", buffer); } menu.DisplayAt(client, showAt, MENU_TIME_FOREVER); } public int ChooseFlags_Handler(Menu menu, MenuAction action, int client, int item) { if (action == MenuAction_Select) { if (item == 0) { WriteAdminToFile(client); } else { flagsToSet ^= (1 << (item - 1)); ChooseFlags(client, menu.Selection); } } else if (action == MenuAction_End) delete menu; } void WriteAdminToFile(int client) { int target = GetClientOfUserId(playerToSet); if (!target) { CPrintToChat(client, "%s Gracz wyszedł z gry...", TAG); return; } SetUserFlagBits(target, GetUserFlagBits(target)|flagsToSet); char steamIdBuffer[64]; GetClientAuthId(target, AuthId_Steam2, steamIdBuffer, sizeof(steamIdBuffer)); char flagsBuffer[32]; BuildFlagString(flagsToSet, flagsBuffer, sizeof(flagsBuffer)); char buffer[1024]; Format(buffer, sizeof(buffer), "\"%s\" \"%s\"", steamIdBuffer, flagsBuffer); char path[PLATFORM_MAX_PATH]; BuildPath(Path_SM, path, PLATFORM_MAX_PATH, "configs/admins_simple.ini"); File f = OpenFile(path, "a"); f.WriteLine(buffer); delete f; CPrintToChat(client, "%s Użytkownik dodany prawidłowo", TAG); } void BuildFlagString(int flags, char[] buffer, int size) { Format(buffer, size, ""); for (int i = 0; i < sizeof(flagCharacter); i++) { if (flags & (1 << i)) Format(buffer, size, "%s%c", buffer, flagCharacter[i]); } }
  6. Wiadomość wygenerowana automatycznie ✔ Problem został rozwiązany Jeżeli się z tym nie zgadzasz, raportuj ten post
  7. Dużo zależy od tego, w jaki sposób serwer jest stworzony. Jeśli nie ma na nim skoków VARu, rozgrywka jest ciekawa a ludzie mili - szanse na zarobek się zwiększają. Aby móc zarabiać na serwerze potrzebujesz usługę, którą gracze będą mogli kupić. Na zwykłych serwerach najczęściej jest to VIP, który daje bonusy - stare jak odgrzewany kotlet (HP, granaty, bronie etc.). Można również wyposażyć serwer w visuale typu aura, traile...czyli słowem zephyrus store lub inne, podobne rozwiązanie. Dużo zależy też od moda - z doświadczenia wiem, że rozkręcanie znanych trybów (jak dd2, mirage, arenki) będzie prostsze niż własne, "pionierskie" projekty. Co do samego rozkręcania, to nigdy nie wychodziło mi to zbyt dobrze, więc może tutaj ktoś inny się wypowie
  8. Wiadomość wygenerowana automatycznie ✘ Temat łamie regulamin Jeżeli się z tym nie zgadzasz, raportuj ten post
  9. Opis Plugin losuje VIPa co mapę, kiedy na serwerze jest przynajmniej 6 (można zmienić) osób, w tym 3 bez VIPa Instalacja Jeśli potrzebujesz, edytuj: #define TAG "{purple}[FREE VIP]{default}" // tag na czacie #define MIN_PLAYERS_TOTAL 6 // liczba graczy, przy której losowanie się rozpocznie #define MIN_PLAYERS_NON_VIPS 3 // liczba graczy bez VIPa, przy której losowanie się rozpocznie #define VIP_FLAG ADMFLAG_CUSTOM1 // flaga, która zostanie przydzielona zwycięzcy (domyślnie "o") Kod skompiluj i wrzuć do addons/sourcemod/plugins VipWinner.mp3 wrzuć do sound/FreeVIP (folder trzeba stworzyć ręcznie) VipWinner.mp3 random_vip.sp
  10. https://imgur.com/a/EL1LRvG (prezentacja Menu) Plugin pozwala na ustawianie ciekawych efektów wizualnych, zdobiących głowę i stopy (jak pokazano na gifach) - 57 efektów głowy - 44 efekty stóp - możliwość ustawienia widoku trzecioosobowego z poziomu menu Instalacja - Pobierz załącznik i wgraj na serwer - do addons/sourcemod/configs/databases.cfg dodaj następującą konfigurację: "unusual" { "driver" "sqlite" "database" "unusual-effects" } Domyślnie plugin jest dostępny jedynie dla graczy z flagą o, jednak można to edytować w pliku cfg Komendy !ue - otwiera menu modyfikacji Download ue.zip Źródło
  11. Wiadomość wygenerowana automatycznie ✔ Problem został rozwiązany Jeżeli się z tym nie zgadzasz, raportuj ten post
×
×
  • Dodaj nową pozycję...