Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

проблема с ChangeModels

zlou
сообщение 19.4.2015, 8:08
Сообщение #1
Стаж: 11 лет

Сообщений: 135
Благодарностей: 7
Полезность: < 0

Суть проблемы пишет не правильный пароль
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#pragma semicolon 1

#define PLUGIN "ChangeModel (free) for amx-x.ru"
#define VERSION "1.0"
#define AUTHOR "Pain96"

#define CS_TEAM_T 1
#define CS_TEAM_CT 2

// путь/имя конфигурационного файла; префикс в качестве ключа для setinfo, содержащий пароль; причина кика, если пароль не совпадает
new const g_Library[][] = {"", "/addons/amxmodx/configs/models.ini", "_mdl", "Неверный пароль"};

new szInfoPlayerModelCt[33], szInfoPlayerModelTt[33],
szAccessUser[33];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("ResetHUD", "ChangeModel", "b");
}

public plugin_precache()
{
new szInfo[256], szInfoPrecache[128],
szInfoUser[32], szInfoUserPassword[32],
szInfoModelCt[64], szInfoModelTt[64],
iNum;

for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
{
if(iNum && szInfo[0] != ';')
{
parse(szInfo, szInfoUser, charsmax( szInfoUser ),
szInfoUserPassword, charsmax(szInfoUserPassword),
szInfoModelCt, charsmax(szInfoModelCt),
szInfoModelTt, charsmax(szInfoModelTt)
);

formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelCt, szInfoModelCt);
precache_model(szInfoPrecache);
formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelTt, szInfoModelTt);
precache_model(szInfoPrecache);
}
}
}

public client_connect(id)
{
set_task(0.5, "CheckPlayerInfo", id);
szAccessUser[id] = false;
szInfoPlayerModelCt[id] = false;
szInfoPlayerModelTt[id] = false;
}

public client_infochanged(id)
{
set_task(0.5, "CheckPlayerInfo", id);
szAccessUser[id] = false;
szInfoPlayerModelCt[id] = false;
szInfoPlayerModelTt[id] = false;
}

public CheckPlayerInfo(id)
{
new szInfo[256], szName[32],
szSteam[32], szIP[32],
szPassword[32], szInfoUser[32],
szInfoUserPassword[32], szInfoModelCt[64],
szInfoModelTt[64], iNum;

if (!is_user_connected(id))
return 0;

get_user_name(id, szName, charsmax(szName));
get_user_authid(id, szSteam, charsmax(szSteam));
get_user_ip(id, szIP, charsmax(szIP), 1);

for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
{
if(iNum && szInfo[0] != ';')
{
parse(szInfo, szInfoUser, charsmax( szInfoUser ),
szInfoUserPassword, charsmax(szInfoUserPassword),
szInfoModelCt, charsmax(szInfoModelCt),
szInfoModelTt, charsmax(szInfoModelTt)
);

if (equal(szName, szInfoUser))
{
get_user_info(id, g_Library[2], szPassword, charsmax(szPassword));

if(!equal(szInfoUserPassword, szPassword))
return server_cmd("kick %s ^"%s^"", szName, g_Library[3]);

copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
else if (equal(szSteam, szInfoUser))
{
copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
else if (equal(szIP, szInfoUser))
{
copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
}
}
return 1;
}

public ChangeModel(id, level, cid)
{
if (szAccessUser[id])
{
new iTeam = get_user_team(id);
switch(iTeam)
{
case CS_TEAM_T: cs_set_user_model(id, szInfoPlayerModelTt[id]);
case CS_TEAM_CT: cs_set_user_model(id, szInfoPlayerModelCt[id]);

default: cs_reset_user_model(id);
}
}
return 0;
}


Вот models.ini

Цитата
;"Ник/IP/Steam" "Пароль (для IP/Steam оставьте любое значение)" "Модель Контер-Террориста" "Модель Террориста"
;Чтобы зайти на сервер под запороленным ником, необходимо набрать в консоле setinfo _mdl ПАРОЛЬ
;Расширение моделей (.mdl) и путь к модели писать не нужно, все что требуется это название моделе.
;Для кого-то открою новость: модели игроков должны лежать в папке models/player/ИМЯ МОДЕЛИ/ИМЯ МОДЕЛИ.mdl,
;то есть папка соответствует названию модели
;Пример:
"Pain96" "zbs_parol" "vip" "terror"
"3JIou*_*KoTuk" "123" "kotct" "kott"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя khanter
сообщение 21.4.2015, 15:54
Сообщение #2
Стаж: 11 лет

Сообщений: 10
Благодарностей: 1
Полезность: 0

А как ты в консоле пишешь ?
setinfo _mdl parol
Верно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 21.4.2015, 16:34
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Не используй метод
register_event("ResetHUD", "ChangeModel", "b");


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 22.4.2015, 14:24
Сообщение #4
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

Цитата(ssx @ 21.4.2015, 17:34) *
Не используй метод
register_event("ResetHUD", "ChangeModel", "b");

с проверкой пароля то оно никак не связанно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 22.4.2015, 14:27
Сообщение #5


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(admir @ 22.4.2015, 15:24) *
с проверкой пароля то оно никак не связанно

Не спрашивай почему! просто не используй!


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 22.4.2015, 17:40
Сообщение #6
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

Цитата(ssx @ 22.4.2015, 15:27) *
Не спрашивай почему! просто не используй!

я прекрасно знаю почему, нагрузка на ResetHUD вызывает падения. я говорю, что это не решение проблемы
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 22.4.2015, 17:44
Сообщение #7


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(admir @ 22.4.2015, 18:40) *
я прекрасно знаю почему, нагрузка на ResetHUD вызывает падения. я говорю, что это не решение проблемы

А я и не говорю о решении поставленной тобой задачи. Я говорю о том что бы не юзал ResetHUD.



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: