БАН
| |
Scarface_slv
|
Дата: Понедельник, 09.04.2012, 06:04:04 | Сообщение # 16 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
чтоб ты точно понял мой пример, в твоем ошибок стока зачем тебе Code new admin; new String:BanSteam[MAXPLAYERS+1][60]; new Handle:bMenu; new Handle:pMenu; new Handle:bMenu2; из перечисленного можно оставить тока new Handle:bMenu; и все менюшки назвать так)Добавлено (09.04.2012, 06:02:20) --------------------------------------------- ой твой выложил жалко редактировать нельзя Добавлено (09.04.2012, 06:04:04) --------------------------------------------- :-)
Гости не могут скачивать файлы
|
|
|
| |
Scarface_slv
|
Дата: Понедельник, 09.04.2012, 06:05:07 | Сообщение # 17 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
=)
Гости не могут скачивать файлы
|
|
|
| |
Naykon
|
Дата: Понедельник, 09.04.2012, 12:51:35 | Сообщение # 18 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Ты проверял хоть прежде чем выложил?)) Банит себя а не выбранного игрока...
Мой тот что ты выложил - вообще не банит теперь =)
wS реши проблему а то двоем неделю крутимся((((((((xD
|
|
| |
_wS_
|
Дата: Понедельник, 09.04.2012, 13:22:23 | Сообщение # 19 |
|
Гости не могут скачивать файлы
|
|
|
| |
Scarface_slv
|
Дата: Понедельник, 09.04.2012, 15:13:16 | Сообщение # 20 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
да твой я случано выложил там) и я знаю что он не банит)
|
|
| |
Naykon
|
Дата: Вторник, 10.04.2012, 15:23:12 | Сообщение # 21 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Code ServerCommand("banid %d %s kick", BanTime[client], SteaM);
Добавлено (10.04.2012, 15:23:12) --------------------------------------------- wS проверте свой плагин от тоже себя банит((((((((((((((((((((
|
|
| |
_wS_
|
Дата: Вторник, 10.04.2012, 16:19:35 | Сообщение # 22 |
|
Да я для примера дал.. Ну добавь условия, чтобы не банить себя.. Ума ж немного надо чтобы это понять.
|
|
| |
Naykon
|
Дата: Четверг, 12.04.2012, 23:07:40 | Сообщение # 23 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
wS приведите пожалуйста конкретный пример типа меню в котором нажимая на игрока высвечивалось: Имя выбраного игрка, СтимID получается вывести Стим ID но не получается получить НИК!Добавлено (12.04.2012, 23:07:40) --------------------------------------------- О чудо форум... как задам вопросы сам же нахожу на него ответ))) спс уже не ножно =)
Появился следующий вопрос... Если пользоваться командой типа ServerCommand("banid %d %s kick", BanTime[client], SteaM); Как сделать чтоб причина Бана у игрока высвечивалась сразу после бана!! типа как в BanClient ???
|
|
| |
_wS_
|
Дата: Четверг, 12.04.2012, 23:20:30 | Сообщение # 24 |
|
Просто не указывай kick в конце, когда делаешь banid. После бана, кикни игрока отдельной командой: KickClient(client, "сообщение");
|
|
| |
Naykon
|
Дата: Четверг, 12.04.2012, 23:42:50 | Сообщение # 25 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Косвенные вопрос от этой темы.
Code #include <sourcemod> #include <cstrike> #include <sdktools> #include <sdktools_entoutput> #include <sdktools_functions>
new admin; new ID;
public OnPluginStart() { RegAdminCmd("sg", AdminSay, ADMFLAG_ROOT); }
public Action:AdminSay(admin, args) { BanPlayersMenu(admin); return Plugin_Handled; }
BanPlayersMenu(admin) { new Handle:menu = CreateMenu(BanPlayersSelect); SetMenuTitle(menu, "Кого?\n \n"); SetMenuExitButton(menu, false); decl String:StR_Id[15], String:StR_Name[MAX_NAME_LENGTH]; for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { IntToString(GetClientUserId(i), StR_Id, sizeof(StR_Id)); ID = StR_Id[i]; GetClientName(i, StR_Name, sizeof(StR_Name)); AddMenuItem(menu, StR_Id, StR_Name); } } DisplayMenu(menu, admin, 0); }
public BanPlayersSelect(Handle:menu, MenuAction:action, i, option) { if (action == MenuAction_Select) { decl String:StR_Id[15]; decl String:BanSteam[MAXPLAYERS+1][60]; GetMenuItem(menu, option, StR_Id, sizeof(StR_Id)); GetMenuItem(menu, option, BanSteam[i], 60); new ClientX = GetClientOfUserId(StringToInt(StR_Id)); if (ClientX > 0) { PrintToChatAll("Имя подсудимого: %N", ClientX); PrintToChatAll("ID подсудимого: %s", ID); } else PrintToChat(i, "Игрок не найден"); } }
Получаю имя игрка но ID не могу получить почему? И предложите альтернативу!Добавлено (12.04.2012, 23:42:50) --------------------------------------------- Чтоб дать вам понять что мне именно нужно. Я хочу чтоб бан начинался с 1) Имя игрока 2)Причина 3)Время + бан
|
|
| |
_wS_
|
Дата: Пятница, 13.04.2012, 00:05:16 | Сообщение # 26 |
|
1. Надо делать: if (action == MenuAction_End) CloseHandle(menu); 2. ID = StR_Id[i]; ???
Переменная ID должна хранить целое число, а ты в нее записываешь строку, причем очень криво. Неужели тяжело добавить пару таких строк для проверки?
Code PrintToServer("StR_Id = %s", StR_Id); PrintToServer("StR_Id[i] = %s", StR_Id[i]);
3. Зачем сохранять ID (userid)? 4. Это глупо:
Code GetMenuItem(menu, option, StR_Id, sizeof(StR_Id)); GetMenuItem(menu, option, BanSteam[i], 60);
5. Ты не смотришь в консоль/логи, где тебе четко указывают на все ошибки. Да и компилятор должен ругаться на такой код.
|
|
| |
Naykon
|
Дата: Пятница, 13.04.2012, 00:46:02 | Сообщение # 27 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Напишите мне наконец мини плагин который при выборе игрока из меню запомнит его стим и имя чтоб потом использовать их при бане в следющем меню..!!!
|
|
| |
_wS_
|
Дата: Пятница, 13.04.2012, 01:02:34 | Сообщение # 28 |
|
Здесь уроки скриптинга, помощь, а не исполнение твоих желаний. Помощь ты получил, примеров есть немало. Если не понимаешь и не получается, то просто бросай это дело, видимо не для тебя оно. Я тратил на тебя время, надеясь что ты стараешься, пробуешь сам, а ты просишь готовое. Того что я сказал, примеры которые дал - достаточно чтобы сделать твой скрипт.
Запомни простую истину: человек не любит, когда его грузят. Перед тем, как на кого-то давить своими проблемами, поставь себя на его место и подумай, зачем ему тебе помогать? Одно дело если человек старается, если действительно без помощи не обойтись, а так как ты поступаешь - тебя, грубо говоря, просто пошлют, даже у самого доброго такие мысли возникнут, только кто-то сдерживается и помогает, а кто-то сразу посылает, потому что сдерживаться можно только некоторое время.
Так что, если просишь помощи у кого-то, то он должен видеть, что она правда тебе нужна. По твоим сообщениям видно лишь что ты наглый халявщик.
|
|
| |
Naykon
|
Дата: Пятница, 13.04.2012, 10:45:41 | Сообщение # 29 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Да я стараюсь! Но меня часто поджимает время... из-за этого я прошу более конкретные примеры я не требую мне прям готовый плагин, я прошу максимально приближенный для понимания!!!
А именно:Code #include <sourcemod> #include <cstrike> #include <sdktools> #include <sdktools_entoutput> #include <sdktools_functions>
new admin; new ID;
public OnPluginStart() { RegAdminCmd("sg", AdminSay, ADMFLAG_ROOT); }
public Action:AdminSay(admin, args) { BanPlayersMenu(admin); return Plugin_Handled; }
BanPlayersMenu(admin) { new Handle:menu = CreateMenu(BanPlayersSelect); SetMenuTitle(menu, "Кого?\n \n"); SetMenuExitButton(menu, false); decl String:SteamID[15], String:Name[MAX_NAME_LENGTH]; for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { IntToString(GetClientUserId(i), SteamID, sizeof(SteamID)); GetClientName(i, Name, sizeof(Name)); AddMenuItem(menu, SteamID, Name); } } DisplayMenu(menu, admin, 0); }
public BanPlayersSelect(Handle:menu, MenuAction:action, i, option) { if (action == MenuAction_Select) { decl String:SteamID[15]; GetMenuItem(menu, option, SteamID, sizeof(SteamID)); new target = GetClientOfUserId(StringToInt(SteamID)); if (target > 0) { PrintToChatAll("SteamIDS = %s", SteamID); PrintToChatAll("SteamIDN = %N", SteamID); PrintToChatAll("targetS = %s", target); PrintToChatAll("targetN = %N", target); } } }
Почему не работает не один из Print ? Цель: Получить ник и стим ID выбраного игрока) Может для ID и Имени нужны отдельные переменные?
Не ругйме меня сильно на этом сайте я вообще впервые увидел "программирование" (((
|
|
| |
_wS_
|
Дата: Пятница, 13.04.2012, 12:21:11 | Сообщение # 30 |
|
Нельзя писать что попало, т.е. %s %N, %d, потому что они требуют переменную определенного типа (строку, индекс игрока, целое число и тд). Эта тема для чего?
Ты для %N указал SteamID (строку), а оно требует индекс игрока, и вернет его имя. И в переменной SteamID не стим у тебя, а userid. И на переменную admin глянь, неужели не видел что компилятор говорит? Не должны имена локальных и глобальных переменных быть одинаковыми.
|
|
| |
|