j1gg Napisano 18 Czerwca 2019 Witam, szukam pluginu na losowanie vipa na mapę tak aby nie dostawał go gotv. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 18 Czerwca 2019 Pokaż kod obecnego pluginu, wystarczy w nim dodać validacje Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
j1gg Napisano 18 Czerwca 2019 #include <sourcemod> public Plugin:myinfo = { name = "LosowyVip", author = "Hanys", description = "Plugin losuje losowa osobe ktora otrzyma flage", version = "1.0", url = "http://hanys.dispark.pl" } new Handle:Random_round; new Handle:Random_player; new Rounds = 0; public OnPluginStart() { CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD); Random_round = CreateConVar("random_round", "0", "W ktorej rundzie ma losowac losowego vip'a (Uwaga: Rozgrzewka liczona jest jako 1 runda!) 0:Losowy vip wylaczony", FCVAR_NOTIFY); Random_player = CreateConVar("random_player", "0", "Ile osob wymaganych jest do wylosowania losowego vip'a", FCVAR_NOTIFY); AutoExecConfig(true, "sm_vip_random"); HookEvent("round_start", Event_RoundStart); HookEvent("cs_win_panel_match", RestartRound); } public Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast) { new winner = GetRandomPlayer(3); new g_random_round = GetConVarInt(Random_round); Rounds = Rounds + 1; if (Rounds == g_random_round) { if (winner == -1) { PrintToChatAll("\x04[\x04VIP\x01] \x06Na serwerze znajduje sie za malo graczy do wylosowania losowego VIP'a\x01"); } AddUserFlags(winner, Admin_Reservation); AddUserFlags(winner, Admin_Custom1); PrintToChatAll("[\x04VIP\x01] \x06Trwa losowanie VIP'a...\x01"); PrintToChatAll("[\x04VIP\x01] \x06-----\x01"); PrintToChatAll("[\x04VIP\x01] \x06-----\x01"); PrintToChatAll("[\x04VIP\x01] \x06-----\x01"); PrintToChatAll("[\x04VIP\x01] \x06Losowym VIP'em zostaje \x02%N\x01\x06! Gratulujemy!\x01", winner); } } public Action:RestartRound(Handle:event, const String:name[], bool:dontBroadcast) { Rounds = 0; } stock GetRandomPlayer(team) { new g_random_player = GetConVarInt(Random_player); new clients[MaxClients + 1], clientCount; for (new i = 1; i <= MaxClients; i++) if (IsClientInGame(i)) clients[clientCount++] = i; if (clientCount <= g_random_player) return -1; return clients[GetRandomInt(0, clientCount - 1)]; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 18 Czerwca 2019 (edytowane) Zamiast if (IsClientInGame(i) daj if (IsClientInGame(i) && !IsFakeClient(i)) Edytowane 18 Czerwca 2019 przez szogun Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
j1gg Napisano 14 Listopada 2019 W dniu 18.06.2019 o 17:38, szogun napisał: Zamiast if (IsClientInGame(i) daj if (IsClientInGame(i) && !IsFakeClient(i)) // losvip.sp(18) : warning 234: symbol "FCVAR_PLUGIN" is marked as deprecated: No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk. // // // losvip.sp(70) : error 001: expected token: ")", but found "´" // losvip.sp(70) : error 029: invalid expression, assumed zero // losvip.sp(70) : error 029: invalid expression, assumed zero // losvip.sp(70) : fatal error 190: too many error messages on one line // // Compilation aborted. // 4 Errors. // // Compilation Time: 0,36 sec Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Brum Brum Napisano 14 Listopada 2019 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach