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

 



 
          





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





Последние Файлы 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 из 2
  • 1
  • 2
  • »
Модератор форума: Interpol  
C Compiler&Interpreter for SA:MP
adamixДата: Понедельник, 23.04.2012, 19:05 | Сообщение # 1
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Данный плагин позволяет вам интерпретировать код на языке С в Pawn.
http://adamix.ru/CVM_SAMP_v03.zip

С версии 02 поддерживается Linux. Инструкцию по установке смотрите в ридми.
С версии 03 добавлена функция Unlock в С-API, с помощью которой можно сделать память перезаписываемой. Добавлен пример плагина AnyNick(работает на Win/Lin 0.3d-R2 800p)

Вы можете вызывать конструкции на языке С из Pawn, а затем получать возвращаемое значение. Описание API:
Code

/* returns current OS: 1 == Windows, 2 == Linux */
native CVMGetOS();

/* Creates compiler and interpreter. By default you should use CVMCreate(1, "samp-server.exe"); */
native CVMCreate(argc, argv[]);

/* Adds new path's for includes. By default theres only one path: <server dir>/include/ */
native CVMAddIncludePath(path[]);

/* Executes file in interpreter. */
native CVMLoadFile(path[]);

/* Executes string in interpreter. Second parameter: if res == 1 - then save returned data to buffer. 0 - do not save. */
native CVMProcess(input[], res);

/* Evaluates string in interpreter. if res == 1 - then save returned data to buffer. 0 - do not save.*/
native CVMEvaluate(input[], res);

/* Declares pre-processor definitions. Example: CVMDeclare("#include <stdio.h>"); */
native CVMDeclare(input[]);

/* Buffer operations. Use them after Processing a string with second param == 1. */
/* Returns int from buffer. */
native CVMGetInt();    

/* Returns float from buffer. */
native Float:CVMGetFloat();

/* Returns bool from buffer. */
native CVMGetBool();

/* Copies string from buffer into variable. */
native CVMGetString(out[], len);

/* Returns pointer(may not work in some places, because pointer is long type, but Pawn doesn't support big numbers). */
native CVMGetPointer();


Для подробного примера использования смотрите filterscripts/CVM.pwn.

Для чего может пригодиться: различные мем-хаки сампа, ускорение выполнения трудоемких задач.

С++ НЕ ПОДДЕРЖИВАЕТСЯ!



Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.


Сообщение отредактировал adamix - Вторник, 24.04.2012, 10:39
Fus1Дата: Понедельник, 23.04.2012, 19:19 | Сообщение # 2
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Не плохо. Даже очень.
AlcoholikДата: Понедельник, 23.04.2012, 20:27 | Сообщение # 3
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
adamix, я тя обожаю :D
Quote
char * c = (char*)malloc(sizeof(char)*1024);



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


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
adamixДата: Понедельник, 23.04.2012, 20:31 | Сообщение # 4
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Quote (RoACh)
adamix, я тя обожаю :D


Дык С++ то нету. Соответственно new char[1024] не работает. А вы как думали?!



Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.
AlcoholikДата: Понедельник, 23.04.2012, 20:33 | Сообщение # 5
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
adamix, причём тут с++?) Я на самом деле рад за маллок) Было много моментов, когда я жалел, что нет динамической памяти в PAWN


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


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
МолорищеДата: Понедельник, 23.04.2012, 20:33 | Сообщение # 6
Молор
Группа: Продвинутые
Сообщений: 427
Награды: 11
Город: Санкт Петербург
Замечания: 0%
Статус:
[off] adamix, тогда он тя не обожает :D [/off]

По теме: Так и не понял даже по примеру, для чего это нужно вообще.
"Интерпретировать" - What?



Мне нечего делать.
AlcoholikДата: Понедельник, 23.04.2012, 20:38 | Сообщение # 7
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
adamix, кстати что будет, если я сделаю так?
Code
CVMDeclare("#include <stdio.h>");
CVMProcess("int i;",0);
CVMProcess("scanf("%d",&i);",0);

Он будет чего-то ждать?)



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


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
adamixДата: Понедельник, 23.04.2012, 20:39 | Сообщение # 8
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Quote (Fiskar)
По теме: Так и не понял даже по примеру, для чего это нужно вообще.
"Интерпретировать" - What?


1. Например, для мем-хака сервера. Вот у меня есть плагин AnyNick. Теперь его можно реализовать в виде фильтрскрипта, с помощью этого плагина. Еще с помощью интерпретатора можно считать большие числа, к примеру. Выйдет куда быстрее чем в павне. В конце концов, многие плагины теперь можно реализовать тупо в виде фильтрскрипта.

2. Это значит, что код не компилируется в PE или ELF, а интерпретируется напрямую в памяти. На лету.

Добавлено (23.04.2012, 20:39)
---------------------------------------------

Quote (RoACh)
Он будет чего-то ждать?)

Угу. Ввода циферки в окошке сервера :)



Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.
ВеликсДата: Понедельник, 23.04.2012, 20:42 | Сообщение # 9
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Отлично, спасибо большое!


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
SLICKДата: Понедельник, 23.04.2012, 21:06 | Сообщение # 10
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
А возможно ли например взять графическую библиотеку и что то нарисовать в игре?


My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)
adamixДата: Понедельник, 23.04.2012, 21:06 | Сообщение # 11
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Нет, конечно же.


Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.
AndrejsДата: Понедельник, 23.04.2012, 21:40 | Сообщение # 12
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Quote (adamix)
различные мем-хаки сампа

Калкор же вроде запретил их использование? Или я не прав?)




adamixДата: Понедельник, 23.04.2012, 21:56 | Сообщение # 13
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Quote (Andrejs)
Калкор же вроде запретил их использование? Или я не прав?)


А кого интересует мнение этого не совсем хорошего человека?



Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.
ignatДата: Понедельник, 23.04.2012, 22:17 | Сообщение # 14
Постоялец
Группа: I'm V.I.P.
Сообщений: 335
Награды: 10
Город: Москва
Репутация: 438
Замечания: 60%
Статус:
adamix, огромное тебе спасибо!
adamixДата: Вторник, 24.04.2012, 09:36 | Сообщение # 15
Постоялец
Группа: Продвинутые
Сообщений: 376
Награды: 14
Город: Ульяновск
Репутация: 884
Замечания: 0%
Статус:
Вышла вторая версия с поддержкой Linux. Инструкцию по установке смотрите в архиве.

Добавлено (24.04.2012, 09:36)
---------------------------------------------
С версии 03 добавлена функция Unlock в С-API, с помощью которой можно сделать память перезаписываемой. Добавлен пример плагина AnyNick(работает на Win/Lin 0.3d-R2 800p)


Тысячи игроков SA-MP, как миллионы мух, конечно же не могут ошибаться.

Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн.
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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