s@sh@
|
Дата: Понедельник, 21.10.2013, 11:58:23 | Сообщение # 1 |
|
Сообщений: 4
Репутация: 0 [ +/- ]
|
|
Я решил привязать #include <morecolors>. 1.Я привязал morecolors к resetrank.sp Цвета все работает все хорошо:
Код [color=red]CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Сброс игроку: {green}sm_stats_resetrank <name>");
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Вы {green}успешно {lightgreen}сбросили свою статистику!");
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] {red}Ошибка {lightgreen}при сбросе статистики!");
CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Возможность сброса статистики {red}отключена{lightgreen}!");[/color] 2.Когда я привязал morecolors к файлу rank.sp и начал добавлять цвета для себя. Получилось так: [size=6]Код // File: rank.sp // Author: ]SoD[ Frostbyte
#include "sodstats\include\sodstats.inc" #include <sourcemod> #include <morecolors> PrintRankToAll(client) { Stats_GetPlayerRank(client, Rank_Callback, client); }
public Rank_Callback(rank, delta, any:data, error) { new client = data; new Handle:pack = CreateDataPack(); WritePackCell(pack, rank); WritePackCell(pack, delta); WritePackCell(pack, client); Stats_GetPlayerById(client, Rank_PlayerIdCallback, pack); }
public Rank_PlayerIdCallback(const String:name[], const String:steamid[], any:stats[], any:data, error) { if(error == ERROR_PLAYER_NOT_FOUND) { LogError("[Ранк] RankCallback: Игрок не найден."); return; }
new Handle:pack = data; ResetPack(pack);
new rank = ReadPackCell(pack); new delta = ReadPackCell(pack); new client = ReadPackCell(pack);
decl String:text[256];
new bool:isAlive = IsPlayerAlive(client);
if(g_gameid == ID_CSS || g_gameid == ID_TF2) { Format(text, sizeof(text), "{lightgreen}[{green}Ранк{lightgreen}] {olive}%s {greenyellow}занимает {olive}%i {greenyellow}из {green}%i {lightgreen}|{green}%i {greenyellow}очков{lightgreen}| {lightgreen}[{green}%i {greenyellow}до след. места{lightgreen}] {lightgreen}[{lightgreen}Убийств: {green}%i {greenyellow}- {lightgreen}Смертей: {green}%i{lightgreen}]", name, rank, g_player_count, stats[STAT_SCORE] + g_start_points, delta, stats[STAT_KILLS], stats[STAT_DEATHS]);
ColoredToAll(client, text, isAlive); } else { Format(text, sizeof(text), "\x04[Ранк] \x03%s\x01 занимает \x03%i \x01из \x04%i\x01 |%i очков| (%i до след. места) [\x01Убийств: \x04%i \x01- Смертей: \x04%i\x01]", name, rank, g_player_count, stats[STAT_SCORE] + g_start_points, delta, stats[STAT_KILLS], stats[STAT_DEATHS]);
switch(g_displaymode) { case DISPLAYMODE_PUBLIC: CPrintToChatAll(text); case DISPLAYMODE_PRIVATE: CPrintToChat(client, text); case DISPLAYMODE_CHAT: { if(isAlive == true) { CPrintToChatAll(text); } else { new maxclients = GetMaxClients(); for(new i = 1; i <= maxclients; i++) { if(IsClientInGame(i) && !IsFakeClient(i) && (!IsPlayerAlive(i) || isAlive)) { CPrintToChat(i, text); } } } } } } }
ColoredToAll(client, const String:message[], isAlive) { switch(g_displaymode) { case DISPLAYMODE_PUBLIC: { new maxclients = GetMaxClients(); for(new i = 1; i <= maxclients; i++) { if(IsClientInGame(i) && !IsFakeClient(i)) { SayText2(i, client, message); } } } case DISPLAYMODE_PRIVATE: SayText2(client, client, message); case DISPLAYMODE_CHAT: { new maxclients = GetMaxClients(); for(new i = 1; i <= maxclients; i++) { if(IsClientInGame(i) && !IsFakeClient(i) && (!IsPlayerAlive(i) || isAlive)) { SayText2(i, client, message); } } } } }
// CREDITS TO DJTSUNAMI FOR THIS public SayText2(to, from, const String:message[]) { new Handle:hBf = StartMessageOne("SayText2", to);
BfWriteByte(hBf, from); BfWriteByte(hBf, true); BfWriteString(hBf, message);
EndMessage(); }
И получилось так что цвета вообще не читало хотя где ниже идут все PrintToChat я исправил на CPrintToChat.
3. При компиляции нет никаких проблем. Но когда пишу в чат мне ничего не отображает, но когда смотрю в консоль сервера пишет вот так прикрепил* [/size] Прошу помогите исправить ошибку. Вторую строчку решил оставить без изменения но все равно ничего не работает даже когда меняешь.
Гости не могут скачивать файлы
|
Сообщение отредактировал s@sh@ - Понедельник, 21.10.2013, 12:05:06 |
|
| |
Scarface_slv
|
Дата: Вторник, 22.10.2013, 08:03:09 | Сообщение # 2 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Превышен лимит в 256 байтов. Максимальное количество символов в строке 255. Странно никогда такого не было. Может такое появилось в новых версиях контры:)
|
|
| |