_Dark_ Posted October 20, 2011 Share Posted October 20, 2011 Всем привет. Вот, и у меня как и у остальных нормальных кодеров возник такой момент, когда я понял, что SAMP - гавно полная херотень. Посмотрел, что творится на офф.форуме по поводу обновления на 0.3d, сделал вывод, что товарищ Kalcor - идиот и решил забить на него и пойти в альтернативный мультиплеер. Конечно же, ставлю перед собой цель захватить мир как когда то сделал в сампе. Что у меня имеется? Нулевые знания LUA и всей структуры MTA. Отличные знания Pawn (пользуясь случаем, хочу сказать спасибо товарищу MX_Master, за его инклуд MX_INI, который когда-то сам использовал, кстати еще очень популярен) Умение логически мыслить, добираться до цели нестандартным способом. Так вот. С чего я хочу начать. Для меня - лучшая теория это практика, поэтому как обычно, по старинке, начал писать мод (Всегда так делал, всегда все было отлично). Проблемы конечно возникают из-за незнания LUA (но это не критично, я посмотрел и сделал вывод, что он похож на PHP, так что на синтаксис плевать) и ф-ий MTA, благо отличное знание английского и wiki.multitheftauto.com меня пока спасают. Но пока, единственное, что меня пугает - собственно огромное количество ф-ий и структура MTA. У меня возник этот вопрос, потому что я никогда не пишу какие-то там DM / TDM / Fun / Freeroam, я всегда пишу только RPG моды, которые маленькими, собственно, не бывают. Вот я посмотрел, посмотрел и задался несколькими вопросами. 1. Опытные кодеры, расскажите, какие ощущения от работы с языком и MTA в целом? Реально ли написать в MTA качественный RPG мод, который так легко (мне) было писать на Pawn? 2. Какие вообще перспективы развития? Не получится, что я напишу огромный код / мод, а MTA уже свернется? Как вообще тенденция роста игроков идет? Вверх / вниз? Заранее благодарю тех, кто потратит свое время на разъяснение мне моих вопросов. Link to comment
lil Toady Posted October 20, 2011 Share Posted October 20, 2011 В прошлом году, в сентябре, у нас было 80тыс. уникальных игроков в месяц, в этом сентябре 170тыс. Я ответил на вопрос? Игроки не перестают прибывать. А на счёт разработки. В МТА очень много функций, и возможности, можно сказать, безграничны. Многие скриптеры пытаются сразу сделать огромный мод, чтобы всё и сразу, а в итоге захлёбываются. Лучше изначально представить себе структуру, распланировать какие ресурсы за что будут отвечать, и сделать что-то основное, а по мере потребности их постепенно улучшать. Link to comment
Nodward_Nichrome Posted October 20, 2011 Share Posted October 20, 2011 луа довольно гибок - это плюс т.к. есть огромное место для творчества и применения фантазии, но минус для новичков в том, что не можешь изначально нащупать границы возможности, правильности и последовательности написания сценариев. хотя со временем рука как говорится набивается и уже понемногу начинаешь понимать что можно, а что нельзя. касательно того что мта загнется... честно говоря у меня большое сомнение насчет этого, достаточно просто пролистать страницу с функциями на вики чтобы понять, что по функционалу мта ничем не уступает другим sa-мультиплеерам, да и с точки зрения синхры. Link to comment
Kernell Posted October 20, 2011 Share Posted October 20, 2011 1. Сам язык мне не понравился (лучше бы уж JavaScript был, не менее гибок), из-за этого часто пропадает желание что либо писать. (иногда хочется прикрутить какойнить интерпретатор, но MTA понавешали куеву тучу ограничений на функции типа require, что жутко бесит) 2. Скорее уже GTA SA потеряет популярность, а не MTA Blue. У меня вот частенько появляется желание перейти на GTA IV (разрабатывать по техоньку РП мод), ибо там Squirrel (мне он нравится, в отличии от Lua), но оно пропадает из-за нехватки времени и нестабильности мультиплеера. Кол-во игроков у SA-MP растёт быстрее чем у MTA благодаря рекламе и спонсорам. Link to comment
MX_Master Posted October 21, 2011 Share Posted October 21, 2011 Конечно, ранее уже обсуждалось подобное, но в где еще кроме сампа используется скриптовый компилируемый язык PAWN ? Приведите несколько примеров, а потом посмотрите на список проектов, которые используют язык LUA. Все станет понятно. Да, LUA логически похож на РНР, например, возможностью хранения данных разных типов в одной переменной. Массивы в LUA называются таблицами и также как в РНР могут содержать в качестве индексов и значений - любые типы данных. Сам язык осваивается за месяц. Почитайте русские мануалы и потестируйте разные примеры на официальном сайте LUA. LUA гораздо проще чем PAWN, РНР, JavaScript. Но с помощью него можно создавать очень сложные логические конструкции, например, классы и объекты классов. Но можно, не вдаваясь в логику, наслаждаться простотой языка вкупе с многочисленными функциями самого мультиплеера. Что касается парсера INI файлов.. по сравнению с PAWN - в LUA его можно написать буквально в 20-30 строчках. А все потому, что в языке LUA встроена библиотека простых регулярных выражений. Мультиплеер активно развивается, полная поддержка русского языка, голосовой чат, русский суппорт - самый активный на форуме. Модераторы тут на форуме - очень адекватные люди, в отличии от аналогичного подфорума на самп форуме. Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 Мне тоже кажется, что надо привыкнуть к языку и структуре MTA. Вот у меня уже возникают вопросы чисто по скриптингу. Как обычно, начал с системы регистрации. Увидел ф-ии newAccount, getAccountData и т.д. Что это? Регистрация уже предусмотрена? Не нужно писать свою? Если да, то как сохранять аккаунты, где они хранятся? Не в internal.db случаем? Как тогда сохранить в аккаунте игрока, скажем money равную 5000? Еще возник вопрос по автомобилям: они сами из map файла расставляются? И последний пока вопрос: в samp я например мог создать массив для всех автомобилей, поместить туда например ключ Owner, сохранить их в MySQL, а потом загрузить оттуда. Как в MTA, например, присвоить транспорту, скажем переменную Price, сохранить ее где-нибудь, а потом при загрузке достать ее оттуда? Link to comment
StUNt71 Posted October 21, 2011 Share Posted October 21, 2011 setAccountData. getPlayerAccount. Полистай на вики про функции. setElementData и не нужен массив для информации, автоматически отчищается. Те же ПВАРы как в УГ мульте. Только лучше, могут хранить любую информацию, для любого элемента. Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 То есть, транспорт же тоже элемент, верно? Значит я могу присвоить ему значение, потом достать, сохранить, загрузить и дать значение, так? Как просто оказывается... Link to comment
lil Toady Posted October 21, 2011 Share Posted October 21, 2011 Всё из .map файла загружается автоматически, на каждый элемент можно найти .map синтаксис на вики, но проще использовать map editor. С помощью setElementData ты можешь присвоить элементам какую угодно инфу, а потом сохранить всё это в этом же .map файле. Так же можно создавать и собственные элементы, например: <spawnpoint posX="...", posY="..." posZ="..." /> Кладешь такие спавны в .map, и теперь в древе элементов есть spawnpoint'ы. Можно, например, выбрать рандомный через getElementsByType ( "spawnpoint" ) и заспавнить там игрока. Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 Спасибо за разъяснение. А можно пример кода, сохраняющего какие-либо данные в xml / map? Link to comment
Nodward_Nichrome Posted October 21, 2011 Share Posted October 21, 2011 function createFileHandler(commandName, logi, pass) local accfile = xmlCreateFile("account.xml","autologin") xmlNodeSetValue (xmlCreateChild ( accfile, "login"), logi) xmlNodeSetValue (xmlCreateChild ( accfile, "password"), pass) xmlSaveFile(accfile) end addCommandHandler("createfile", createFileHandler) Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 Есть где нибудь описание стандартной регистрации? А то я не очень понимаю, куда она будет сохранять все аккаунты, как она будет их сохранять... Link to comment
Cypuk Posted October 21, 2011 Share Posted October 21, 2011 Дарк, а ты не хочеш со мной проэкт сделать ? Я как ты ) В Сампе гений почти, а в Луа нуб, жду тебя в Скайпе lesebka1 Если ты согласен ) Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 Не знаю. Всегда все сам делал, командно работать не умею Link to comment
MX_Master Posted October 21, 2011 Share Posted October 21, 2011 В сампе только 1 гений. Чтобы что-то конкретно спросить - найдите подобную тему, или создайте ее, все остальное, называемое оффтопом - будет во флудилке. Link to comment
_Dark_ Posted October 21, 2011 Author Share Posted October 21, 2011 Тремя постами выше конкретный вопрос. Link to comment
AirKite Posted October 25, 2011 Share Posted October 25, 2011 Конечно, ранее уже обсуждалось подобное, но в где еще кроме сампа используется скриптовый компилируемый язык PAWN ? Приведите несколько примеров, а потом посмотрите на список проектов, которые используют язык LUA. Все станет понятно. Pawn использует AMX MOD X (Half-life, Counter-Strike, и почти все стимовские игры). Если честно, становится ещё более непонятно Link to comment
lil Toady Posted October 25, 2011 Share Posted October 25, 2011 Конечно, ранее уже обсуждалось подобное, но в где еще кроме сампа используется скриптовый компилируемый язык PAWN ? Приведите несколько примеров, а потом посмотрите на список проектов, которые используют язык LUA. Все станет понятно. Half-life, Counter-Strike, и почти все стимовские игры Бред, пара модов для half life используют amx, но не сами игры Link to comment
Kernell Posted October 26, 2011 Share Posted October 26, 2011 И что это меняет? SA-MP использует Си-подобный редкий язык Pawn и SA-MP популярнее чем MTA. - Поэтому опираться на то что Lua очень распространён - глупость. Link to comment
LoveFist Posted October 26, 2011 Share Posted October 26, 2011 Игрокам как бы по бую на каком языке пишутся скрипты. Значение имеет то, что на выходе. Link to comment
_Dark_ Posted October 29, 2011 Author Share Posted October 29, 2011 Пишет для игроков кто? Кодеры. А вот им как раз не "по бую". Link to comment
StUNt71 Posted October 29, 2011 Share Posted October 29, 2011 Кого больше? Кодеров или игроков? Link to comment
Kernell Posted October 29, 2011 Share Posted October 29, 2011 Кого больше? Кодеров или игроков? И что даст Вам ответ? Странное стравнение вообще.. _Dark_ правильно сказал. Игрокам как бы по бую на каком языке пишутся скрипты. Значение имеет то, что на выходе. Речь о разработке, ибо для игроков трудятся разрабы (автор темы и спрашивает, не напрасны ли эти труды). Поэтому язык имеет значение. Link to comment
StUNt71 Posted October 30, 2011 Share Posted October 30, 2011 Lua распространён больше чем pawn, поэтому ничего плохова, от того что ты его выучишь, не будет. Link to comment
Kernell Posted October 30, 2011 Share Posted October 30, 2011 И что это меняет? SA-MP использует Си-подобный редкий язык Pawn и SA-MP популярнее чем MTA. - Поэтому опираться на то что Lua очень распространён - глупость. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now