The End Is Near...
Russian Roulette
- Сообщения
- 874
- Реакции
- 691
пусть сам введет тег, с которым будет сверяться плагин и все@The End Is Near..., это то ясно. Вопрос в другом: как ты получишь точный клан тэг группы?
пусть сам введет тег, с которым будет сверяться плагин и все@The End Is Near..., это то ясно. Вопрос в другом: как ты получишь точный клан тэг группы?
public Action ChooseTeam(int client, const char[] command, int args)
{
if (!client) return Plugin_Handled;
char text[5];
GetCmdArgString(text, sizeof(text));
StripQuotes(text); TrimString(text);
if (StringToInt(text) == 5 || StringToInt(text) == 0)
{
PrintToChat(client, AUTOJOIN_TEXT);
return Plugin_Handled;
}
char s_ClanTags[64];
CS_GetClientClanTag(client, s_ClanTags, sizeof(s_ClanTags));
for (int i = 0; i < sizeof(g_sClanTags); i++)
{
if (StrEqual(s_ClanTags, g_sClanTags[i], false) && b_InGroup[client] && StringToInt(text) == 3)
{
return Plugin_Continue;
}
else return Plugin_Handled;
}
return Plugin_Continue;
}
ойй, что так много всего, цикл у тебя не работает к тому же вовсеВроде бы сделал. Нужно проверить код:
ОффтопC-подобный:public Action ChooseTeam(int client, const char[] command, int args) { if (!client) return Plugin_Handled; char text[5]; GetCmdArgString(text, sizeof(text)); StripQuotes(text); TrimString(text); if (StringToInt(text) == 5 || StringToInt(text) == 0) { PrintToChat(client, AUTOJOIN_TEXT); return Plugin_Handled; } char s_ClanTags[64]; CS_GetClientClanTag(client, s_ClanTags, sizeof(s_ClanTags)); for (int i = 0; i < sizeof(g_sClanTags); i++) { if (StrEqual(s_ClanTags, g_sClanTags[i], false) && b_InGroup[client] && StringToInt(text) == 3) { return Plugin_Continue; } else return Plugin_Handled; } return Plugin_Continue; }Здесь не весь ибо стырят за бесплатно :D
Сделал плагин вот как: Если игрок состоит в группе steam и имеет нужный клан тэг (который прописывается в кваре) то раазрешаем заходить за CT сторону, если нет то запрещаем.
с чего это?цикл у тебя не работает к тому же вовсе
if (StrEqual(s_ClanTags, g_sClanTags[ i ], false) && b_InGroup[client] && StringToInt(text) == 3)
как минимум нигде не используешь i, как максимум, return цикл закрывает при первом же шагес чего это?
а ты мой: return цикл закрывает при первом же шагеОффтоп@The End Is Near..., перечитай мой пост.
не понял? Что ты имеешь виду. Что он там закрывает ?а ты мой: return цикл закрывает при первом же шаге
сколько строк хранишь в g_sClanTags?не понял? Что ты имеешь виду.
вторую строку не проверяет, return же, на первой остановится@The End Is Near..., в данный момент две.
@The End Is Near..., как все сложно. Ткни пальцем...
как проспишься, спрашивай, не хочу об одном и том же писать каждый раз@The End Is Near..., а то затираешь про какой то первый шаг. я вообще в !client смотрел. Т.е else return plugin_handled я убираю оно вроде как и не нужно. А теперь: почему вторую строку не проверяет? и причем здесь return.
Оффтоп
Сутки не спал, вообще шляпа не варит.
public Action ChooseTeam(int client, const char[] command, int args)
{
if (!client) return Plugin_Handled;
char text[5];
GetCmdArgString(text, sizeof(text));
StripQuotes(text); TrimString(text);
if (StringToInt(text) == 5 || StringToInt(text) == 0)
{
PrintToChat(client, AUTOJOIN_TEXT);
return Plugin_Handled;
}
if (StringToInt(text) != 3) return Plugin_Continue;
if (!b_InGroup[client]) return Plugin_Handled;
char s_ClanTags[64];
CS_GetClientClanTag(client, s_ClanTags, sizeof(s_ClanTags));
for (int i = 0; i < sizeof(g_sClanTags); i++)
if (StrEqual(s_ClanTags, g_sClanTags[i], false))
return Plugin_Continue;
return Plugin_Handled;
}
ййй, прикрыть твою кормушку, что ли, а стрингтуинт == 5 - это что (число 5 что значит)?@Гансэлло, уже все сделано.