camerdisco
-
Postów
219 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
13
Odpowiedzi opublikowane przez camerdisco
-
-
Zapętlasz to poprzez kolejny powtarzający się Timer. Obniżanie zrobisz po prostu poprzez np. czas[client]--; - gdzie czas to nazwa zmiennej z czasem.
- 1
-
Tworzysz globalny int/float z czasem, przy starcie umiejętności tworzysz powtarzający się co sekundę timer, który przed obniżał o 1 sekundę tą globalną zmienną, a w Princie będziesz po prostu wyświetlał tą globalną zmienną.
-
-
Podany przez Ciebie czas to czas unixowy, aby wyprowadzić z niego normalny czas musisz użyć owej funkcji: https://sm.alliedmods.net/new-api/sourcemod/FormatTime
btw. Pisałem wcześniej o pobieraniu danych z MySQLa, gdyż nie do końca zrozumiałem twojego problemu, uważałem że chcesz przy każdym wejściu gracza na serwer pobierać jego czas bana jeśli owy jest i wyświetlać mu to, jeśli jednak chcesz pokazać to jedynie przy nadaniu bana to faktycznie musisz edytować tylko kilka linijek.
-
Jeśli sam mastah nie udostępni Ci kodu, to ktoś będzie musiał to wykonać, raczej nie za darmo, jeśli chciałbyś sam wykonać to, to polecam na początku podstawy mysqla + czytanie pluginów obsługujących mysqla, przeanalizuj sobie również sam plugin od sourcebansów.
-
Najzwyczajniej "fetchujesz" dane z sqla.
-
https://sm.alliedmods.net/new-api/console/RegConsoleCmd
Jak widzisz ten argument to:
ConCmd callback
A function to use as a callback for when the command is invoked.
Jeśli coś ma callback to ten callback musi zostać utworzony w pluginie, w tym przypadku będzie to:
public Action cmd_admini(int client, int args) { //funkcja }
- 2
-
CS:GO SDK->Hammer->File->New->Tools->Sound browser
-
Udostępnianie komuś token api nie jest zbyt bezpieczne, ew. można go zmienić po transakcji.
-
Masz na myśli, że:
- Co ~2 minuty będzie sprawdzać czy stream jest włączony, jeśli tak to wysyła na serwerze informację do wszystkich o streamie?
Obecnie niczego takiego publicznego nie ma(mogę się zawsze mylić, ale wątpię), ale za drobną opłatą byłbym skłonny napisać coś takiego bez problemu.
-
Nie wiem czy nadawałeś chmody:
chmod -R 755 /home/serwer
-
Tak, ale błąd wskazuje, że nie ma tego pliku w katalogu /linux32, sugeruję pobrać jeszcze raz steamcmd, ew. wejdź do linux32 i pokaż tam output z ls -lah
-
-
Ale przecież to nie ma najmniejszego sensu, wszystko jest dostępne w internecie, to będzie na zasadzie - wynalezienie koła po raz drugi.
-
Cóż, z chęcią udowodniłbym Ci że się da, ale po co tracić czas, na coś co już istnieje i pisać to od 0?(Przy okazji pewnie większość funkcji ktoś zaczerpnąłby z istniejącego już).
Podpisuję się pod @Qesik, wszystko to co zostało wymienione jest dostępne w internecie pod pierwszymi wynikami w googlu.
Podsumowując, to co wymieniłeś nie stworzy unikalnego serwera JB.
-
Napisał to sam asherkin czyli obecnie jeden z głównych devów SMa, także śmiem mu wierzyć :P Ale tak naprawdę to jest to kwestia do przetestowania, jak ktoś ma tyle wolnego czasu i chciałby :D Tak naprawdę to są takie standardy kodowania jak w phpie standardy PSR i np. ja po prostu będę się ich trzymał.
-
#define LoopAllPlayers(%1) for(int %1=1;%1<=MaxClients;++%1)\ if(IsClientInGame(%1) && !IsFakeClient(%1)) stock int GetUserFromAuthID(int authid) { LoopAllPlayers(i) { char authstring[50]; GetClientAuthId(i, AuthId_Steam3, authstring, sizeof(authstring)); char authstring2[50]; IntToString(authid, authstring2, sizeof(authstring2)); if(StrContains(authstring, authstring2) != -1) { return i; } } return -1; }
Wracając do waszego tematu, w temacie który podałem w 2 ostatnich postach widać o co z tym chodzi, zwiększyli faktycznie do 65, ale:
That was for 64 players + SourceTV, you still need to +1 for client index arrays.
Można powiedzieć, że MAXPLAYERS+1 przyjęło się za pewien standard i po prostu i tak każdy go stosuje, poza tym zawsze lepiej mieć pewność w działaniu skryptu.
- 1
-
Tutaj masz to wyjaśnione: https://forums.alliedmods.net/showthread.php?t=169765
-
19 minut temu, GoldeneK napisał:
Możesz zedytowac toga żeby nadawało tag po x sekundach a to co napisał bonio sprawdzać onclientputinserver
Z tego co pamiętam to clantag ustawia się dopiero po 1 spawnie gracza, także nie przejdzie to.
-
Najszybszym i najlepszym sposobem jest użycie steamworks, a konkretniej natywu
SteamWorks_GetUserGroupStatus
Gotowego rozwiązania Ci nie pokazuje, ale zostaje Ci sprawdzenie argumentów tej funkcji i utworzenie callbacka, w którym przestawisz jakiegoś boola, jeśli gracz jest w grupie.
- 1
-
-
-
public cod_class_enabled(client) { ma_klase[client] = false; ilosc_min_gracza[client] = 3; if(GetUserFlagBits(client) & ADMFLAG_RESERVATION) { ma_klase[client] = true; return COD_CONTINUE; } PrintToChat(client, "%s Klasa dostępna tylko dla posiadaczy VIP", PREFIX); return COD_STOP; }
-
Taki sposób był może i dobry, ale 5 lat temu.
Po to powstają takie rzeczy jak SCP, gdzie do dyspozycji masz forward, który może być wielokrotnie używany i może posłużyć do wielu rzeczy, przy powyższym przykładzie ustawi się TAG, ale jakby ktoś w przyszłości dodać prefix z np. lvlem z coda bądź cokolwiek to będzie zmuszony do grzebania w tym. Kolejna rzecz to prostota, użycie forwardu jest dużo prostsze niż hookowanie komend etc.
Co kto lubi ;)
Timer PrintHintText
w Pytania ogólne
Opublikowano · Edytowane przez camerdisco
Nie testowałem, ale powinno działać i powinieneś mniej więcej zauważyć mechanikę działania: