Помощ за Rank System и Chat Manager

Въпроси и проблеми свързани с AMXModX.
Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Punch* » 19 Фев 2018, 17:38

Ако добавя друг Chat Manager плъгин пак ще дава ли тоя проблем ?
Знам къде да ровя !
Нямам scripting папката вместо това имам source , но в там няма почти всички .sma !

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Помощ за Rank System и Chat Manager

Мнение от TheRedShoko » 19 Фев 2018, 17:40

Ако нямаш кода на ранк системата, ще излизат двойно съобщенията. Ето защо се свързват 2та плъгина. Ако имаш кода на ранк системата - предостави го, за да бъдат нагласени.

Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Punch* » 19 Фев 2018, 17:42

И двете ги нямам , но rank system'ата щях да заменя с друг да дам по-добре това и другия плъгин ще изтрия ще добавя с .sma

Код за потвърждение: Избери целия код

#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < engine >
#include < colorchat >
#include < hamsandwich >
#include < fun >
#include < nvault >

#define MAXRANKS 32

#define PLUGIN "Cs-G AdminPrefixWithRanks"
#define VERSION "1.3"
#define AUTHOR "Cs-Gaming"

//ПРОМЕНЛИВИ
new PlayerRank[33], message[192]
new sayText, teamInfo, maxPlayers, g_AdminListen,  g_AdminListenFlag,g_MsgHud, gVault
new strName[191], strText[191], alive[11], temp_cvar[2], g_name[32]
new gPlayerPoints[33], give[33],iTarget[33]

new const rankNames[MAXRANKS][] =
{
"[Newbie]", 
"[Rednik]", 
"[Incredible]", 
"[Unstoppable]", 
"[Perfect]", 
"[Ultimate]", 
"[Killer]", 
"[Mega Killer]", 
"[Ultra Killer]", 
"[Predator]", 
"[Terminator]", 
"[Monster]", 
"[Master Guardian I]", 
"[Master Guardian II]", 
"[Advanced]", 
"[Machine]",
"[Hunter]", 
"[Hacker]", 
"[Almost KING]", 
"[Maniac]",
"[Master Guardian Elite]", 
"[Headshoot Machine]", 
"[MASTER]", 
"[Almost PRO]", 
"*PRO*", 
"[ULTRA MASTER]", 
"[Distinguished Master Guardian]", 
"[ProffesionaL]", 
"[Legendary Eagle]", 
"[Legendary Eagle Master]",
"*SUPREME*", 
"[*GLOBAL ELITE*]"
};

new const rankXP[MAXRANKS] =
{
	0, 25, 50, 100, 150, 200, 350, 500, 700, 850, 1100, 1400, 1800, 2400, 3000, 3500, 4300, 5200, 5800, 6500, 7300, 8000, 9600, 10500, 12000, 13800, 15000, 17200, 20000, 21500, 24000, 26000
};
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_clcmd("say", "hook_say")
	register_clcmd("say_team", "hook_teamsay")
	register_clcmd("say /myrank", "cmdJumpRank")
	register_clcmd("say_team /myrank", "cmdJumpRank")
	register_clcmd("say /checkrank", "cmdCheckLevel")
	register_clcmd("say_team /checkrank", "cmdCheckLevel")
	register_clcmd("say /rankmenu", "cmdRankMenu", ADMIN_RCON)
	register_clcmd("say_team /rankmenu", "cmdRankMenu", ADMIN_RCON)

	register_concmd("Points_Amount", "cmdTyped", ADMIN_RCON);

	sayText = get_user_msgid("SayText")
	teamInfo = get_user_msgid("TeamInfo")
	maxPlayers = get_maxplayers()
	g_MsgHud = CreateHudSyncObj()
	
	register_message(sayText, "avoid_duplicated")
	register_event("DeathMsg", "Hook_Deathmessage", "a");
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1);
	
	set_task(1.0, "taskHud", 0, _, _, "b")
	
	gVault = nvault_open( "PlayerRanks" );
}

public player_spawn(id)
{
	if( !is_user_alive( id ) ) return;

	if(MAXRANKS == PlayerRank[id]+1)
		ColorChat(id, RED, "[Cs-Gaming]^x01 Your level is ^x04#%d ^x01with rank ^x04%s ^x01. You have got ^x03 %d points", PlayerRank[id]+1, rankNames[PlayerRank[id]], gPlayerPoints[id])
	else
		ColorChat(id, RED, "[Cs-Gaming]^x01 Your level is ^x04#%d ^x01with rank ^x04%s^x01. You have got ^x03 %d^x01 /^x04 %d^x01 points to become^x04 %s^x01.", PlayerRank[id]+1, rankNames[PlayerRank[id]], gPlayerPoints[id], rankXP[PlayerRank[id]+1], rankNames[PlayerRank[id]+1])
	
	switch( PlayerRank[ id ] )
	{
		case 28: set_user_health( id, get_user_health( id ) + 5 );
		case 29: set_user_health( id, get_user_health( id ) + 10 );
		case 30: set_user_health( id, get_user_health( id ) + 15 );
		case 31: set_user_health( id, get_user_health( id ) + 20 );
		case 32: set_user_health( id, get_user_health( id ) + 30 );
	}
}

public cmdCheckLevel(id)
{
	new iMenu = menu_create("\yCs-Gaming \d- \wChoose Player\r:", "checklevel_menu_handler")
	
	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget))
			continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
}

public checklevel_menu_handler(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	new target = str_to_num(iData);
	if(!is_user_connected(target))
	{
		ColorChat(id, GREEN, "[Cs-Gaming]^x01 The player you chose is not in the server.")
		menu_destroy(iMenu);
		cmdCheckLevel(id);
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	new szText[256], player_name[32];
	get_user_name(target, player_name, 31);
	if(MAXRANKS == PlayerRank[target]+1)
		formatex(szText, charsmax(szText), "<html><head></head><body><br/>Name: %s<br/>Points: %d<br/>Level: %d/%d<br/>Rank: %s<br/></body></html>", player_name, gPlayerPoints[target], PlayerRank[target]+1, MAXRANKS, rankNames[PlayerRank[target]]);
	else
		formatex(szText, charsmax(szText), "<html><head></head><body><br/>Name: %s<br/>Points: %d/%d<br/>Level: %d/%d<br/>Rank: %s<br/>Next Rank: %s</body></html>", player_name, gPlayerPoints[target], rankXP[PlayerRank[target]+1], PlayerRank[target]+1, MAXRANKS, rankNames[PlayerRank[target]], rankNames[PlayerRank[target]+1]);
	show_motd(id, szText, "Cs-Gaming Rank System");
	cmdCheckLevel(id);
	return PLUGIN_HANDLED;
}

public taskHud()
{
	new iPlayers[32], iNum, iTarget;
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget))
			continue;
	
		set_hudmessage(0, 139, 139, 0.02, 0.17, 0, 6.0, 12.0)
		if(MAXRANKS == PlayerRank[iTarget]+1)
			ShowSyncHudMsg(iTarget, g_MsgHud, "Level: %d/%d^nRank : %s^nPoints : %d",PlayerRank[iTarget]+1, MAXRANKS, rankNames[PlayerRank[iTarget]], gPlayerPoints[iTarget])
		else
			ShowSyncHudMsg(iTarget, g_MsgHud, "Level: %d/%d^nRank : %s^nPoints : %d/%d",PlayerRank[iTarget]+1, MAXRANKS, rankNames[PlayerRank[iTarget]], gPlayerPoints[iTarget], rankXP[PlayerRank[iTarget]+1])
	}
}

public cmdJumpRank(id)
{
	if(MAXRANKS == PlayerRank[id]+1)
		ColorChat(id, RED, "[Cs-Gaming]^x01 Your level is ^x04#%d ^x01| Rank ^x04%s ^x01| Points:^x03 %d", PlayerRank[id]+1, rankNames[PlayerRank[id]], gPlayerPoints[id])
	else
		ColorChat(id, RED, "[Cs-Gaming^x01 Your level is ^x04#%d ^x01| Rank ^x04%s ^x01| Points:^x03 %d^x01 /^x04 %d^x01 to become^x04 %s^x01.", PlayerRank[id]+1, rankNames[PlayerRank[id]], gPlayerPoints[id], rankXP[PlayerRank[id]+1], rankNames[PlayerRank[id]+1])
}

public cmdRankMenu(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED;
	new iMenu = menu_create("Rank Menu", "rankmenu_menu_handler")
	menu_additem(iMenu, "Give Points", "1");
	menu_additem(iMenu, "Take Points", "2");
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_CONTINUE;
}

public rankmenu_menu_handler(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	give[id] = str_to_num(iData);
	GiveTakeMenu(id);
	return PLUGIN_HANDLED;
}

public GiveTakeMenu(id)
{
	static szText[64]
	formatex(szText, 63, "%s Points", give[id] == 1 ? "Give" : "Take")
	new iMenu = menu_create(szText, "givetake_menu_handler")

	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget))
			continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
}

public givetake_menu_handler(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}

	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	iTarget[id] = str_to_num(iData);
	if(!is_user_connected(iTarget[id]))
	{
		iTarget[id] = 0
		ColorChat(id, GREEN, "[Cs-Gaming]^x01 The player you chose is not in the server.")
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	client_cmd(id, "messagemode Points_Amount");
	return PLUGIN_HANDLED;
}

public cmdTyped(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED;

	if(!iTarget[id] || give[id] <= 0)
		return PLUGIN_HANDLED;
	if(!is_user_connected(iTarget[id]))
	{
		ColorChat(id, RED, "[Cs-Gaming]^x01 The player you chose is not in the server.")
		return PLUGIN_HANDLED;
	}

	new iTyped[12];
	read_argv(1, iTyped, sizeof iTyped - 1);
	new g_points = str_to_num(iTyped)
	new AdminName[32], PlayerName[32];
	get_user_name(id, AdminName, 31)
	get_user_name(iTarget[id], PlayerName, 31)
	if(give[id] == 1)
	{
		gPlayerPoints[iTarget[id]] += g_points
		ColorChat(0, GREEN,"[Cs-Gaming]^x03 %s^x01 gave^x04 %d^x01 rank points to^x03 %s^x01.", AdminName, g_points, PlayerName)
	}
	else
	{
		if(g_points > gPlayerPoints[iTarget[id]])
			gPlayerPoints[iTarget[id]] = 0
		else
			gPlayerPoints[iTarget[id]] -= g_points;
		ColorChat(0, GREEN,"[Cs-Gaming]^x03 %s^x01 took^x04 %d^x01 rank points from^x03 %s^x01.", AdminName, g_points, PlayerName)
	}
	new currentPlayerRank = 0;
	while(currentPlayerRank < (MAXRANKS - 1))
	{       
		if(gPlayerPoints[iTarget[id]] >= rankXP[currentPlayerRank + 1])
			++currentPlayerRank;     
		else         
			break;
	}
	PlayerRank[iTarget[id]] = currentPlayerRank;
	iTarget[id] = 0;
	GiveTakeMenu(id);
	Save( id );
	return PLUGIN_HANDLED;
}

public client_authorized( id )
{
	Load( id );
}

public client_disconnect( id )
{
	Save( id );
}

public client_putinserver(id)
{
	new currentPlayerRank = 0;
	while(currentPlayerRank < (MAXRANKS - 1))
	{       
		if(gPlayerPoints[id] >= rankXP[currentPlayerRank + 1])
			++currentPlayerRank;     
		else         
			break;
	}
	PlayerRank[id] = currentPlayerRank;
}

public Load( id )
{
	if( !is_user_bot( id ) && !is_user_hltv( id ) )
	{
		new vaultkey[ 64 ], vaultdata[ 256 ], points[ 33 ], UserName[ 33 ];
		get_user_name( id, UserName, charsmax( UserName ) );
		
		format( vaultkey, charsmax( vaultkey ), "%s", UserName );
		format( vaultdata, charsmax( vaultdata ), "%i#", gPlayerPoints[ id ] );
		
		nvault_get( gVault, vaultkey, vaultdata, 255 );
		replace_all( vaultdata, 255, "#", " " );
		
		parse( vaultdata, points, 32 );
		gPlayerPoints[ id ] = str_to_num( points );
	}
}

public Save( id )
{
	if( !is_user_bot( id ) && !is_user_hltv( id ) )
	{
		new vaultkey[ 64 ], vaultdata[ 256 ], UserName[ 33 ];
		get_user_name( id, UserName, charsmax( UserName ) );
		
		format( vaultkey, charsmax( vaultkey ), "%s", UserName );
		format( vaultdata, charsmax( vaultdata ), "%i#", gPlayerPoints[ id ] );
		
		nvault_set( gVault, vaultkey, vaultdata );
	}
}

public avoid_duplicated(msgId, msgDest, receiver)
	return PLUGIN_HANDLED;

public hook_say(id)
{
	read_args(message, 191)
	remove_quotes(message)

	if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, ""))
		return PLUGIN_CONTINUE

	get_user_name(id, g_name, charsmax(g_name))

	new isAlive	

	if(is_user_alive(id))
	{
		isAlive = 1
		alive = "^x01"
	}
	else
	{
		isAlive = 0
		alive = "^x01*DEAD* "
	}

	static  color[10]
	{
		get_user_name(id, g_name, 32)
		get_user_team(id, color, 9)
		format(strName, 191, "%s^x04%s ^x03%s", alive, rankNames[PlayerRank[id]], g_name)
		format(strText, 191, "%s", message)
	}

	format(message, 191, "%s ^x01: %s", strName, strText)

	sendMessage(color, isAlive)// Sends the colored message
	return PLUGIN_CONTINUE;
}

public hook_teamsay(id)
{
	read_args(message, 191)
	remove_quotes(message)

	if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, "")) // Ignores Admin Hud Messages, Admin Slash commands
		return PLUGIN_CONTINUE

	new playerTeam = get_user_team(id)
	new playerTeamName[19]

	switch(playerTeam) // Team names which appear on team-only messages
	{
		case 1: copy(playerTeamName, 11, "Terrorists")
		case 2: copy(playerTeamName, 18, "Counter-Terrorists")
		default: copy(playerTeamName, 9, "Spectator")
	}

	get_user_name(id, g_name, charsmax(g_name))
	new isAlive	

	if(is_user_alive(id))
	{
		isAlive = 1
		alive = "^x01"
	}
	else
	{
		isAlive = 0
		alive = "^x01*DEAD* "
	}

	static  color[10]
	{
		get_user_name(id, g_name, 32)
		get_user_team(id, color, 9);
		format(strName, 191, "%s(%s) ^x04%s ^x03%s", alive, playerTeamName, rankNames[PlayerRank[id]], g_name)
		format(strText, 191, "%s", message)
	}

	format(message, 191, "%s ^x01: %s", strName, strText)
	sendTeamMessage(color, isAlive, playerTeam)
	return PLUGIN_CONTINUE
}

public sendMessage(color[], alive)
{
	new teamName[10]
   
	for(new player = 1; player < maxPlayers; player++)
	{
		if(!is_user_connected(player))
			continue

		get_pcvar_string(g_AdminListenFlag, temp_cvar, charsmax(temp_cvar))
		if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & read_flags(temp_cvar))
		{
			get_user_team(player, teamName, 9)// Stores user's team name to change back after sending the message
			changeTeamInfo(player, color)// Changes user's team according to color choosen
			writeMessage(player, message)// Writes the message on player's chat
			changeTeamInfo(player, teamName)// Changes user's team back to original
		}
	}
}

public sendTeamMessage(color[], alive, playerTeam)
{
	new teamName[10]

	for(new player = 1; player < maxPlayers; player++)
	{
		if(!is_user_connected(player))
			continue

		get_pcvar_string(g_AdminListenFlag, temp_cvar, charsmax(temp_cvar))
		if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & read_flags(temp_cvar))
		{
			if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & read_flags(temp_cvar))
			{
				get_user_team(player, teamName, 9)// Stores user's team name to change back after sending the message
				changeTeamInfo(player, color)// Changes user's team according to color choosen
				writeMessage(player, message)// Writes the message on player's chat
				changeTeamInfo(player, teamName)// Changes user's team back to original
			}
		}
	}
}


public changeTeamInfo(player, team[])
{
	message_begin(MSG_ONE, teamInfo, _, player)// Tells to to modify teamInfo(Which is responsable for which time player is)
	write_byte(player)// Write byte needed
	write_string(team)// Changes player's team
	message_end()// Also Needed
}


public writeMessage(player, message[])
{
	message_begin(MSG_ONE, sayText, {0, 0, 0}, player)// Tells to modify sayText(Which is responsable for writing colored messages)
	write_byte(player)// Write byte needed
	write_string(message)// Effectively write the message, finally, afterall
	message_end()// Needed as always
}

public Hook_Deathmessage()
{
	new killer = read_data(1);
	new victim = read_data(2);

	if(killer == victim)
		return PLUGIN_CONTINUE;
	if(!killer || killer > maxPlayers)
		return PLUGIN_CONTINUE;

	gPlayerPoints[killer]++
	new currentPlayerRank = 0;
	while(currentPlayerRank < (MAXRANKS - 1))
	{       
		if(gPlayerPoints[killer] >= rankXP[currentPlayerRank + 1])
			++currentPlayerRank;     
		else         
			break;
	}
	new OldRank = PlayerRank[killer]
	PlayerRank[killer] = currentPlayerRank
	Save( killer );
	if(OldRank < currentPlayerRank)
	{
		new g_name[32]
		get_user_name(killer, g_name, 31)
		ColorChat(0, GREEN, "[Cs-Gaming] ^1Congratulations! ^x03%s^x01 got a new rank ^x04%s", g_name, rankNames[PlayerRank[killer]])
	}
	return PLUGIN_CONTINUE;
}

Аватар
Drea<M>40BG ;]]
Извън линия
Потребител
Потребител
Мнения: 750
Регистриран на: 11 Окт 2016, 11:35
Се отблагодари: 115 пъти
Получена благодарност: 63 пъти
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Drea<M>40BG ;]] » 19 Фев 2018, 17:59

Значи искаш да има хем админ префикси, хем ранк система? Ако искаш само 1 плъгин търси из мненията на випа "3agopka" и ще намериш такъв, ако искаш с повече екстри - даваш 2 кода (ранк система и админ префикси на OciXcrom) и казваш да се съединяват

Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Punch* » 19 Фев 2018, 18:03

Аз исках хем admin prefix и rank system да са отделно . Защото на OciX на chat manager ми хареса и можеш да си слагаш и по име на prefix . Отделни няма ли да стане ? По-добре е отделно.

Аватар
Drea<M>40BG ;]]
Извън линия
Потребител
Потребител
Мнения: 750
Регистриран на: 11 Окт 2016, 11:35
Се отблагодари: 115 пъти
Получена благодарност: 63 пъти
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Drea<M>40BG ;]] » 19 Фев 2018, 19:35

Ти май не четеш какво ти пишат. Трябва да са свързани!

Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Punch* » 19 Фев 2018, 19:45

Как да ги свързвам ?

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от OciXCrom » 19 Фев 2018, 20:32

Хора, вие четете ли изобщо? Момчето точно и ясно е казало, че ползва РЕДАКТИРАНА версия на моя Chat Manager, който е свързан с ранк система, и иска да промени плъгина за ранк.

Решението е много просто - ако искаш да ползваш Chat Manager отделно, просто изтегли оригиналния плъгин от тук - viewtopic.php?f=21&t=1843

Ако искаш да го свържеш с друга ранк система, то тогава пусни си заявка в съответния раздел като предоставиш .sma файла на въпросната ранк система.

Аватар
Nikolow
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 196
Регистриран на: 27 Ное 2016, 13:02
Местоположение: Варна
Се отблагодари: 7 пъти
Получена благодарност: 79 пъти
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Nikolow » 19 Фев 2018, 23:57

Решението е точно в поста над моят.
Искам само да допълня, че сорс кодовете от плъгините ГИ ИМА в платформата на сървъра (винаги).
В случая, при спиране на ранк системата, чат мениджъра спира работа, защото не може да намери функция, която е поместена в плъгина за ранк системата.
Tired and retired...

Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Помощ за Rank System и Chat Manager

Мнение от Punch* » 20 Фев 2018, 16:33

Благодаря ви за всичко оправих всичко с помощта на вас. :tnx: :tnx: :tnx:


:lock:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта