01:59
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: Alcoholik  
[FS] RegisterSys by me [SQLite основная рега]
[RD]ChezДата: Среда, 10.06.2009, 21:51 | Сообщение # 1
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Итак после 3ех недельного труда из под моей руки вышла Рега+админка+античит
Собственно почему я создал эту тему?
Потому что она([FS] RegisterSys) нуждается в онлайн проверке на бажность. Нужно проверить стабильность сервера, на котором запущен данный FS.
Выслушать и возможно реализовать какие-либо идеи в ней...
Те, кто будут активно помогать, получат финальную версию аюсолютно бесплатно(возможно даже с подробным рассказом что да как)

Итак что реализованно?

Реализована регистрация, чтение аккаунта из базы данных SQLite
Реализована смена ника by владелец аккаунта
Реализована 10-ти уровневая админка
Команды админки:[offtop]
[Moderator Level 1]: /kick /mute /unmute /tempban /setint /fix /fpv /spec /specoff //[Админ-чат]
[Moderator Level 1]: /flip /nos /hydraulics /carcolor /pweapons /healme
[Moderator Level 2]: /idban /goto /ann /freeze /unfreeze /disarm /eject /clearchat
[Moderator Level 3]: /ban /gethere /weather /slap /setskin /pmspec /getip /setvw /setvehvw
[Moderator Level 4]: /explode /sethp /setarmor /settime /givemoney /setkills /setdeaths /ptp
[Moderator Level 5]: /givegun /skydive /money /respawn /respawncars
[Admin Level 1]: /say /kickall /ejectall /disarmall /crash
[Admin Level 2]: /freezeall /unfreezeall /muteall /unmuteall /cmd
[Admin Level 3]: /maxping /chatlock /getallhere /setvw /setvehvw
[Admin Level 4]: /setgmtext /jetpack
[Admin Level 5]: /makeadmin[/offtop]
Реализованы следующие античиты:
[offtop]Антителепорт чит
Античит против посадки игрока в машину с большого расстояния
Античит против спавна машин перед собой
Античит против Fake Kill'ов
Античит против запрещенного оружия
Античит против бесконечных патронов (возможно нестабильный)
Античит против спидхака
Античит против ракетного ранца
Античит против ГМкара(частично против фриза здоровья) - с этим аккуратней, ибо может быть бажный
Античит против spectator режима (НЕ ИСПОЛЬЗУЙТЕ В ADD RUMBLE)
[/offtop]
Реализована защита от убийств на спавн точках
Реализована защита от спама командами, пм сообщениями и обычным текстом
Реализована защита от капса
Логгинг ПМ сообщений, набранных команд, чата, банов, киков, смены ников
Система временных банов: основа by Seif_, переделал под бд
Реализован кик игрока при превышении допустимого пинга
Реализован мут на время
Реализовано блокирование пм сообщений
Все настройки забиваются с помощью конфигов в папке RegisterSys (думаю там все логично и понятно)

В общем Что прошу от вас:
Проверить все закоулки FS'ки, которые не смог усмотреть я, написать здесь об этом, проверить античиты(настоятельно рекомендую для всех параметров античита ставить кик, но не бан)
Ах да забыл:
Параметры в конфиге
[offtop]KicksLogging=1 // все кики будут писаться в соответствующий лог
BansLogging=1 // аналогично
MaxPing=65536 // ну тут и ежу понятно
LockChat=0 // блокировка чата (никто не может писать)
AntiCheat=1 // активация античита, если будет 0, то античит не будет работать
ScoresUpdate=1 // включите эту опцию, если хотите чтобы в ScoresTable писало количество Убийств/на количество самоубийств, если в вашем моде стоит своя система Scores очков, ставьте 0
AntiSpawnKillTime=5 // ну тут и ежу понятно (5 секунд для защиты от спавнкилла)
[/offtop]
Параметры античита.
Hаказания: 1 = Kick, 2 = Ban, 0 = отсутствие данной проверки на читы
[offtop]FakeKillPunish=1
GMCarPunish=1
ForbidWeapPunish=1
InfAmmoPunish=1
MaxMoneyDesync=2000 // максимально количество денег, которое можно получить незаконно(стант бонусы и прочее)
MaxTeleportWarns=5
TeleportHackPunish=1
SpeedHackPunish=1
MaxSpeedHackWarns=5
SpectatorPunish=1
CarJackPunish=1
CarSpawnPunis h=1
MaxCarSpawnWarns=5
JetPackPunish=1
SpamPunish=1[/offtop]

Запрет на оружие
[offtop]
Knuckles=0
Golf=0
NiteStick=1
Knife=0
BaseballBat=1
Shovel=0
PoolCue=0
Katana=1
Chainsaw=0
PurpleDildo=0
SmallWhiteVibrator=0
L argeWhiteVibrator=0
SilverVibrator=0
Flowers=0
Cane=0
Grenade=0
TearGas=0
Molotov=0
VehicleMissile=0
HydraFlare=0
Jetpack=0
9mm=0
S ilenced=1
DEagle=1
Shotgun=1
Sawnoff=0
Spas12=0
Uzi=0
MP5=1
AK47=1
M4=1
Tec9=0
Rifle=1
Sniper=0
Rocket=0
HSRocket=0
Flamethrow er=0
Minigun=0
RemoteExplosives=0
Detonator=0
Spraycan=0
FireExtinguisher=0
Camera=0
Nightvision=0
Infrared=0
Parachute=1[/offtop]
Для каждого оружия свои параметр: 1 - разрешено, 0 - запрещено

Команды для "смертных":
/showstats /register /login /send(посылает деньги другому игроку)

Для правильной работы в свой мод включите инклуд
#include

Установка:
В server.cfg пишем в строку filterscripts
RegisterSys

кидаем в папку scriptfiles содержимое аналогичной папки в архиве,
Кидаем в каталог инклудов вашего компилятора RegisterSys.inc
обычно это %Server Dir%/pawno/include/

Ссылка на япапко: [FS] RegisterSys v0.1b// поправил ссылку
Зеркало добавлю по необходимости

[RD]Chez

P.S. Данная версия является тестовой В ФА не выкладывать! Ибо не pwn и ибо я еще не согласен :D
В новой версии Планируется сделать управление аккаунтами с помощью "rcon панели управления"



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru


Сообщение отредактировал [RD]Chez - Четверг, 11.06.2009, 14:32
MorozzzkoДата: Среда, 10.06.2009, 22:01 | Сообщение # 2
Мастер джэдай
Группа: Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус:
[RD]Chez, кульно.
потестил бы, да самп накрылся crazy



Главный программист в Malefic Entertainment.
[RD]ChezДата: Среда, 10.06.2009, 22:02 | Сообщение # 3
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Quote (Morozzzko)
потестил бы, да самп накрылся

вот-вот... аналогично.. и потестить не могу и проконтролировать тестирование игроками



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
stepmexДата: Среда, 10.06.2009, 22:12 | Сообщение # 4
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (|RD|Chez)
базы данных SQLite
а у меня MySQL, рабботать будет?



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
[RD]ChezДата: Среда, 10.06.2009, 22:16 | Сообщение # 5
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
stepmex, SQLite это отдельный файл, который создается при старте скрипта, если в папке пусто
В скрипте 3 таблицы...
две банов
одна игроков
все это хранится в 1 файле, который открывается и обрабатывается стандартными средствами a_sampdb.inc
Грубо говоря сплошой локалхост... а если у кого-то есть php хостинг(apache) то можно набросать панель упрвления для скрипта, ибо php прекрасно работает с SQLit, как и с мускулом, просто для работы SQLite не нужен сервер, кроме самп сервера
Позже возможно выложу рестартер с возможностью заменять, бэкапить базу данных при рестарте сервака, ибо при работающем серве невозможно дотронуться до бд



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru


Сообщение отредактировал [RD]Chez - Среда, 10.06.2009, 22:20
InfernoДата: Среда, 10.06.2009, 22:28 | Сообщение # 6
Хостинг-провайдер
Группа: I'm V.I.P.
Сообщений: 1320
Награды: 26
Город: /root
Репутация: 320
Замечания: 0%
Статус:
Чез забыл добавить:
Данный скрипт не был протестирован создателем на "прирученность", да и вообще при написании разработчик был не в себе!

lol

Quote (|RD|Chez)
Грубо говоря сплошой локалхост

Грубо говоря мускуль тоже есть сплошной локалхост)
Если конечно некоторые извращенцы не будут юзать удаленный...

[RD]ChezДата: Среда, 10.06.2009, 22:29 | Сообщение # 7
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Quote (Inferno)
Данный скрипт не был протестирован создателем на "прирученность", да и вообще при написании разработчик был не в себе!

попрошу не выражаться crazy



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
EakwarpДата: Среда, 10.06.2009, 22:38 | Сообщение # 8
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (|RD|Chez)
SQLite

ужс.. жутко тормознутая бд использование которой я настоятельно не рекомендую, с мускулом уж точно не в какое сравнение не идет.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
stepmexДата: Среда, 10.06.2009, 22:43 | Сообщение # 9
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Eakwarp, давай только не будем тут безосновательных заявлений кидать. Скорость зависит от прямоты рук и оптимизированности кода.


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
[RD]ChezДата: Среда, 10.06.2009, 22:43 | Сообщение # 10
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Eakwarp, смотря как оптимизировать запросы mda
Мне удавалось на гф добиваться такой же скорости выполнения запросов как и на MySQL



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
stepmexДата: Среда, 10.06.2009, 22:47 | Сообщение # 11
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Eakwarp, [RD]Chez, мне интересно, а вы скорость чем замеряли? fun


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
[RD]ChezДата: Среда, 10.06.2009, 22:54 | Сообщение # 12
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
визуально и через TickCount + printf


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
stepmexДата: Среда, 10.06.2009, 23:10 | Сообщение # 13
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
[RD]Chez, покажи примеры crazy


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
EakwarpДата: Среда, 10.06.2009, 23:48 | Сообщение # 14
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Я точно не помню но помоему в скюлайт можно только 8 запросов в секунду делать или что то в этом роде. Оптимизация кода тут абсолютно непричем, и говорить о ней - выставлять себя полным нубом.


More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
[RD]ChezДата: Четверг, 11.06.2009, 00:25 | Сообщение # 15
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
stepmex,
new old=GetTickCount();
в начало формирования запроса,
printf("Ticks %d",old-GetTickCount());
в его конец
Eakwarp, mda вот не надо ляля
сравни
неоптимизированный вариант:
Code
new QuerySave[256];
new DBResult:QresSave;
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Mute='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][Mute], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Admin='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][pAdmin], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Kills='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][Kills], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET MKFL='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][MaxKillsForLife], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Deaths='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][Deaths], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Suicides='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][Suicides], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);

он же но оптимизированный

Code
new QuerySave[256];
new DBResult:QresSave;
format(QuerySave, sizeof(QuerySave) ,"UPDATE Players SET Mute='%d',Admin='%d',Kills='%d',MKFL='%d',Deaths='%d',Suicides='%d' WHERE LOWER(Name) = LOWER('%s');", PlayerInform[playerid][Mute], PlayerInform[playerid][pAdmin], PlayerInform[playerid][Kills], PlayerInform[playerid][MaxKillsForLife], PlayerInform[playerid][Deaths], PlayerInform[playerid][Suicides], db_GetPlayerName(playerid));
QresSave = db_query(DataBase, QuerySave);
db_free_result(QresSave);

дальше чтение:
неоптимизированный

Code

stock db_Get(tablename[], key[], titul[], value[])
{
  format(DBQuery, sizeof(DBQuery), "SELECT %s FROM %s WHERE LOWER(%s) = LOWER('%s') LIMIT 1;", key, tablename, titul,value);
  Result = db_query(DataBase, DBQuery);
  db_get_field(Result, 0, DBQuery, 256);
  db_free_result(Result);
  return DBQuery;
}
blabla(playerid)
{
PlayerInform[playerid][Mute] = strval(db_Get("Players", "Mute", "Name", db_GetPlayerName(playerid)));
  PlayerInform[playerid][Logged] = false;
  PlayerInform[playerid][pAdmin] = strval(db_Get("Players", "Admin", "Name", db_GetPlayerName(playerid)));
  PlayerInform[playerid][Moneys] = strval(db_Get("Players", "Moneys", "Name", db_GetPlayerName(playerid)));
  GiveMoney(playerid,PlayerInform[playerid][Moneys]);
  PlayerInform[playerid][Kills] = strval(db_Get("Players", "Kills", "Name", db_GetPlayerName(playerid)));
  PlayerInform[playerid][MaxKillsForLife] = strval(db_Get("Players", "MKFL", "Name", db_GetPlayerName(playerid)));
  PlayerInform[playerid][Deaths] = strval(db_Get("Players", "Deaths", "Name", db_GetPlayerName(playerid)));
  PlayerInform[playerid][Suicides] = strval(db_Get("Players", "Suicides", "Name", db_GetPlayerName(playerid)));
}

оптимизированный
Code
new Query[256];
new DBResult:Qres;
GetPlayerName(playerid,PlayerInform[playerid][Name],MAX_PLAYER_NAME);
format(Query, sizeof(Query), "SELECT * FROM Players WHERE LOWER(Name) = LOWER('%s');",db_GetPlayerName(playerid));
Qres = db_query(DataBase, Query);
PlayerInform[playerid][Logged] = false;
db_get_field(Qres, 3, Query, 256);
PlayerInform[playerid][Kills] = strval(Query);
db_get_field(Qres, 4, Query, 256);
PlayerInform[playerid][Deaths] = strval(Query);
db_get_field(Qres, 5, Query, 256);
PlayerInform[playerid][Moneys] = strval(Query);
db_get_field(Qres, 6, Query, 256);
PlayerInform[playerid][Mute] = strval(Query);
db_get_field(Qres, 7, Query, 256);
PlayerInform[playerid][MaxKillsForLife] = strval(Query);
db_get_field(Qres, 8, Query, 256);
PlayerInform[playerid][Suicides] = strval(Query);
db_get_field(Qres, 9, Query, 256);
PlayerInform[playerid][pAdmin] = strval(Query);
GiveMoney(playerid,PlayerInform[playerid][Moneys]);
db_free_result(Qres);



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua