Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Problem z edycją plugin


NeXt
 Udostępnij

Rekomendowane odpowiedzi

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ć.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...