camerdisco
Użytkownik-
Postów
219 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
13
Treść opublikowana przez camerdisco
-
Nie testowałem, ale powinno działać i powinieneś mniej więcej zauważyć mechanikę działania: #include <sourcemod> int gTime[MAXPLAYERS + 1]; Handle gCounting[MAXPLAYERS + 1]; Handle gInfo[MAXPLAYERS + 1]; public void OnPluginStart() { RegConsoleCmd("sm_testinfo", Test); } public Action Test(int client, int args) { gTime[client] = 15; gInfo[client] = CreateTimer(0.1, ShowInfo, GetClientUserId(client), TIMER_REPEAT); gCounting[client] = CreateTimer(1.0, Count, GetClientUserId(client), TIMER_REPEAT); } public Action ShowInfo(Handle timer, any userid) { int client = GetClientOfUserId(userid); if (!IsClientInGame(client))return Plugin_Stop; if (gTime[client] <= 0)return Plugin_Stop; PrintHintText(client, "Zostało Ci %i sekund", gTime[client]); return Plugin_Continue; } public Action Count(Handle timer, any userid) { int client = GetClientOfUserId(userid); if (!IsClientInGame(client))return Plugin_Stop; gTime[client]--; return Plugin_Continue; }
- 11 odpowiedzi
-
- 1
-
- Timer
- PrintHintText
-
(i 2 więcej)
Oznaczone tagami:
-
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.
- 11 odpowiedzi
-
- 1
-
- Timer
- PrintHintText
-
(i 2 więcej)
Oznaczone tagami:
-
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ą.
- 11 odpowiedzi
-
- Timer
- PrintHintText
-
(i 2 więcej)
Oznaczone tagami:
-
http://cplusplus.com/reference/clibrary/ctime/strftime.html
-
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 }
-
CS:GO SDK->Hammer->File->New->Tools->Sound browser
-
SPRZEDAM Sprzedam tokeny na stronie csgotokens.com
camerdisco odpowiedział(a) na krzys1540 temat w Archiwum
Udostępnianie komuś token api nie jest zbyt bezpieczne, ew. można go zmienić po transakcji. -
Poszukiwanie pluginu na alerty o streamie
camerdisco odpowiedział(a) na Papa Schlumpf temat w Prośby o napisanie pluginu
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.- 1 odpowiedź
-
ROZWIĄZANE Problem - Z odpalenie steamcmd.sh na Debianie
camerdisco odpowiedział(a) na
Husarztemat w ProblemyNie wiem czy nadawałeś chmody: chmod -R 755 /home/serwer -
ROZWIĄZANE Problem - Z odpalenie steamcmd.sh na Debianie
camerdisco odpowiedział(a) na
Husarztemat w ProblemyTak, 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 -
ROZWIĄZANE Prosty plugin na statystyki.
camerdisco odpowiedział(a) na VestSmart temat w Pytania ogólne
https://forums.alliedmods.net/showthread.php?p=2533212 -
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.
-
Tutaj masz to wyjaśnione: https://forums.alliedmods.net/showthread.php?t=169765
-
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.
-
@T1LT3D nie bardzo, można mu nadać ilość min, ale cod_class_skill_used(client) użycie skilla się nie wywoła z tej klasy i tak.
-
Bez różnicy, chyba że jesteś turbo-oszczędzaczem kodu.
-
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; }
-
Kolory dla administracji serwera
camerdisco odpowiedział(a) na keepcalm temat w Prośby o napisanie pluginu
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 ;)- 4 odpowiedzi
-
- Kolory
- administracji
-
(i 1 więcej)
Oznaczone tagami: