Описание: Если честно, то это первая моя работа, конечный результат которой был с самого начала мало понятен... Начал делать данную работу еще в 2011 году, но с большими перерывами продолжал делать. С самого начала планировалось сделать базовый скрипт, который в себе уже имел большую функциональную базу, чтобы не подключать большое множество других различных скриптов и инклюдов. Т.е. разработчик получает базу для разработки игрового режима модульно, т.е. кажду систему отдельно, но при этом имея общую связь. Функционал реализованный в данной версии не весь что планировался, выкладываю для оценки данного деяния в публику, а дальше уже буду смотреть за реакцией. В наборе добавил не сложный DM скрипт.
Функции:
Код
1. setPlayerPosEx( playerid, Float:x, Float:y, Float:z, Float: FacingAngle, interior=0, virtual = 0 ) - Устанавливает игрока на позицию с дополнительными данными. Параметры: playerid - ID игрока, которого нужно установить на указанное место Float:x - Координата Х Float:y - Координата Y Float:z - Координата Z Float:FacingAngle - Угол поворота игрока interior - ID интерьера(не обязателеный параметр) virtual - ID вирутального мира(не обязателеный параметр) Функция не возвращает специальных значений
2.getPlayerState( playerid ) - возвращает состояние игрока на сервере внутри игрового скрипта Параметры: playerid - ID игрока Список возможных результатов данной функции находятся внизу инклюда movegame.inc
3.setPlayerState( playerid, stat ) - задает состояние игрока на сервере внутри игрового скрипта Параметры: playerid - ID игрока stat - состояние игрока ( int )
4.giveplayerHealth( playerid, Float: amount ) - дает здоровье игроку Параметры: playerid - ID игрока Float: amount - количество здоровья
5. loadPlayerInfoInt( file[], stroka[] ) - Извлекает данные из файла регистрации игрока Параметры: file[] - Файл stroka[] - название строки Возвращает целое число
6. Float:loadPlayerInfoFloat( file[], stroka[] ) - Извлекает данные из файла регистрации игрока Параметры: file[] - Файл stroka[] - название строки Возвращает число с плавающей запятой
7.savePlayerInfoInt( file[], stroka[], valus ) - Сохраняет строку с целым значением. Параметры: file[] - Файл stroka[] - название строки valus - значение строки
8.isDialogShowingToPlayer( playerid ) - проверяет открыт ли у игрока какой либо диалог Параметры: playerid - ID игрока. 1 - если открыт какой-либо диалог и 0 - если нет.
9.HideDialog( playerid ) - Нужно добавить в начало колбэка OnDialogResponse. Для корректной работы функции выше. Параметры: playerid - ID игрока.
10. isPlayerLogged( playerid ) - Проверяет зашел ли игрок под своим аккуантом. Параметры: playerid - ID игрока. 1 - если зашел и 0 если не зашел
11.isPlayerHaveAcount( playerid ) - Проверяет есть ли у игрока аккаунт Параметры: playerid - ID игрока. 1 - если есть и 0 если нету
12.RandomPlayer() - Выбирает случайным образом подключенного к серверу игрока. Возвращает ID случаного онлайн-игрока
13.givePlayerArmour( playerid, Float:amount ) - даёт броню игроку Параметры: playerid - ID игрока Float: amount - количество брони
14.createAvtomat( type, string[], color, Float:x, Float:y, Float:z, Float:rotx, Float:roty, Float:rotz, virtual, price ) - создает автомат с напитками или сигаретами Параметры: type - тип автомата. Внизу инклюда есть список доступных автоматов. string[] - Текст над автоматом color - цвет текста Float:x - позиция Х автомата Float:y - позиция Y автомата Float:z - Позиция Z автомата Float:rotx - Угол поворота относительно оси Х Float:roty - Угол поворота относительно оси Y Float:rotz - Угол поворота относительно оси Z virtual - виртуальный мир, в котором находится автомат price - цена единицы, купленной в автомате Функция возвращает ID созданного автомата.
15.destroyAvtomat( avtomatid ) - Удаляет автомат с сервера. Параметры: avtomatid - ID автомата
16.isAvtomatValid( avtomatid ) - Проверяет существует ли такой автомат на сервере Параметры: avtomatid - ID автомата 1 - если существует, 0 - если нет
17.updateAvtomat( avtomatid, newtype, newstring[], newcolor, Float:newx, Float:newy, Float:newz, Float:newrotx, Float:newroty, Float:newrotz, newvirtual, newprice ) - обновляет автомат с напитками или сигаретами Параметры: avtomatid - ID автомата newtype - тип автомата. Внизу инклюда есть список доступных автоматов. newstring[] - Текст над автоматом newcolor - цвет текста Float:newx - позиция Х автомата Float:newy - позиция Y автомата Float:newz - Позиция Z автомата Float:newrotx - Угол поворота относительно оси Х Float:newroty - Угол поворота относительно оси Y Float:newrotz - Угол поворота относительно оси Z newvirtual - виртуальный мир, в котором находится автомат newprice - цена единицы, купленной в автомате
18.destroyAllAvtomats() - Удаляет все автоматы
19. setConfigValue( slot, value ) - Изменяет конфигурацию запущенного сервера Параметры: slot - Пункт конфигурации. Внизу есть список. value - значение
20.getConfigValue( slot ) - узнает конфигурацию запущенного сервера Параметры: slot - Пункт конфигурации. Внизу есть список.
21.killPlayer( playerid ) - убивает игрока Параметры: playerid - ID игрока
22. showPM( playerid, targetid ) - Открывает диалоговое окно для личного сообщения Параметры: playerid - ID игрока, который отправляет targetid - ID игрока, который получает
23.showMessage( playerid, message[], time ) - показывает короткое сообщение в нижнем правом углу Параметры: playerid - ID игрока message[] - текст сообщения time - время, которое будет отображаться сообщение в секундах.
24.blockAccount( playerid, reason ) - блокирует аккаунт игрока Параметры: playerid - ID игрока reason - причина
25.CreateFire( Float:X, Float:Y, Float:Z, Float:R ) - создает огонь Параметры: Float:X - позиция Х огня Float:Y - позиция Y огня Float:Z - позиция Z огня Float:R - Радиус действия огня(в котором игроки могут поулчить ожоги) Функция возвращает ID огня.
26. deleteFire( fireid ) - удаляет огонь Параметры: fireid - ID огня
27.getServerTime( &hour, &minute ) - узнает время на сервере Параметры: &hour - часы &minute - минуты Функция возрвщает значения в параметры данной функции.
28.getPlayerName( playerid ) - узнает имя игрока Параметры: playerid - ID игрока Функция имя игрока
29. Cmd( cmd[] ) - сравнивает вводимую команду Параметры: cmd[] - введённная команда
30.getWeaponName( weaponid ) - Узнает название оружия на русском Параметры: weaponid - ID оружия(0-50) Функция возвращает название оружия на русском языке
Колбэки:
Код
1.OnLoadModule( moduleid ) - вызывается при подключении модуля. Параметры: moduleid - ID подключенного модуля
2.CheackModule( tmp ) - проверяет является подключаемый скрипт модулем. Параметры: tmp - ничего не значащий параметр. Возвращает всегда 1.
3.OnPlayerSave( playerid ) - вызывается когда сохраняется аккаунт игрока, при регистрации вызывается тоже. Параметры: playerid - ID игрока
4.OnPlayerLogin( playerid, reason ) - вызывается когда игрок пытается войти на сервер под своим аккаунтом. Параметры: playerid - ID игрока reason - ответ сервера да действие (см. выше)
5.OnPlayerCheatDetected( playerid, cheatid ) - вызывается когда античит замечает использование чита Параметры: playerid - ID игрока cheatid - ID чита (см. выше)
6.RespawnVehicle( vehicleid ) - вызывается когда машина респавнится на свое место Параметры: vehicleid - ID машины
7. OnPlayerDrink( playerid ) - вызывается когда игрок пъет напитки(автоматы) Параметры: playerid - ID игрока
8.OnPlayerSmoke( playerid ) - вызывается когда игрок курит сигареты(автоматы) Параметры: playerid - ID игрока
9.OnPlayerBuyCigarettes( playerid, avtomatid, price ) - вызывается когда игрок покупает сигареты Параметры: playerid - ID игрока avtomatid - ID автомата price - цена сигарет
10.OnPlayerBuyDrink( playerid, avtomatid, price ) - вызывается когда игрок покупает напитки Параметры: playerid - ID игрока avtomatid - ID автомата price - цена напитка
11.OnPlayerPM( playerid, targetid, msg[] ) - вызывается когда игрок отправляет/получает личное сообщение Параметры: playerid - ID игрока, который отправляет Личное Сообщение targetid - ID игрока, кот
12.OnPlayerAction( targetid, action, reason[] ) - вызывается когда у игрока изменяется его состояние Параметры: targetid - ID игрока, у которого изменилось состояние action - новое состояние(см. выше) reason[] - причина
Удачи в развитии! Love will set you free! Не совсем понятно что будет дальше, но ведь так во всём, даже бросая ровно в корзину бумагу, будучи уверенным на все 100%, что попадёшь, в последний момент дуновение ветра может сменить его траекторию. Только продолжая свой путь, ты можешь зацепиться за жизнь так, что успеешь сделать всё, что задумал. Главное ставить себе цели, которые тебя волную. Будь не тем, кем пытается сделать тебя жизнь, а тем, кем пытаешься сделать себя ты. Тогда жизнь поможет стать тем, кем хочешь.
Можно сделать обёртку для всех популярных ini библиотек (mxINI, y_ini и т.п.), то есть макросом определять подключенную библиотеку и переименовывать функции по-своему. Бложе [indent]Мой блог Уроки по Pawn[/indent]
Можно сделать обёртку для всех популярных ini библиотек (mxINI, y_ini и т.п.), то есть макросом определять подключенную библиотеку и переименовывать функции по-своему.