Sqower
-
Postów
245 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Odpowiedzi opublikowane przez Sqower
-
-
-
@Qes zrobi wszystko od a-z polecam
- 2
-
Tak jak osoby wyżej polecam @Qes
- 1
-
-
Polecam +
-
-
Prawdopodobnie trzeba przekonwertować mapy na HDR
-
Z tego co mi wiadomo liveserver ma blokadę na boty napisz do nich
-
Oj nie chcecie XD
- 1
- 1
-
Również polecam
- 1
-
Łap
#define IsValidAlive(%1) ( 1 <= %1 <= MaxClients && IsClientInGame(%1) && IsPlayerAlive(%1) ) public OnPluginStart() { RegConsoleCmd("sm_skill", CMD_SKILL, "Skill"); } public Action CMD_SKILL(int client, int args) { if(IsValidAlive(client)) { SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.4); CreateTimer(7.0, TIMER_SKILL, GetClientUserId(client)); } } public Action TIMER_SKILL(Handle hTimer, int userid) { int client = GetClientOfUserId(userid); if(IsValidAlive(client)) { SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.0); } }
- 2
-
Mogę zobaczyć co jest w ze ? spis pluginow
-
Pogchamp
-
Polecam, chłop robi nawet takie rzeczy jakie ja wymyśle pog
- 1
-
Co jest takiego unikalnego na tym JB czego nie ma w tej paczce ?
-
-
Szybko krótko i na temat , Polecam
- 1
-
Priv ?
-
40 minut temu, BuBeK | HellZone.pl napisał:
sm version SourceMod Version Information: SourceMod Version: 1.11.0.6524 SourcePawn Engine: 1.11.0.6524, jit-x86 (build 1.11.0.6524) SourcePawn API: v1 = 5, v2 = 12 Compiled on: Apr 14 2020 09:52:33 Built from: https://github.com/alliedmodders/sourcemod/commit/2546207 Build ID: 6524:2546207 http://www.sourcemod.net/
Nie sm version tylko samo version
-
2 godziny temu, BuBeK | HellZone.pl napisał:
O kurde dzięki za radę... Nie działa jakiś następny pomysł?
O kurde , no to jak byś chciał wiedzieć to właśnie mi to naprawiło jaka masz wersje wpisz w konsoli serwer
-
A nie pomyliłeś się może linux z windowsem przy instalowaniu pacha ?
- 1
-
Zaktualizuj serwer
-
18 godzin temu, KrecikWSourceModzie napisał:
Witam jestem aktualnie w pisaniu plg na wojny gangów (jeżeli ktoś nie wie na czym to polega to że tt jest przydzielane losowo do drużyn a dokładniej 4 [oznaczeni są kolorami]) i brakuje mi części kodu która odpowiadałaby za to że np zielony nie może bić zielonego . byłbym wdzięczny jakby ktoś chciał pomóc ?
Spoiler#include <sourcemod> #include <sdkhooks> #include <sdktools> #include <cstrike> #include <csgocolors> #define MENU_TIME_LENGTH 15 #pragma newdecls required public Plugin myinfo = { name = "Wojny Gangów", author = "CamerDisco", description = "Wojny Gangów", version = "1.1", url = "https://max-play.pl" }; char Entities[][] = {"func_door", "func_door_rotating"}; bool Open = false; bool wiad = true; bool zabawaon = false; bool wystartowalo = false; bool jestok = false; bool wgangu1[MAXPLAYERS +1]; bool wgangu2[MAXPLAYERS +1]; float g_fDistance; Handle sprawdzajj = INVALID_HANDLE; Handle round_timer = INVALID_HANDLE; Handle wiadomoscc = INVALID_HANDLE; Handle pokazz = INVALID_HANDLE; int gI_Time; int g_iFilteredEntity = -1; int g_WeaponParent; ConVar g_Cvar_Distance; public void OnPluginStart() { RegConsoleCmd("sm_gangi", gangi); //RegConsoleCmd("sm_team1", tm1); //RegConsoleCmd("sm_team2", tm2); g_WeaponParent = FindSendPropOffs("CBaseCombatWeapon", "m_hOwnerEntity"); HookEvent("round_start", Event_RoundStart); HookEvent("round_end", Event_RoundEnd); HookEvent("player_death", Event_PlayerDeath); g_Cvar_Distance = CreateConVar("sm_aimnames_distance", "100.0", "(Default: 100) Distance in meters for showing aim names."); g_fDistance = g_Cvar_Distance.FloatValue; } public Action Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast) { int victim = GetClientOfUserId(GetEventInt(event, "userid")); if(wgangu1[victim]) wgangu1[victim] = false; if(wgangu2[victim]) wgangu2[victim] = false; } public Action gangi(int client, int args) { if(GetClientTeam(client) == CS_TEAM_CT || GetUserFlagBits(client) & ADMFLAG_ROOT || GetUserFlagBits(client) & ADMFLAG_GENERIC) { glowne(client); } else { CPrintToChat(client, "{GREEN}[Wojny Gangów]{NORMAL} Tylko {BLUE}CT{NORMAL} może włączać tą zabawę!"); } } public void OnClientPutInServer(int client) { SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage); } public void OnClientDisconnect(int client) { SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage); } public void glowne(int client) { Handle menu = CreateMenu(MenuHandler_WYB); SetMenuTitle(menu, "Zabawa Wojny Gangów:"); if(!zabawaon) { AddMenuItem(menu, "on", "Włącz zabawę"); } AddMenuItem(menu, "off", "Wyłącz zabawę"); if(!wystartowalo && zabawaon) { AddMenuItem(menu, "team1", "Wybierz osobę do gangu czerw."); AddMenuItem(menu, "team2", "Wybierz osobę do gangu ziel."); AddMenuItem(menu, "team3", "Usuń osobę z gangu czerw."); AddMenuItem(menu, "team4", "Usuń osobę z gangu ziel."); AddMenuItem(menu, "ust", "Ustawiłem"); } DisplayMenu(menu, client, MENU_TIME_LENGTH); } public bool IsValidClient(int client) { if(client >= 1 && client <= MaxClients && IsClientInGame(client) && IsClientConnected(client) && IsPlayerAlive(client)) return true; return false; } public int MenuHandler_WYB(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_Select) { int client = param1; char info[32]; GetMenuItem(menu, param2, info, sizeof(info)); if (StrEqual(info, "on")) { for (int client2 = 1; client2<= MaxClients; client2++) { if(IsValidClient(client2)) { pokazz = CreateTimer(0.1, pokaz, client2, TIMER_REPEAT); } } zabawaon = true; CPrintToChatAll("{GREEN}[Wojny Gangów]{NORMAL} Wojna gangów została włączona przez {RED}%N", client); CPrintToChatAll("{GREEN}[Wojny Gangów]{NORMAL} Otwieram cele..."); opencells(); CPrintToChatAll("{GREEN}[Wojny Gangów]{NORMAL} Czekamy na wybranie drużyn przez {RED}prowadzącego."); wiadomoscc = CreateTimer(1.0, wiadomosc, _, TIMER_REPEAT); OpenTeam1Menu(client); } if (StrEqual(info, "off")) { CPrintToChatAll("{GREEN}[Wojny Gangów]{NORMAL} Wojna gangów została wyłączona przez {RED}%N", client); zabawaon = false; for (int i = 1; i <= MaxClients; i++) { if(IsValidClient(i)) { SetEntityRenderColor(i, 255, 255, 255, 255); } } zabawaon = false; Zabij(wiadomoscc); Zabij(pokazz); } if (StrEqual(info, "team1")) { if(!wystartowalo) { OpenTeam1Menu(client); } else { CPrintToChat(client, "{GREEN}[Wojna Gangów]{NORMAL} Za późno, drużyny zostały już wybrane i czekamy na rozpoczęcie zabawy!"); } } if (StrEqual(info, "team2")) { if(!wystartowalo) { OpenTeam2Menu(client); } else { CPrintToChat(client, "{GREEN}[Wojna Gangów]{NORMAL} Za późno, drużyny zostały już wybrane i czekamy na rozpoczęcie zabawy!") } } if (StrEqual(info, "team3")) { if(!wystartowalo) { OpenDelMenu(client); } else { CPrintToChat(client, "{GREEN}[Wojna Gangów]{NORMAL} Za późno, drużyny zostały już wybrane i czekamy na rozpoczęcie zabawy!") } } if (StrEqual(info, "team4")) { if(!wystartowalo) { OpenDel2Menu(client); } else { CPrintToChat(client, "{GREEN}[Wojna Gangów]{NORMAL} Za późno, drużyny zostały już wybrane i czekamy na rozpoczęcie zabawy!") } } if (StrEqual(info, "ust")) { if(!wystartowalo) { int count = 0; for(int i = 1; i <= MaxClients; i++) { if(IsValidClient(i) && wgangu1[i] == true || wgangu2[i] == true) { count++; } } if(count == 0) { jestok = false; } else { jestok = true; } if(jestok) { Zabij(wiadomoscc); wiad = true; round_timer = CreateTimer(1.0, counting, _, TIMER_REPEAT); wystartowalo = true; CreateTimer(31.0, zrup); CreateTimer(30.0, wlaczff); CPrintToChatAll("{GREEN}[Wojny Gangów]{NORMAL} Jesteście już podzieleni, rozdzielcie się i ustalcie swoją kryjówkę!"); for(int i = 1; i<=MaxClients; i++) { if(IsValidClient(client)) { DajBronie(i); } } } else { CPrintToChat(client, "{GREEN}[Wojny Gangów]{NORMAL} Potrzeba conajmniej {RED}1 gracza{NORMAL} w którymś z gangów!"); } } else { CPrintToChat(client, "{GREEN}[Wojna Gangów]{NORMAL} Wojna już została ustawiona wcześniej!"); } } } else if (action == MenuAction_End) { CloseHandle(menu); } } public Action zrup(Handle timer) { sprawdzajj = CreateTimer(2.0, sprawdzaj, _, TIMER_REPEAT); } public Action sprawdzaj(Handle hTimer) { int count_tt_alive_client; int iTTClient = 1; while (iTTClient <= MaxClients) { if (IsClientInGame(iTTClient) && IsPlayerAlive(iTTClient) && IsValidClient(iTTClient) && GetClientTeam(iTTClient) == 2 && wgangu2[iTTClient]==true) { count_tt_alive_client += 1; } iTTClient++; } int count_tt2_alive_client; int iTTClient2 = 1; while (iTTClient2 <= MaxClients) { if (IsClientInGame(iTTClient2) && IsPlayerAlive(iTTClient2) && IsValidClient(iTTClient2) && GetClientTeam(iTTClient2) == 2 && wgangu1[iTTClient2]==true) { count_tt2_alive_client += 1; } iTTClient2++; } if (count_tt_alive_client < 1) { Zabij(sprawdzajj); Zabij(pokazz); CPrintToChatAll("{GREEN}[Wojna Gangów]{NORMAL} Gang {LIGHTGREEN}zielonych{NORMAL} został rozbity! Kończymy {BLUE}zabawę!"); zabawaon = false; wystartowalo = false; ServerCommand("mp_teammates_are_enemies 0"); for(int i = 1;i<=MaxClients;i++) { if(IsValidClient(i) && GetClientTeam(i) == CS_TEAM_T) { SetEntityRenderMode(i, RENDER_TRANSCOLOR); SetEntityRenderColor(i, 255, 255, 255, 255); disarm(i); wgangu1[i] = false; wgangu2[i] = false; } } int maxent = GetMaxEntities(); char weapon[64]; for (int i=GetMaxClients(); i<maxent; i++) { if ( IsValidEdict(i) && IsValidEntity(i) ) { GetEdictClassname(i, weapon, sizeof(weapon)); if ( ( StrContains(weapon, "weapon_") != -1 || StrContains(weapon, "item_") != -1 ) && GetEntDataEnt2(i, g_WeaponParent) == -1 ) RemoveEdict(i); } } if (pokazz != INVALID_HANDLE) { CloseHandle(pokazz); pokazz = INVALID_HANDLE; } Zabij(round_timer); } else if (count_tt2_alive_client < 1) { Zabij(sprawdzajj); Zabij(pokazz); CPrintToChatAll("{GREEN}[Wojna Gangów]{NORMAL} Gang {RED}czerwonych{NORMAL} został rozbity! Kończymy {BLUE}zabawę!"); zabawaon = false; wystartowalo = false; ServerCommand("mp_teammates_are_enemies 0"); for(int i = 1;i<=MaxClients;i++) { if(IsValidClient(i) && GetClientTeam(i) == CS_TEAM_T) { SetEntityRenderMode(i, RENDER_TRANSCOLOR); SetEntityRenderColor(i, 255, 255, 255, 255); disarm(i); wgangu1[i] = false; wgangu2[i] = false; } } int maxent = GetMaxEntities(); char weapon[64]; for (int i=GetMaxClients(); i<maxent; i++) { if ( IsValidEdict(i) && IsValidEntity(i) ) { GetEdictClassname(i, weapon, sizeof(weapon)); if ( ( StrContains(weapon, "weapon_") != -1 || StrContains(weapon, "item_") != -1 ) && GetEntDataEnt2(i, g_WeaponParent) == -1 ) RemoveEdict(i); } } if (pokazz != INVALID_HANDLE) { CloseHandle(pokazz); pokazz = INVALID_HANDLE; } Zabij(round_timer); } } public void disarm(int id) { int disarme; for (int i = 0; i < 6; i++) { if (i < 6 && (disarme = GetPlayerWeaponSlot(id, i)) != -1) { RemovePlayerItem(id, disarme); GivePlayerItem(id, "weapon_knife"); } } } public Action counting(Handle Timer, any data) { gI_Time++; if (gI_Time < 31) { PrintHintTextToAll("<font color= '#ff4d4d'>[Wojny Gangów]</font> Do rozpoczęcia wojny pozostało:<font color='#00ff00'> %i sek.</font>", 30 - gI_Time); } } public Action wiadomosc(Handle timer, any client) { for (int i=1;i<=MaxClients;i++) { if(IsValidClient(i)) { if(!wiad && zabawaon && wgangu1[i]) { PrintHintText(i, "<font color='#ff6666'>[Wojny Gangów]</font> Jesteś w <font color='#ff5050'>gangu czerwonych</font>!"); } else if(!wiad && !zabawaon && wgangu2[i]) { PrintHintText(i, "<font color='#ff6666'>[Wojny Gangów]</font> Jesteś w <font color='#00cc00'>gangu zielonych</font>!"); } else { PrintHintText(i, "<font color='#ff6666'>[Wojny Gangów]</font> Czekamy na wybranie drużyn przez prowadzącego!"); } } } } public void DajBronie(int client) { Handle menu = CreateMenu(MenuHandler_M42); SetMenuTitle(menu, "Wybierz broń:"); AddMenuItem(menu, "m4", "M4A4"); AddMenuItem(menu, "m4s", "M4A1-S"); AddMenuItem(menu, "ak47", "AK-47"); AddMenuItem(menu, "awp", "AWP"); DisplayMenu(menu, client, MENU_TIME_LENGTH); } public int MenuHandler_M42(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_Select) { int client = param1; char info[32]; GetMenuItem(menu, param2, info, sizeof(info)); if (StrEqual(info, "m4")) { GivePlayerItem(client, "weapon_m4a1"); DajPistolet(client); } if (StrEqual(info, "m4s")) { GivePlayerItem(client, "weapon_m4a1_silencer"); DajPistolet(client); } if (StrEqual(info, "ak47")) { GivePlayerItem(client, "weapon_ak47"); DajPistolet(client); } if (StrEqual(info, "awp")) { GivePlayerItem(client, "weapon_awp"); DajPistolet(client); } } else if (action == MenuAction_End) { CloseHandle(menu); } } public void DajPistolet(int client) { Handle menu = CreateMenu(MenuHandler_M43); SetMenuTitle(menu, "Wybierz pistolet:"); AddMenuItem(menu, "usp", "USP-S"); AddMenuItem(menu, "p2", "P2000"); AddMenuItem(menu, "glock", "Glock-18"); AddMenuItem(menu, "deagle", "Deagle"); AddMenuItem(menu, "p250", "P250"); AddMenuItem(menu, "tec9", "Tec-9"); AddMenuItem(menu, "five", "Five-Seven"); DisplayMenu(menu, client, MENU_TIME_LENGTH); } public int MenuHandler_M43(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_Select) { int client = param1; char info[32]; GetMenuItem(menu, param2, info, sizeof(info)); if (StrEqual(info, "usp")) { GivePlayerItem(client, "weapon_usp_silencer"); } if (StrEqual(info, "p2")) { GivePlayerItem(client, "weapon_hkp2000"); } if (StrEqual(info, "glock")) { GivePlayerItem(client, "weapon_glock"); } if (StrEqual(info, "deagle")) { GivePlayerItem(client, "weapon_deagle"); } if (StrEqual(info, "p250")) { GivePlayerItem(client, "weapon_p250"); } if (StrEqual(info, "tec9")) { GivePlayerItem(client, "weapon_tec9"); } if (StrEqual(info, "five")) { GivePlayerItem(client, "weapon_fiveseven"); } } else if (action == MenuAction_End) { CloseHandle(menu); } } public Action Event_RoundEnd(Handle hEvent, const char[] sName, bool bDontBroadcast) { for(int i = 1; i<=MaxClients; i++) { wgangu1[i] = false; wgangu2[i] = false; } ServerCommand("mp_teammates_are_enemies 0"); Zabij(pokazz); Zabij(sprawdzajj); Zabij(wiadomoscc); } public void Zabij(Handle hName) { if (hName != INVALID_HANDLE) { KillTimer(hName); hName = INVALID_HANDLE; CloseHandle(hName); } } public Action Event_RoundStart(Handle hEvent, const char[] sName, bool bDontBroadcast) { TryClearData(); Open = false; zabawaon = false; wystartowalo = false; wiad = false; } public void TryClearData() { if (round_timer != INVALID_HANDLE) { CloseHandle(round_timer); round_timer = INVALID_HANDLE; } gI_Time = 0; } public Action opencells() { int iEnt = -1; for(int i; i < sizeof(Entities); i++) { while((iEnt = FindEntityByClassname(iEnt, Entities[i])) != -1) { AcceptEntityInput(iEnt, Open? "Close":"Open"); } } } public void OpenTeam1Menu(int client) { char sDisplayBuffer[128], sInfoBuffer[16], sTitle[64]; Format(sTitle, sizeof(sTitle), "Wybierz graczy do teamu1 :"); Menu MainMenu = new Menu(MainMenu_CallBack, MenuAction_Select | MenuAction_End); MainMenu.SetTitle(sTitle); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i) && wgangu2[i] == false && wgangu1[i] == false && GetClientTeam(i) == CS_TEAM_T) { Format(sDisplayBuffer, sizeof(sDisplayBuffer), "%N", i); Format(sInfoBuffer, sizeof(sInfoBuffer), "%i", GetClientUserId(i)); MainMenu.AddItem(sInfoBuffer, sDisplayBuffer); } } DisplayMenu(MainMenu, client, MENU_TIME_FOREVER); } public int MainMenu_CallBack(Menu MainMenu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_Select: { char sInfo[128]; GetMenuItem(MainMenu, param2, sInfo, sizeof(sInfo)); int iTarget = GetClientOfUserId(StringToInt(sInfo)); SetEntityRenderMode(iTarget, RENDER_TRANSCOLOR); SetEntityRenderColor(iTarget, 113, 46, 44, 255); wgangu1[iTarget] = true; glowne(param1); CPrintToChat(iTarget, "{GREEN}[Wojny Gangów]{NORMAL} Zostałeś dodany do teamu {DARKRED}czerwonych.") CPrintToChat(param1, "Dodałeś gracza {GREEN}%N{NORMAL} do {RED}gangu czerwonych", iTarget); } case MenuAction_End: { CloseHandle(MainMenu); } } } public void OpenTeam2Menu(int client) { char sDisplayBuffer[128], sInfoBuffer[16], sTitle[64]; Format(sTitle, sizeof(sTitle), "Wybierz graczy do teamu2 :"); Menu MainMenu = new Menu(MainMenu_CallBack2, MenuAction_Select | MenuAction_End); MainMenu.SetTitle(sTitle); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i) && wgangu2[i] == false && wgangu1[i] == false && GetClientTeam(i) == CS_TEAM_T) { Format(sDisplayBuffer, sizeof(sDisplayBuffer), "%N", i); Format(sInfoBuffer, sizeof(sInfoBuffer), "%i", GetClientUserId(i)); MainMenu.AddItem(sInfoBuffer, sDisplayBuffer); } } DisplayMenu(MainMenu, client, MENU_TIME_FOREVER); } public int MainMenu_CallBack2(Menu MainMenu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_Select: { char sInfo[128]; GetMenuItem(MainMenu, param2, sInfo, sizeof(sInfo)); int iTarget = GetClientOfUserId(StringToInt(sInfo)); SetEntityRenderMode(iTarget, RENDER_TRANSCOLOR); SetEntityRenderColor(iTarget, 0, 146, 0, 255); wgangu2[iTarget] = true; CPrintToChat(iTarget, "{GREEN}[Wojny Gangów]{NORMAL} Zostałeś dodany do teamu {LIGHTGREEN}zielonych.") glowne(param1); CPrintToChat(param1, "Dodałeś gracza {GREEN}%N{NORMAL} do {GREEN}gangu zielonych.", iTarget); } case MenuAction_End: { CloseHandle(MainMenu); } } } public void OpenDelMenu(int client) { char sDisplayBuffer[128], sInfoBuffer[16], sTitle[64]; Format(sTitle, sizeof(sTitle), "Usuń gracza z gangu czerw. :"); Menu MainMenu = new Menu(MainMenu_CallBack28, MenuAction_Select | MenuAction_End); MainMenu.SetTitle(sTitle); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i) && wgangu1[i] == true) { Format(sDisplayBuffer, sizeof(sDisplayBuffer), "%N", i); Format(sInfoBuffer, sizeof(sInfoBuffer), "%i", GetClientUserId(i)); MainMenu.AddItem(sInfoBuffer, sDisplayBuffer); } } DisplayMenu(MainMenu, client, MENU_TIME_FOREVER); } public int MainMenu_CallBack28(Menu MainMenu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_Select: { char sInfo[128]; GetMenuItem(MainMenu, param2, sInfo, sizeof(sInfo)); int iTarget = GetClientOfUserId(StringToInt(sInfo)); SetEntityRenderMode(iTarget, RENDER_TRANSCOLOR); SetEntityRenderColor(iTarget, 255, 255, 255, 255); wgangu1[iTarget] = false; CPrintToChat(iTarget, "{GREEN}[Wojny Gangów]{NORMAL} Usunięto Cię z gangu {RED}czerwonych.") glowne(param1); CPrintToChat(param1, "Usunąłeś gracza {GREEN}%N{NORMAL} z {RED}gangu czerwonych.", iTarget); } case MenuAction_End: { CloseHandle(MainMenu); } } } public void OpenDel2Menu(int client) { char sDisplayBuffer[128], sInfoBuffer[16], sTitle[64]; Format(sTitle, sizeof(sTitle), "Usuń gracza z gangu ziel. :"); Menu MainMenu = new Menu(MainMenu_CallBack29, MenuAction_Select | MenuAction_End); MainMenu.SetTitle(sTitle); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i) && wgangu2[i] == true) { Format(sDisplayBuffer, sizeof(sDisplayBuffer), "%N", i); Format(sInfoBuffer, sizeof(sInfoBuffer), "%i", GetClientUserId(i)); MainMenu.AddItem(sInfoBuffer, sDisplayBuffer); } } DisplayMenu(MainMenu, client, MENU_TIME_FOREVER); } public int MainMenu_CallBack29(Menu MainMenu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_Select: { char sInfo[128]; GetMenuItem(MainMenu, param2, sInfo, sizeof(sInfo)); int iTarget = GetClientOfUserId(StringToInt(sInfo)); SetEntityRenderMode(iTarget, RENDER_TRANSCOLOR); SetEntityRenderColor(iTarget, 255, 255, 255, 255); wgangu2[iTarget] = false; CPrintToChat(iTarget, "{GREEN}[Wojny Gangów]{NORMAL} Usunięto Cię z gangu {LIGHTGREEN}zielonych.") glowne(param1); CPrintToChat(param1, "Usunąłeś gracza {GREEN}%N{NORMAL} z {LIGHTGREEN}gangu zielonych.", iTarget); } case MenuAction_End: { CloseHandle(MainMenu); } } } public Action pokaz(Handle timer, any client) { if(zabawaon) { if(IsValidClient(client)) { int iTarget = GetClientAimTarget(client, true); float client_pos[3]; float target_pos[3]; if(IsValidClient(iTarget)) { GetClientEyePosition(client, client_pos); GetClientEyePosition(iTarget, target_pos); if (CanSeeTarget(client, client_pos, iTarget, target_pos, g_fDistance)) { if(wgangu1[iTarget]) { PrintHintText(client, "Gracz <font color='#3399ff'>%N</font> - w gangu <font color='#ff5050'>czerwonych</font>", iTarget); } else if(wgangu2[iTarget]) { PrintHintText(client, "Gracz <font color='#3399ff'>%N</font> - w gangu <font color='#00cc00'>zielonych</font>", iTarget); } else { PrintHintText(client, "Gracz <font color='#3399ff'>%N</font> - nie jest w <font color='#333300'>żadnym gangu</font>", iTarget); } } } } } else { Zabij(pokazz); } } public Action wlaczff(Handle timer) { ServerCommand("mp_teammates_are_enemies 1"); PrintHintTextToAll("<font color= '#ff4d4d'>[Wojny Gangów]</font> <font color='#00ff00'>Wojna rozpoczęta!</font>"); TryClearData(); } public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom) { if (zabawaon == true) { if (wgangu1[victim] && wgangu1[attacker]) { PrintHintText(attacker, "Gracz %N jest też w <font color='#ff5050'>gangu czerwonych</font>, <font size='25'>NIE ZABIJESZ GO.</font>", victim); damage = float(0); return Plugin_Changed; } if(GetClientTeam(victim) == CS_TEAM_CT && GetClientTeam(attacker) == CS_TEAM_CT) { damage = float(0); return Plugin_Changed; } if (wgangu2[victim] && wgangu2[attacker]) { PrintHintText(attacker, "Gracz %N jest też w <font color='#00cc00'>gangu zielonych</font>, <font size='25'>NIE ZABIJESZ GO.</font>", victim); damage = float(0); return Plugin_Changed; } if (GetClientTeam(attacker) == CS_TEAM_T && GetClientTeam(victim) == CS_TEAM_CT) { PrintHintText(attacker, "To jest CT, on nie bierze udziału w zabawie, <font size='25'>NIE ZABIJESZ GO.</font>"); damage = float(0); return Plugin_Changed; } if (GetClientTeam(attacker) == CS_TEAM_CT && GetClientTeam(victim) == CS_TEAM_T && wystartowalo==true) { damage = float(0); return Plugin_Changed; } } return Plugin_Continue; } stock bool CanSeeTarget(any origin, float pos[3], any target, float targetPos[3], float range) { float fDistance; fDistance = GetVectorDistanceMeter(pos, targetPos); if (fDistance >= range) { return false; } Handle hTraceEx = INVALID_HANDLE; float hitPos[3]; g_iFilteredEntity = origin; hTraceEx = TR_TraceRayFilterEx(pos, targetPos, MASK_PLAYERSOLID, RayType_EndPoint, TraceFilter); TR_GetEndPosition(hitPos, hTraceEx); CloseHandle(hTraceEx); if (GetVectorDistanceMeter(hitPos, targetPos) <= 1.0) { return true; } return false; } stock float GetVectorDistanceMeter(const float vec1[3], const float vec2[3], bool squared=false) { return UnitToMeter(GetVectorDistance(vec1, vec2, squared)); } public bool TraceFilter(int ent, int contentMask) { return (ent == g_iFilteredEntity) ? false : true; } stock float UnitToMeter(float distance) { return distance / 50.00; } stock int GetTeam1Count() { int iAmmount = 0; for (int i = 1; i <= MaxClients; i++) { if (wgangu1[i] == true && IsPlayerAlive(i)) { iAmmount++; } } return iAmmount; } stock int GetTeam2Count() { int iAmmount = 0; for (int i = 1; i <= MaxClients; i++) { if (wgangu2[i] == true && IsPlayerAlive(i)) { iAmmount++; } } return iAmmount; }
może tu to znajdziesz co chcesz
-
Nie działa ci w ogole plugin czy nie pokazuje skinów ?
- 1
Plugin na kosy na deathmatchu
w Pytania ogólne
Opublikowano
"FollowCSGOServerGuidelines" "no"
"BlockBadPlugins" "no"
ustawiles to tak ?
path wgrales