Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » БАН
БАН
Scarface_slv Дата: Понедельник, 09.04.2012, 06:04:04 | Сообщение # 16
Сообщений: 738
Репутация: 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)
---------------------------------------------
:-)


Прикрепления: Banedmenu.sp(3.7 Kb)
 
Scarface_slv Дата: Понедельник, 09.04.2012, 06:05:07 | Сообщение # 17
Сообщений: 738
Репутация: 61 [ +/- ]
=)

Прикрепления: 2060460.sp(2.7 Kb)
 
Naykon Дата: Понедельник, 09.04.2012, 12:51:35 | Сообщение # 18
Сообщений: 439
Репутация: -4 [ +/- ]
Ты проверял хоть прежде чем выложил?)) Банит себя а не выбранного игрока...

Мой тот что ты выложил - вообще не банит теперь =)

wS реши проблему а то двоем неделю крутимся((((((((xD
 
_wS_ Дата: Понедельник, 09.04.2012, 13:22:23 | Сообщение # 19
dumaem

Прикрепления: ban.sp(2.4 Kb)
 
Scarface_slv Дата: Понедельник, 09.04.2012, 15:13:16 | Сообщение # 20
Сообщений: 738
Репутация: 61 [ +/- ]
да твой я случано выложил там) и я знаю что он не банит)
 
Naykon Дата: Вторник, 10.04.2012, 15:23:12 | Сообщение # 21
Сообщений: 439
Репутация: -4 [ +/- ]
Code
ServerCommand("banid %d %s kick", BanTime[client], SteaM);


dumaem diavol2

Добавлено (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
Здесь уроки скриптинга, помощь, а не исполнение твоих желаний. Помощь ты получил, примеров есть немало. Если не понимаешь и не получается, то просто бросай это дело, видимо не для тебя оно. Я тратил на тебя время, надеясь что ты стараешься, пробуешь сам, а ты просишь готовое. Того что я сказал, примеры которые дал - достаточно чтобы сделать твой скрипт.

greenzlo

Запомни простую истину: человек не любит, когда его грузят. Перед тем, как на кого-то давить своими проблемами, поставь себя на его место и подумай, зачем ему тебе помогать? Одно дело если человек старается, если действительно без помощи не обойтись, а так как ты поступаешь - тебя, грубо говоря, просто пошлют, даже у самого доброго такие мысли возникнут, только кто-то сдерживается и помогает, а кто-то сразу посылает, потому что сдерживаться можно только некоторое время.

Так что, если просишь помощи у кого-то, то он должен видеть, что она правда тебе нужна.
По твоим сообщениям видно лишь что ты наглый халявщик.
 
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 глянь, неужели не видел что компилятор говорит? Не должны имена локальных и глобальных переменных быть одинаковыми.
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » БАН
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: