Brum Brum 3 Napisano 2 Listopada 2018 Opis: Po 60-ciu sekundach od startu mapy włącza się głosowanie na czas trwania mapy.Kod: Spoiler ConVar times[5]; int Time[5]; #define MOD_TAG "\x01\x0B★ \x07[ADEPT-Czas Mapy]\x04 " public Plugin myinfo = { name = "ADEPT --> Czas Mapy", description = "Autorski Plugin StudioADEPT.net", author = "Brum Brum", version = "1.0", url = "http://www.StudioADEPT.net/forum", }; public void OnPluginStart() { times[0] = CreateConVar("sm_firsttimeoption", "10", "Opcja czasowa z głosowania"); times[1] = CreateConVar("sm_secondtimeoption", "15", "Opcja czasowa z głosowania"); times[2] = CreateConVar("sm_thirdtimeoption", "20", "Opcja czasowa z głosowania"); times[3] = CreateConVar("sm_fourtimeoption", "25", "Opcja czasowa z głosowania"); times[4] = CreateConVar("sm_fivetimeoption", "30", "Opcja czasowa z głosowania"); AutoExecConfig(true, "ADEPT_CzasMapy"); } public void OnConfigsExecuted() { for (int i = 0; i < sizeof(times); i++) { Time[i] = times[i].IntValue; } } public void OnMapStart() { CreateTimer(60.0, RetryGlosowanie, _, TIMER_FLAG_NO_MAPCHANGE); } public int Handle_VoteMenu(Menu menu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_End: CloseHandle(menu); case MenuAction_VoteEnd: { int value; switch (param1) { case 0: value = Time[0]; case 1: value = Time[1]; case 2: value = Time[2]; case 3: value = Time[3]; case 4: value = Time[4]; } ServerCommand("mp_timelimit %d", value); PrintToChatAll("%s Ustawiono czas mapy na \x07%d minut!", MOD_TAG, value); } } } public void GlosowanieNaCzasMapy() { if (IsVoteInProgress()) { CreateTimer(5.0, RetryGlosowanie); } Menu menu = new Menu(Handle_VoteMenu); menu.SetTitle("ADEPT -> Czas mapy"); for (int i = 0; i < sizeof(Time); i++) { char buffer[64]; Format(buffer, sizeof(buffer), "%d Minut mapy", Time[i]); menu.AddItem("", buffer); } menu.ExitButton = false; menu.DisplayVoteToAll(20); } public Action RetryGlosowanie(Handle timer) { GlosowanieNaCzasMapy(); return Plugin_Continue; } ADEPT_CzasMapy.spHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Derko Napisano 14 Lutego 2019 Mam takie pytanie dotyczące pluginu, a konkretnie jego zastosowania jak zrobić, aby działał on tylko na 1 mapie oraz jeżeli chcę, aby posiadał on tylko 3 opcje do wyboru 15/20/25min to wystarczy zmienić początek pluginu, a konkretnie usunąć to: Spoiler times[3] = CreateConVar("sm_fourtimeoption", "10", "Opcja czasowa z głosowania"); times[4] = CreateConVar("sm_fivetimeoption", "30", "Opcja czasowa z głosowania"); czy coś dodatkowo trzeba zrobić? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Brum Brum 1 Napisano 14 Lutego 2019 w 34 linijce zmieniasz nazwę mapy i powinno działać Spoiler ConVar times[3]; int Time[3]; #define MOD_TAG "\x01\x0B★ \x07[ADEPT-Czas Mapy]\x04 " public Plugin myinfo = { name = "ADEPT --> Czas Mapy", description = "Autorski Plugin StudioADEPT.net", author = "Brum Brum", version = "1.0", url = "http://www.StudioADEPT.net/forum", }; public void OnPluginStart() { times[0] = CreateConVar("sm_firsttimeoption", "10", "Opcja czasowa z głosowania"); times[1] = CreateConVar("sm_secondtimeoption", "15", "Opcja czasowa z głosowania"); times[2] = CreateConVar("sm_thirdtimeoption", "20", "Opcja czasowa z głosowania"); AutoExecConfig(true, "ADEPT_CzasMapy"); } public void OnConfigsExecuted() { for (int i = 0; i < sizeof(times); i++) { Time[i] = times[i].IntValue; } } public void OnMapStart() { char sMapName[256]; GetCurrentMap(sMapName, sizeof(sMapName)); if (StrEqual(sMapName, "de_dust2", true)) { CreateTimer(60.0, RetryGlosowanie, _, TIMER_FLAG_NO_MAPCHANGE); } } public int Handle_VoteMenu(Menu menu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_End: CloseHandle(menu); case MenuAction_VoteEnd: { int value; switch (param1) { case 0:value = Time[0]; case 1:value = Time[1]; case 2:value = Time[2]; } ServerCommand("mp_timelimit %d", value); PrintToChatAll("%s Ustawiono czas mapy na \x07%d minut!", MOD_TAG, value); } } } public void GlosowanieNaCzasMapy() { if (IsVoteInProgress()) { CreateTimer(5.0, RetryGlosowanie); } Menu menu = new Menu(Handle_VoteMenu); menu.SetTitle("ADEPT -> Czas mapy"); for (int i = 0; i < sizeof(Time); i++) { char buffer[64]; Format(buffer, sizeof(buffer), "%d Minut mapy", Time[i]); menu.AddItem("", buffer); } menu.ExitButton = false; menu.DisplayVoteToAll(20); } public Action RetryGlosowanie(Handle timer) { GlosowanieNaCzasMapy(); return Plugin_Continue; } 4 godziny temu, Derko napisał: Mam takie pytanie dotyczące pluginu, a konkretnie jego zastosowania jak zrobić, aby działał on tylko na 1 mapie oraz jeżeli chcę, aby posiadał on tylko 3 opcje do wyboru 15/20/25min to wystarczy zmienić początek pluginu, a konkretnie usunąć to: Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Ukryj treść times[3] = CreateConVar("sm_fourtimeoption", "10", "Opcja czasowa z głosowania"); times[4] = CreateConVar("sm_fivetimeoption", "30", "Opcja czasowa z głosowania"); czy coś dodatkowo trzeba zrobić? Musiałeś jeszcze zmienić ConVar times[5]; na ConVar times[3]; int Time[5]; na int Time[3]; oraz sprawdzić nazwę mapy czy jest taka jaką potrzebujesz public void OnMapStart() { char sMapName[256]; GetCurrentMap(sMapName, sizeof(sMapName)); if (StrEqual(sMapName, "de_dust2", true)) { CreateTimer(60.0, RetryGlosowanie, _, TIMER_FLAG_NO_MAPCHANGE); } } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach