PaiN kiLLer .! Opublikowano 10 Sierpnia 2013 Fragowicz Opublikowano 10 Sierpnia 2013 Cześć. Znalazłem w necie jak ograniczyć działanie funkcji , X razy w jednej rundzie. Na przykładzie że gracz wpisuje komende i wykonuje sie na nim funkcja i jesli wpisza to inni gracze to funkcja się nie wykona. Jednakże nie rozumiem czy funkcja działa dla wszystkich graczy czy dla konkretnego gracza. #include <amxmodx> new bool: uzyl public plugin_init() { register_plugin("Test", "0.1", "K!113r") register_clcmd("say /test", "cmd_test") register_event("HLTV", "NowaRunda", "a", "1=0", "2=0"); } public cmd_test(id) { if(uzyl) { client_print(id, 3, "Komenda jest juz wpisana i jej nie uzyjesz") } else { client_print(id, 3, "pierwszy wpisales komende w tej rundzie") uzyl = true } } public NowaRunda() { uzyl = false } Wiem ID decydują o tym na kim funkcja ma działać, lecz w tym przypadku niewiem jak to zrobić. Proszę o pomoc :)
Właściciel GET Opublikowano 10 Sierpnia 2013 Właściciel Opublikowano 10 Sierpnia 2013 Dla wszystkich. Jakbyś zmienną globalną dał new bool:uzyl[...], można byłoby zrobić dla każdego z osobna.
PaiN kiLLer .! Opublikowano 10 Sierpnia 2013 Autor Fragowicz Opublikowano 10 Sierpnia 2013 Kiedyś w odpowiedzi napisałęś coś takiego : Tworzysz zmienną globalną z tablicą x elementową. Po wyborze dajesz used[id] = true. Sprawdzasz czy gracz użył. new used[X+1] #define X 32 // liczba slotów serwera, najlepiej tak robić by pamięci pluginowi zbyt dużo nie dawać, bo nie ma czasem takiej potrzeby Do tego jeśli chcesz użyć tego jako start rundy, to koniecznie musisz dodawać różne przedmioty i sprawdzać graczy za pomocą pętli. for(new i = 0; i < max_players; i++) Rozumiem że zmiena gloalna z tablicą x elementowaą. Po wyborze dajesz used[id] = true. Niewiem czy dobrze rozumiem ale w tablicy trzeba dać id po to aby każdy element komórki był dla konkretnego gracza ? i jeśli chodzi jeszcze o pętle FOR to nierozumiem jakie przedmioty :P Prawdopodobnie chodziło o to że na początku każdej rundy resetuje się wartość zmiennej used aby wykonanie funkcji znów było ograniczone :D
Właściciel GET Opublikowano 10 Sierpnia 2013 Właściciel Opublikowano 10 Sierpnia 2013 Zrobiłeś to dobrze, nie ma potrzeby tworzenia tablicy x elementowej. Co do pętli. No po to musiałbyś ją zrobić w evencie startu rundy (nie wliczając z kanapki), bo ten event nie ma "ID" tłumacząc Ci prostym językiem.
PaiN kiLLer .! Opublikowano 10 Sierpnia 2013 Autor Fragowicz Opublikowano 10 Sierpnia 2013 Rozumiem. A czy za pomocą set_task można zrobćfunkcje która potrwa naprzykład 30 sekund ? że przykładowo ustawia graczowi 50 widzialnoośći a po 30 sekundach funkcja się kończy i widzialność jest standardowa. wiem że można zrobić że po 30 sekundach dodaje się wartość widzialność taka jaka zostałą odjęta.
Właściciel GET Opublikowano 10 Sierpnia 2013 Właściciel Opublikowano 10 Sierpnia 2013 set_task można, ale to nie jest pomysł najwyższych lotów. Można inaczej i lepiej, ale mi się nie chce tłumaczyć teraz. Ale w takim pluginie, task nie powinien zaszkodzić.
Właściciel GET Opublikowano 6 Czerwca 2017 Właściciel Opublikowano 6 Czerwca 2017 Wiadomość została wygenerowana automatycznie. Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Rekomendowane odpowiedzi