![](https://mygo.pl/uploads/set_resources_34/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
sebuli
-
Postów
12 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
1
Odpowiedzi opublikowane przez sebuli
-
-
Jest też tak, że nawet jak wywalisz pluginy to motd jest zapisane w plikach .txt, które są w katalogu maps z nazwami takimi jak dana mapa. Jeżeli wciąż to masz to znaczy, że po prostu wczytuje się z plików txt.
-
1
-
-
Ten plugin jest do przebudowania, problem z ekwipunkiem, który wypada na ziemie co rundę da się naprawić, ale trzeba odpowiednich warunków.
-
Ustawiaj je w publicach, to znaczy jak mam to rozumieć na przyszłość? :D
-
Na pewno tak :) ale dzięki temu ja się też uczę, a lubię rozkminiać! Lepiej to zapamiętam po prostu :)
-
naXe, twój plugin zawiera hookowanie śmierci w MapStart, przez to event wykonuje sie po kilka razy w zalezności kiedy ostatni raz był serwer pusty (w hibernacji). U mnie to powodowało np dawanie większej ilości pieniędzy za kill, bo event został wykonywany np. 5 razy (jeśli było 5 zmian mapy od restartu serwera lub odhibernowania).
Wg mnie event powinien być przeniesiony do PluginStart, bo to rozwiązuje problem.
-
Problem zażegnany na 99%. Okazuje się, że dałem hookevent śmierci w MapStart zamiast PluginStart, i przez to gdy gracze są na serwerze i mapa ciągle się zmienia to załóżmy mapa się zmieniła już 5 razy od ostatniej hibernacji serwera (czyli jak serwer pusty), więc event śmierci wykonywał się aż 5 razy. Stąd takie sumy!
Swoją drogą, czasami nie wiem co mogę hookować w MapStart a co w PluginStart, ale zauważyłem, że np PlayerSpawn w MapStart też potrafi wykonać się mnóstwo razy, więc widocznie powinien być w PluginStart.
I wiem, że nie powinienem pisać post pod postem, ale chce żebyście wiedzieli, że coś nowego pojawiło się w mojej kwestii.
-
Ogólnie nie jestem zwolennikiem stosowania samego return jeśli warunek jest spełniony, bo i tak i tak niektóre rzeczy wykonują się po kilka razy wtedy. Lepiej mi już użyć PLUGIN_HANDLED.
Wiecie gdzie był problem? Przynajmniej teraz od wczoraj wszystko działa.
HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
Dodałem tryb na Post i już nie ma problemu. Tak event wykonywał się kilka razy i to nie wina IsValidPlayer, bo to jest w porządku, mega tępy nie jestem żeby w pętli coś gdzieś przepuścić a potem się dziwić, że coś parę razy się wykonuje :D
Także dzięki za pomoc. Jeśli jednak nie uda się z tym co tutaj zaprezentowałem to znowu się odezwę w tym temacie :D
EDIT:
Niestety, problem nadal się pojawia, a kurcze nie ma żadnego pluginu, który ustala kase. Nie ma nic co by tą kasę zmieniało. Po prostu jakiś dziwny bug!
-
Niestety, nie udało się. Plugin dodaje nadal kolosalne wartości za kill. Próbowałem już z return PLUGIN_HANDLED, PLUGIN CONTINUE itd. Wygląda tak jakby event śmierci był wykonywany kilkukrotnie!
-
Witajcie,
czy w SM dla CS: GO można zrobić dla broni wybrany muzzle flash czy sprite? Nigdzie nie ma info na ten temat. Wszystko pisze o CS: S. Mam funkcje która tworzy mi laserbeam, chciałem załadować tam sprite z CSS i niestety nie działał.
Linux' wierzę, że znasz rozwiązanie :D
-
Oki, już poprawione. Czy wiesz może dlaczego tak trzeba, skoro we wszystkich pluginach vipa jest zapis taki jaki ja miałem?
-
Cześć,
mam w pluginie od vipa event, gdzie gracz dostaje za killa +300$, i raz działa poprawnie, a raz daje wygórowane sumy np. równe 3000$ albo 3900$, naprawdę różnie.
Tak wygląda event:
public Action:Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
if(!IsValidPlayer(attacker) || attacker == GetClientOfUserId(GetEventInt(event, "userid"))) return;
new max = 16000;
new account = GetEntProp(attacker, Prop_Send, "m_iAccount");
account += 300;
if(account < max)
SetEntProp(attacker, Prop_Send, "m_iAccount", account);
else
SetEntProp(attacker, Prop_Send, "m_iAccount", max);PrintHintText(attacker, "[VIP] Otrzymłeś +300$ za killa.");
}Nie wiem jak go wstawić w znacznik code, może ktoś podpowie.
Rozdzielenie rozmow
w Pytania ogólne
Opublikowano
Raczej sv_alltalk na 1 co? :D alltalk = wszyscy rozmawiaja, 0 wylaczone, 1 wlaczone