Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

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

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Ошибка 17 в скрипте
Ошибка 17 в скрипте
DEMO-Stalker Дата: Вторник, 11.03.2014, 19:27:36 | Сообщение # 1
Сообщений: 49
Репутация: 0 [ +/- ]
Просьба разобрать, что я делаю не так?

Код
#include <sourcemod>

public Plugin:myinfo = {
     name        = "Players",
     author      = "",
     description = "Display player online",
     version     = "1.0",
     url         = ""
}

public OnPluginStart()
{
  new count;  
  for (new i = 1;i<=MaxClient;i++)  
  {  
   if (IsClientInGame(i))  
   {  
    count++;  
   }  
  }  
  new Handle:players = CreateKeyValues("", "title", "count");  
  playersSetColor(players, "color", 255, 0, 0, 255);  
  playersSetNum(players, "level", 1);  
  playersSetNum(players, "time",  10);  
  CreateDialog(client, players, DialogType_Msg);  
  CloseHandle(players);
}


Сообщение отредактировал DEMO-Stalker - Вторник, 11.03.2014, 19:48:11
 
BarD Дата: Среда, 12.03.2014, 10:56:17 | Сообщение # 2
Сообщений: 943
Репутация: 137 [ +/- ]
Цитата DEMO-Stalker ()
  playersSetColor(players, "color", 255, 0, 0, 255);
playersSetNum(players, "level", 1);
playersSetNum(players, "time",  10);


Что это? Если тебе надо заменить значения в KeyValues, то используй
Код
KvSetNum(players, "level", 1);  // Вместо playersSetNum
и
KvSetColor(players, "color", 255, 0, 0, 255);// Вместо playersSetColor


Надеюсь, что помог


Сообщение отредактировал BarD - Среда, 12.03.2014, 10:57:08
 
DEMO-Stalker Дата: Среда, 12.03.2014, 19:01:45 | Сообщение # 3
Сообщений: 49
Репутация: 0 [ +/- ]
BarD, Спасибо! Но компилятор видит ошибку в следующих строках
Код
for (new i = 1;i<=MaxClient;i++)

и
Код
CreateDialog(client, players, DialogType_Msg);
 
Darkeneez Дата: Среда, 12.03.2014, 19:52:25 | Сообщение # 4
Сообщений: 221
Репутация: 18 [ +/- ]
Цитата DEMO-Stalker ()
CreateDialog(client, players, DialogType_Msg);

client - i

for (new i = 1;i<=MaxClient;i++)

for (new i = 1;i<=MaxClients;i++)


Сообщение отредактировал Darkeneez - Среда, 12.03.2014, 19:52:49
 
ThRunningMan Дата: Четверг, 13.03.2014, 05:02:45 | Сообщение # 5
Сообщений: 140
Репутация: 12 [ +/- ]
головой то надо думать....
ты вводишь цикл по индексам клиентов и индекс хранится в перменной i, а в той строке у тебя вообще неизвестная переменная client, что собственно компилятор тебе и выдал ошибкой "Неизвестная переменная", но ты же умеешь думать и понимаешь что ты ввел другое обозначение индексу клиента и что нужно заменить clitne на i
Ребята, если спрашивать такие мелочи и не пытаться разобратсья самим , вы нехера ничему не научитесь, нужно сидеть курить плагины написанные другими людьми, читать статьи, и методом тыка познавать истину, ограничений на компиляцию плагинов нет, тогда в чем проблема то поэкспериментировать!?
 
Darkeneez Дата: Четверг, 13.03.2014, 11:30:18 | Сообщение # 6
Сообщений: 221
Репутация: 18 [ +/- ]
Цитата ThRunningMan ()
Применить

Цитата ThRunningMan ()
головой то надо думать....
ты вводишь цикл по индексам клиентов и индекс хранится в перменной i, а в той строке у тебя вообще неизвестная переменная client, что собственно компилятор тебе и выдал ошибкой "Неизвестная переменная", но ты же умеешь думать и понимаешь что ты ввел другое обозначение индексу клиента и что нужно заменить clitne на i
Ребята, если спрашивать такие мелочи и не пытаться разобратсья самим , вы нехера ничему не научитесь, нужно сидеть курить плагины написанные другими людьми, читать статьи, и методом тыка познавать истину, ограничений на компиляцию плагинов нет, тогда в чем проблема то поэкспериментировать!?


Истину глаголишь
 
DEMO-Stalker Дата: Четверг, 13.03.2014, 20:12:48 | Сообщение # 7
Сообщений: 49
Репутация: 0 [ +/- ]
ThRunningMan, спасибо) Но иногда важно, чтобы кто-то помог, ведь так учишься (хотя согласен, самому нужно было посидеть)

Добавлено (13.03.2014, 20:12:48)
---------------------------------------------
ThRunningMan, Но в строке ошибка не пропала

Код
CreateDialog(i, players, DialogType_Msg);
 
BarD Дата: Пятница, 14.03.2014, 09:33:56 | Сообщение # 8
Сообщений: 943
Репутация: 137 [ +/- ]
DEMO-stalker,, что ты хотел сделать строкой
Цитата DEMO-Stalker ()
CreateDialog(i, players, DialogType_Msg);

?
Если хотел вывести в чат цвет, уровень и время, то надо создать несколько переменных и выводить их командой PrintToChat или PrintToChatAll. Например, если тебе надо вывести в чат уровень, цвет и время, то делай так:
Код
new timenum;
new colorred;
new levelnum;
new colorgreen;
new colorblue;
new coloralpha;

levelnum = KvGetNum(players, "level"); // Получаем уровень
timenum = KvGetNum(players, "time"); // Получаем время

// А вот с цветом наверное так:

colorred = KvGetColor(players, "color", &r); // Получаем цвет red
colorrgreen = KvGetColor(players, "color", &g); // Получаем цвет green
colorblue = KvGetColor(players, "color", &b); // Получаем цвет blue
coloralpha = KvGetColor(players, "color", &a); // Получаем прозрачность

PrintToChat(client, "Ваш уровень: %d, Ваше время: %d, Ваш цвет: %d, %d, %d, %d", levelnum, timenum, colorred, colorgreen, colorblue, coloralpha);// Выводим сообщение игроку    

//(Если всем хочешь отправить, то так: PrintToChatAll("Ваш уровень: %d, Ваше время: %d, Ваш цвет: %d, %d, %d, %d", levelnum, timenum, colorred, colorgreen, colorblue, coloralpha);)


Вот так вот. Удачи в обучении!


Сообщение отредактировал BarD - Пятница, 14.03.2014, 09:36:29
 
DEMO-Stalker Дата: Суббота, 15.03.2014, 23:44:23 | Сообщение # 9
Сообщений: 49
Репутация: 0 [ +/- ]
BarD, Мне не в чат нужно вывести, а так спасибо. Изначальный код плагина выше)
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Ошибка 17 в скрипте
  • Страница 1 из 1
  • 1
Поиск: