 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[Plugin] SA:MP Gamemode SDK for PHP
| |
| AirKite | Дата: Воскресенье, 01.09.2013, 03:44 | Сообщение # 1 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| SA:MP Gamemode SDK for PHP С помощью этого плагина, вы сможете писать свои игровые режимы (моды) на языке PHP, который является языком программирования с динамической типизацией, не требующим указания типа данных или его величины... [читать больше]. Используя этот плагин, у вас автоматически отпадает потребность во множестве дополнительных плагинов, типа: MySQL, Socket, FTP, Filemanage, execute, ... или библиотек (инклудов): md5, hash, RegExp, crypt, ... (список всех функций), и самое главное, это работает гораздо быстрее родного PAWN.
Как это выглядит сейчас (PAWN): Код public OnPlayerConnect(playerid) { //Get the name of the player that connected and display a join message to other players
new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1]; GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has joined the server.", name); SendClientMessageToAll(0xC4C4C4FF, string);
return 1; }
На PHP это будет выглядеть примерно так: Код function OnPlayerConnect($playerid) { //Get the name of the player that connected and display a join message to other players $playername = GetPlayerName($playerid);
SendClientMessageToAll(0xC4C4C4FF, "$playername has joined the server.");
return true; }
Так же не забываем о ООП в PHP (тогда и вовсе проще): Код Event::on('PlayerConnect', function($player) { SendClientMessageToAll(0xC4C4C4FF, $player->getName()." has joined the server.");
return true; });
Пример диалога на PHP с ООП: Код $testDialog = Dialog::create(DIALOG_STYLE_LIST, 'title', 'okay', 'cancel') ->addListItem('Infernus', 411) ->addListItem('FBI Truck', 528) ->addListItem('Bike', 509) ->addListItem('BMX', 481) ->addListItem('Mountain Bike', 510) ->addListItem('Firetruck', 407) ->addListItem('Firetruck with Ladder', 544) ->addListItem('SWAT', 601) ->addListItem('Tank (Rhino)', 432) ->on('Response', function($player, $dialog, $button, $value){ if($button) { $pos = $player->getPos(); $facing = $player->getFacingAngle(); $vehicle = Vehicle::create($value, $pos->x, $pos->y, $pos->z, $facing); $player->putInVehicle($vehicle); } }); Скорость выполнения кода, по сравнению с PAWN: Код теста: bench.php и bench.pwn
.:Установка:. Linux 1. Скачать архив (ссылки ниже) 2. Извлечь все файлы. 3. Переместить содержимое папки "server-folder" в папку с вашим сервером. 4. Добавить “plugins samphp” в server.cfg 5. Если вы получите ошибку “missing libphp5.so” смотрите "Установке libphp5.so" 6. Установите gamemode0 на "empty" в server.cfg Установка libphp5.so Здесь уже два варианта установки libphp5.so: - Вариант 1:
- 1. Скачать бинарник для вашей ОС (ссылки ниже).
- 2. Поместить libphp5.so в /usr/local/lib
- 3. Запустить ldconfig (На CentOS 5.9: "/sbin/ldconfig /usr/local/lib")
- 4. Готово!
- Вариант 2:
- 1. Установить libxml2-dev и другие инструменты, типа gcc и headers
- 2. Запустить "install_libphp.sh" от рута.
- 3. Готово.
Компиляция SAMPHP под ваш Linux 1. Скачайте с GitHub все исходники. 2. Установите SAMP GDK. 3. Установите libphp5 используя прилагаемый скрипт. 4. Запустите build.sh в папке "samphp". 5. Скопируйте полученный файл samphp в папку "plugins" на вашем сервере.
Windows 1. Скачать архив (ссылки ниже) 2. Извлечь все файлы. 3. Переместить содержимое папки "server-folder" в папку с вашим сервером. 4. Добавить “plugins samphp” в server.cfg 5. Если получите ошибку "msvcr110.dll" значит вам нужно установить требуемые библиотеки 6. Установите gamemode0 на "empty" в server.cfg
Начинаем писать мод: Первый способ: просто создайте файл gamemode.php внутри папки "php", подключите “core/bootstrap.php” для использования фреймворка (не рекомендую). Способ второй: 1. Создайте внутри папки "php" папку с именем вашего мода, например "samprus_mod", затем внутри неё файл gamemode.php, также можете подключить фреймворк (include “core/bootstrap.php”), который я крайне не рекомендую использовать (много ошибок). 2. Добавьте строку "samphpmode samprus_mod" в server.cfg
.:Скачать:. Debian/Ubuntu/Linux Mint x86/x86_64: SAMPHP Binary: http://www.sney.net/files/samphp-release-linux.zip libphp5.so: http://www.sney.net/files/libphp5.so.zip CentOS 5.9 x86/x86_64: SAMPHP Binary: http://www.sney.net/files/samphp-release-centos.zip libphp5.so: http://www.sney.net/files/libphp5.so_centos.zip Windows: SAMPHP Binary: http://www.sney.net/files/samphp-release-windows.zip
.:Ссылки:. GitHub: https://github.com/Lapayo/SAMPHP Оригинал (eng): http://forum.sa-mp.com/showthread.php?t=442302
Тема переведена на русский язык и дополнена AirKite, специально для samp-rus.com Копирование без ссылки на источник запрещено!
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
Сообщение отредактировал AirKite - Воскресенье, 01.09.2013, 03:52 |
| |
|
|
| SLICK | Дата: Воскресенье, 01.09.2013, 05:49 | Сообщение # 2 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус: 
| Ого.. Как же не хватало ООП, а здесь оно есть! Попробую, если все нормально работает, то это очень круто!
My works: [GM] RTDM Advertising system Fuel System Artefacts Search (Динамическая сис-ма артефактов)
|
| |
|
|
| Fus1 | Дата: Воскресенье, 01.09.2013, 11:58 | Сообщение # 3 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| м.... самп ещё актуален в разработках?)
|
| |
|
|
| Alcoholik | Дата: Воскресенье, 01.09.2013, 12:24 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| Интересная штука, главное, чтобы она и дальше поддерживалась автором
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| Deklan | Дата: Воскресенье, 01.09.2013, 14:34 | Сообщение # 5 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 352
Награды: 4
Город: Киев
Репутация: 678
Замечания: 0%
Статус: 
| Посмотрел код тестового мода и классов из папки "core", всё кажется достаточно легким, удобным в использовании (за счет классов код самого мода на PHP будет в разы меньше нежели в Pawn), да и скорость выполнения в разы выше, прям захотелось мод какой-то написать) Спасибо.
My Skype: nazaret.su
Сообщение отредактировал Deklan - Воскресенье, 01.09.2013, 14:59 |
| |
|
|
| AirKite | Дата: Воскресенье, 01.09.2013, 15:00 | Сообщение # 6 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Цитата (RoACh) Интересная штука, главное, чтобы она и дальше поддерживалась автором А что ещё поддерживать? PHP в действии и естественно поддерживается, а плагин с исходниками.
Цитата (SLICK) Ого.. Как же не хватало ООП, а здесь оно есть! Попробую, если все нормально работает, то это очень круто! Да, ещё бы раньше всё это появилось...
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
|
| |
|
|
| ZiGGi | Дата: Воскресенье, 01.09.2013, 15:34 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Видел, но сомневался в скорости. Ну, а в целом очень круто, надо попробовать.
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| AirKite | Дата: Воскресенье, 01.09.2013, 17:03 | Сообщение # 8 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| ZiGGi, некоторые вещи действительно будут работать медленнее, типа $i++; (см таблицу), меня больше до сих пор терзают сомнению в плане нагрузок и стабильности.
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
|
| |
|
|
| Alcoholik | Дата: Воскресенье, 01.09.2013, 19:39 | Сообщение # 9 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| AirKite, alex009 тоже выкладывал исходники ботов своих, однако я что-то не видел, чтобы кто-то конкретно взялся настраивать плагин под новые версии сампа.
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| ZiGGi | Дата: Воскресенье, 01.09.2013, 20:07 | Сообщение # 10 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Цитата (RoACh) alex009 тоже выкладывал исходники ботов своих, однако я что-то не видел, чтобы кто-то конкретно взялся настраивать плагин под новые версии сампа. Вроде была версия для 0.3c
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| AirKite | Дата: Воскресенье, 01.09.2013, 21:32 | Сообщение # 11 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| RoACh, его плагин был Memory Hack характера, который во первых изза этого не расползался на официальном форуме, а во вторых MemHack это не пару строчек добавить (типа новые функции в SAMP) которых кстати скорее всего и не будет ещё долгое время. А так, в целом сам SDK готов, там нечего больше поддерживать на данный момент.
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
|
| |
|
|
| Alcoholik | Дата: Воскресенье, 01.09.2013, 22:32 | Сообщение # 12 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| AirKite, ну я не вникал в принципы работы плагинов, так как не нужно было. Я к тому, что переписывать сейчас мод на PHP, а потом обратно, не очень приятное занятие)
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| DiSE | Дата: Понедельник, 02.09.2013, 11:09 | Сообщение # 13 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| RoACh, ну в любом случае бэкап уже сделан должен быть, если начать переписывать
|
| |
|
|
| Fabervox | Дата: Понедельник, 02.09.2013, 16:18 | Сообщение # 14 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус: 
| А кто мешает писать на двух языках? Вроде смущать ничего не должно, ведь в игровых движках нередко бывает что применяется два скриптовых языка, или ЯП и скриптовый. Таким образом с существующим модом начать с оптимизации, т.е. чтобы то что быстрей на php, было переписано на него. И дальнейшее развитие делать с акцентом на php.
Никого же не смущают то что UCP работает через мускул и написана на php(могло бы быть и другое, но они не столь уж сложны чтоб использовать другие языки). Не генерирует же PAWN (html или js)+css код для вывода UCP.
RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_ Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами. Закон сохранения сложности
|
| |
|
|
| AirKite | Дата: Понедельник, 02.09.2013, 20:38 | Сообщение # 15 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Цитата (Fabervox) Не генерирует же PAWN (html или js)+css код для вывода UCP. По моему такие умники находились, кто из под сампа записывал html страничку )))
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
|
| |
|
|
|
 |
|
 | |
| |
|