NeXt Opublikowano Marzec 25, 2020 o 15:19 Udostępnij Opublikowano Marzec 25, 2020 o 15:19 Witam, Tak jak w temacie mam problem z edycją pluginu - Chciał bym wyłączyć automatyczną zmianę klasy pomimo zmiany w menu !zm/!class etc. bądź po zginięciu (Klasa zmienia się randomowo) z tego co wiem to właśnie odpowiada za automatyczne zmiany klas ale nie wiem jak to wyłączyć bo skasować nie mogę int class = GetRandomInt(0, 3); - Klasy mają być dostępne dla każdego gracza nie wyłącznie dla vip'a //Klasa VIP - Sweet Plik public void Zombies_OnClientPutInServer(int client) { #if defined DEBUG_LOG LogMessage("Zombies_OnClientPutInServer"); #endif g_iClientClass[client] = 1; } void SetPlayerAsZombie(int client) { #if defined DEBUG_LOG #endif char TagZombie[32]; CS_GetClientClanTag(client, TagZombie, sizeof(TagZombie)); int class = GetRandomInt(0, 3); switch(class) { case 0: { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { SetPlayerAsVip(client); } else { SetPlayerArms(client, "models/player/custom_player/kodua/frozen_nazi/arms.mdl"); SetEntityModel(client, "models/player/custom_player/kodua/frozen_nazi/frozen_nazi.mdl"); SetEntityGravity(client, 1.0); SetEntityHealth(client, 2000); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0); PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa To \x05Frozen!"); CS_SetClientClanTag(client, "Frozen"); } } case 1: { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { SetPlayerAsVip(client); } else { SetPlayerArms(client, "models/player/custom_player/zombie/mummy/mummy_arms.mdl"); SetEntityModel(client, "models/player/custom_player/dbd/wraith/wraith.mdl"); SetEntityGravity(client, 0.6); SetEntityHealth(client, 1500); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0); PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa To \x05Wraith!"); CS_SetClientClanTag(client, "Wraith"); } } case 2: { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { SetPlayerAsVip(client); } else { SetPlayerArms(client, "models/player/custom_player/kuristaja/walker/walker_arms.mdl"); SetEntityModel(client, "models/player/custom_player/kuristaja/walker/walkerv2.mdl"); SetEntityGravity(client, 0.9); SetEntityHealth(client, 3500); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 0.7); PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa To \x05Undead!"); CS_SetClientClanTag(client, "Undead"); } } case 3: { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { SetPlayerAsVip(client); } else { SetPlayerArms(client, "models/player/custom_player/caleon1/mummy/mummy_arms.mdl"); SetEntityModel(client, "models/player/custom_player/caleon1/mummy/mummy.mdl"); SetEntityGravity(client, 0.8); SetEntityHealth(client, 1000); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 2.0); PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa To \x05Mummy!"); CS_SetClientClanTag(client, "Mummy"); } } } } //================================================================== public Action CMD_Class(int client, int args) { #if defined DEBUG_LOG LogMessage("CMD_Class"); #endif if(GetClientTeam(client) == ZOMBIES) { Menu zmmenu = new Menu(MenuHandler_ZombieClass); SetMenuTitle(zmmenu, "Zombie class"); KeyValues kv = CreateKeyValues("bb_zombies"); kv.ImportFromFile(g_sBasebuilderConfig2); if (!kv.GotoFirstSubKey()) { return Plugin_Handled; } char ClassID[10]; char name[150]; do { kv.GetSectionName(ClassID, sizeof(ClassID)); kv.GetString("name", name, sizeof(name)); zmmenu.AddItem(ClassID, name); } while (kv.GotoNextKey()); delete kv; zmmenu.Display(client, 0); } return Plugin_Continue; } public int MenuHandler_ZombieClass(Menu menu, MenuAction action, int client, int item) { #if defined DEBUG_LOG LogMessage("MenuHandler_ZombieClass"); #endif switch(action) { case MenuAction_Select: { char info[32]; GetMenuItem(menu, item, info, sizeof(info)); int SelectedZMClass = StringToInt(info); //Check for VIP class KeyValues kvZombiesVIP = CreateKeyValues("bb_zombies"); if(!kvZombiesVIP.ImportFromFile(g_sBasebuilderConfig2)) return; char s_SelectedClass[10]; IntToString(SelectedZMClass, s_SelectedClass, sizeof(s_SelectedClass)); if (!kvZombiesVIP.JumpToKey(s_SelectedClass)) return; char flags[40] = ""; kvZombiesVIP.GetString("flags", flags, sizeof(flags)); delete kvZombiesVIP; if(StrEqual(flags, "")) { g_iClientClass[client] = SelectedZMClass; if(IsBuildTime() || IsPrepTime()) { CS_RespawnPlayer(client); } else CPrintToChat(client, "%s%T", Prefix, "Class change after death", client); } else { if(HasPlayerFlags(client, flags)) { g_iClientClass[client] = SelectedZMClass; if(IsBuildTime() || IsPrepTime()) { CS_RespawnPlayer(client); } else PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa zmieni się po śmierci!"); } else PrintToChat(client, " \x02•BaseBuilder• \x01Oops, wyglada na to, ze nie posiadasz \x07VIP'a!"); } } } } void SetPlayerAsVip(int client) { #if defined DEBUG_LOG LogMessage("SetPlayerAsVip"); #endif KeyValues kvZombies = CreateKeyValues("bb_zombies"); if(!kvZombies.ImportFromFile(g_sBasebuilderConfig2)) return; char clientclass[10]; IntToString(g_iClientClass[client], clientclass, sizeof(clientclass)); if (!kvZombies.JumpToKey(clientclass)) return; char zmName[100]; char zmGravity[10]; char zmSpeed[10]; char zmHeath[10]; char zmModel[PLATFORM_MAX_PATH + 1]; char zmArms[PLATFORM_MAX_PATH + 1]; char flags[40] = ""; flags = ""; kvZombies.GetString("name", zmName, sizeof(zmName)); kvZombies.GetString("gravity", zmGravity, sizeof(zmGravity)); kvZombies.GetString("speed", zmSpeed, sizeof(zmSpeed)); kvZombies.GetString("health", zmHeath, sizeof(zmHeath)); kvZombies.GetString("model_path", zmModel, sizeof(zmModel)); kvZombies.GetString("arms_path", zmArms, sizeof(zmArms)); float fZmGravity; float fZmSpeed; fZmGravity = StringToFloat(zmGravity); fZmSpeed = StringToFloat(zmSpeed); int iZmHealth = StringToInt(zmHeath); SetPlayerArms(client, zmArms); SetEntityGravity(client, fZmGravity); SetEntityHealth(client, iZmHealth); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", fZmSpeed); SetEntityModel(client, zmModel); PrintToChat(client, " \x02•BaseBuilder• \x01Twoja Klasa To \x05%s!",zmName); CS_SetClientClanTag(client, zmName); delete kvZombies; } public void Zombies_PlayerSpawn(int client) { #if defined DEBUG_LOG LogMessage("Zombies_PlayerSpawn"); #endif if(GetClientTeam(client) == CS_TEAM_CT) SetPlayerAsBuilder(client); else if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { if(GetClientTeam(client) == CS_TEAM_T) { SetPlayerAsVip(client); } } else { if(GetClientTeam(client) == CS_TEAM_T) { SetPlayerAsZombie(client); FPVMI_RemoveViewModelToClient(client, "weapon_knife"); } } } void SetPlayerAsBuilder(int client) { #if defined DEBUG_LOG LogMessage("SetPlayerAsBuilder"); #endif if(GetUserFlagBits(client) & ADMFLAG_CUSTOM2) { SetEntityHealth(client, 100); SetEntityGravity(client, 1.0); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0); if(ModelDefault[client] == true) { SetEntityModel(client, "models/player/custom_player/kuristaja/cso2/sas/sas.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/cso2/sas/sas_arms.mdl"); } else if(ModelPhoenix[client] == true) { SetEntityModel(client, "models/player/custom_player/kuristaja/cso2/phoenix/phoenix.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/cso2/phoenix/phoenix_arms.mdl"); } else if(ModelBilly[client] == true) { SetEntityModel(client, "models/player/custom_player/kuristaja/billy/billy_normal.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/billy/billy_arms.mdl"); } else if(ModelCarrie[client] == true) { SetEntityModel(client, "models/player/custom_player/kuristaja/cso2/carrie/carrie.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/cso2/carrie/carrie_arms.mdl"); } else if(ModelDefault[client] == false || ModelPhoenix[client] == false || ModelBilly[client] == false || ModelCarrie[client] == false) { SetEntityModel(client, "models/player/custom_player/kuristaja/cso2/sas/sas.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/cso2/sas/sas_arms.mdl"); } if(!kolor[client]) { CS_SetClientClanTag(client, colors[client]); } else if(kolor[client]) { if(kolor_g[client] == true) { CS_SetClientClanTag(client, "Zielony"); } else if(kolor_l[client] == true) { CS_SetClientClanTag(client, "Łososiowy"); } else if(kolor_o[client] == true) { CS_SetClientClanTag(client, "Oliwkowy"); } else if(kolor_c[client] == true) { CS_SetClientClanTag(client, "Cyjan"); } else if(kolor_m[client] == true) { CS_SetClientClanTag(client, "Magenta"); } else if(kolor_s[client] == true) { CS_SetClientClanTag(client, "Srebrny"); } else if(kolor_k[client] == true) { CS_SetClientClanTag(client, "Kremowy"); } } } else { SetEntityModel(client, "models/player/custom_player/kuristaja/cso2/sas/sas.mdl"); SetPlayerArms(client, "models/player/custom_player/kuristaja/cso2/sas/sas_arms.mdl"); SetEntityHealth(client, 100); SetEntityGravity(client, 1.0); SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", 1.0); CS_SetClientClanTag(client, colors[client]); FPVMI_RemoveViewModelToClient(client, "weapon_knife"); } } // ** ARM UPDATE FUNCTIONS ** // public void SetPlayerArms(int client, char[] arms) { #if defined DEBUG_LOG LogMessage("SetPlayerArms"); #endif RemoveAllPlayerWeapons(client); Client_RemoveWeapon(client, "weapon_knife", true); SetEntPropString(client, Prop_Send, "m_szArmsModel", arms); CreateTimer(0.1, Give_Knife, client); } public Action Give_Knife(Handle tmr, any client) { #if defined DEBUG_LOG LogMessage("Give_Knife"); #endif if(IsValidPlayer(client)) GivePlayerItem(client, "weapon_knife"); } public bool HasPlayerFlags(int client, char flags[40]) { #if defined DEBUG_LOG LogMessage("HasPlayerFlags"); #endif if(StrContains(flags, "a") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_RESERVATION)) { return true; } } else if(StrContains(flags, "b") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_GENERIC)) { return true; } } else if(StrContains(flags, "c") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_KICK)) { return true; } } else if(StrContains(flags, "d") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_BAN)) { return true; } } else if(StrContains(flags, "e") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_UNBAN)) { return true; } } else if(StrContains(flags, "f") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_SLAY)) { return true; } } else if(StrContains(flags, "g") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CHANGEMAP)) { return true; } } else if(StrContains(flags, "h") != -1) { if(Client_HasAdminFlags(client, 128)) { return true; } } else if(StrContains(flags, "i") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CONFIG)) { return true; } } else if(StrContains(flags, "j") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CHAT)) { return true; } } else if(StrContains(flags, "k") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_VOTE)) { return true; } } else if(StrContains(flags, "l") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_PASSWORD)) { return true; } } else if(StrContains(flags, "m") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_RCON)) { return true; } } else if(StrContains(flags, "n") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CHEATS)) { return true; } } else if(StrContains(flags, "z") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_ROOT)) { return true; } } else if(StrContains(flags, "o") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM1)) { return true; } } else if(StrContains(flags, "p") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM2)) { return true; } } else if(StrContains(flags, "q") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM3)) { return true; } } else if(StrContains(flags, "r") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM4)) { return true; } } else if(StrContains(flags, "s") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM5)) { return true; } } else if(StrContains(flags, "t") != -1) { if(Client_HasAdminFlags(client, ADMFLAG_CUSTOM6)) { return true; } } return false; } CFG "bb_zombies" { "1" { "name" "Frozen" "gravity" "1.0" "speed" "1.0" "health" "2000" "model_path" "models/player/custom_player/kodua/frozen_nazi/frozen_nazi.mdl" "arms_path" "models/player/custom_player/kodua/frozen_nazi/arms.mdl" } "2" { "name" "Wraith" "gravity" "0.6" "speed" "1.0" "health" "1500" "model_path" "models/player/custom_player/dbd/wraith/wraith.mdl" "arms_path" "models/player/custom_player/zombie/mummy/mummy_arms.mdl" } "3" { "name" "Undead" "gravity" "0.9" "speed" "0.7" "health" "3500" "model_path" "models/player/custom_player/kuristaja/walker/walkerv2.mdl" "arms_path" "models/player/custom_player/kuristaja/walker/walker_arms.mdl" } "4" { "name" "Mummy" "gravity" "0.8" "speed" "2.0" "health" "1000" "model_path" "models/player/custom_player/caleon1/mummy/mummy.mdl" "arms_path" "models/player/custom_player/caleon1/mummy/mummy_arms.mdl" } "5" { "name" "Sweet [VIP]" "flags" "p" "gravity" "0.7" "speed" "1.3" "health" "4000" "model_path" "models/player/custom_player/kuristaja/sweet_tooth/sweet_tooth.mdl" "arms_path" "models/player/custom_player/kuristaja/sweet_tooth/sweet_tooth_arms.mdl" } } - Oraz chciał bym wyłączyć palącą się głowę osobie która posiada flage VIP (( p )) ale nie wiem w jakim pliku mogę to szukać. 1 Podziękuj! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się