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

 



 
        
[SA-MP] Hosted Tab (128)
JasonGordon 21.10.2017 10:43
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 3123»
Модератор форума: Interpol 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Плагины и программы » [Plugin] SA:MP Gamemode SDK for PHP (Написание игровых режимов, на популярном языке PHP.)
[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
Группа: Продвинутые
Сообщений: 2705
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
м.... самп ещё актуален в разработках?)
AlcoholikДата: Воскресенье, 01.09.2013, 12:24 | Сообщение # 4
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
Интересная штука, главное, чтобы она и дальше поддерживалась автором


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
Мастер джэдай
Группа: Продвинутые
Сообщений: 2651
Награды: 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
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
AirKite, alex009 тоже выкладывал исходники ботов своих, однако я что-то не видел, чтобы кто-то конкретно взялся настраивать плагин под новые версии сампа.


if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
ZiGGiДата: Воскресенье, 01.09.2013, 20:07 | Сообщение # 10
Мастер джэдай
Группа: Продвинутые
Сообщений: 2651
Награды: 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
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
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
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Плагины и программы » [Plugin] SA:MP Gamemode SDK for PHP (Написание игровых режимов, на популярном языке PHP.)
Страница 1 из 3123»
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM