Skocz do zawartości

[KOSZ] Gracz uzyl


Rekomendowane odpowiedzi

Opublikowano

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 :)

Opublikowano

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
Opublikowano

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.

Opublikowano

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
Opublikowano

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ć.

  • 3 lata później...
  • Właściciel
Opublikowano

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.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności