Это. Но можно это все изложит в небольшой статейке? Можно с примерами. .
Например взять какой-нить коротенький сценарии и расписать что где.
Разберусь в PAWN, помогу с переводом.
бери любой скрипт и читай его =)
LuxurY forum (scripting SA-MP) |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » LuxurY forum (scripting SA-MP) » Вопросы по созданию скриптов » Общие вопросы
Это. Но можно это все изложит в небольшой статейке? Можно с примерами. .
Например взять какой-нить коротенький сценарии и расписать что где.
Разберусь в PAWN, помогу с переводом.
бери любой скрипт и читай его =)
Лень потратить 20 мин чтоли? Зато все мои вопросты отпадут.
Лень потратить 20 мин чтоли? Зато все мои вопросты отпадут.
я просто не совсем понимаю что ты хочешь увидеть
любой скрипт тебе будет примером.
Я хочу (думаю, и не только я) увидеть статью обьясняющую синтексис сценариев на примере какого-нибудь сценария (к примеру Area51). Дискать вот в этой части следует задовать то-то, а в вот этой следует писать так-то, ну как для тупых (для меня короче).
Отредактировано maul (2007-06-05 13:56:33)
У мну еще такой вопрос. Какое предназночение у файлов с расширением .amx, если код сценария лежит в файлах .pwn ?
И еще. PAWN помоему служит еще и для CS? Это правда?
У мну еще такой вопрос. Какое предназночение у файлов с расширением .amx, если код сценария лежит в файлах .pwn ?
И еще. PAWN помоему служит еще и для CS? Это правда?
да вроде для AMXMOD
#include <a_samp> #define TEAM_ATTACK 1 #define TEAM_DEFENCE 2 #define CHECKPOINT_NONE 0 #define CHECKPOINT_PLANE 1 #define CHECKPOINT_AREA51 2 #define DEFENCE_WIN 0 #define ATTACK_WIN 1 #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA forward DefenceWin(); forward GameModeExitFunc(); new gTeam[MAX_PLAYERS]; new gPlayerClass[MAX_PLAYERS]; new gPlayerCheckpointStatus[MAX_PLAYERS]; new gRoundTimer; // If the army defend the lab for this amount of time, they win. //new gRoundTime = 1200000; // Round time - 20 mins //new gRoundTime = 900000; // Round time - 15 mins new gRoundTime = 600000; // Round time - 10 mins //new gRoundTime = 300000; // Round time - 5 mins //new gRoundTime = 120000; // Round time - 2 mins //new gRoundTime = 60000; // Round time - 1 min
В первой части прописываются инклуды, дефайнются команды, чекпойнты, цвета, устанавливается время раунда, устанавливаются новые переменные.
============================================================================
main() { print("\n----------------------------------"); print(" Area 51 break-in\n by Mike (2006)"); print("----------------------------------\n"); }
2 часть это функция main. она запускается без параметров и лишь пишет информацию при загрузке мода.
============================================================================
public OnGameModeInit() { SetGameModeText("Area 51 Break-in"); ShowNameTags(1); ShowPlayerMarkers(0); SetWorldTime(0); // Attack team AddPlayerClass(111,315.4792,984.1290,1959.1129,353.5, 3, 0, 23, 1000, 25, 100); // Mafia dude, andromeda // Defence team AddPlayerClass(287,245.1233,1859.1162,14.0840,358.717, 4, 0, 32, 1000, 31, 5000); // Army AddPlayerClass(70,271.6828,1873.8666,8.7578,229.4508, 4, 0, 24, 1000, 32, 1000); // Lab /// Parachutes in plane AddStaticPickup(371, 15, 319.3416, 1020.7169,1950.6696); AddStaticPickup(371, 15, 312.6138, 1020.7346,1950.6655); //AddStaticPickup(370, 15, 268.5821, 1883.8224, -30.0938); // jetpack gRoundTimer = SetTimer("DefenceWin", gRoundTime, 0); return 1; }
3 часть - функция OnGameModeInit. в ней запускаются классы игроков, машины пикапы таймеры итд..
========================================================================
все остальное это 4 часть. в ней находятся различные функции такие как: OnPlayerSpawn, OnPlayerDeath, OnPLayerEnterCheckpoint и другие, которые дают нам информацию об игроке....
Этого я и ждал. Спасибо. Стало немного понятнее.
Предлогаю поместить это в обучение.
Я бы сказал, тут всего две части. Сначала идут макросы - это то, что начинается с #. Они определяют только параметры компилирования:
#include - включить в скрипт библиотеку с функциями
#define - макрос-заменитель, при компилировании он заменяет второе значение, что стоит после него на третье значение, что стоит после него. Например #define COLOR_RED 0xAACCAAFF заменяет все COLOR_RED в скрипте на код красного цвета.
#pragma - устанавливает дополнительные параметры компилирования. Этих параметров очень много, да и они обычно не используются.
Далее идут описания глобальных переменных, используемых в режиме.
main() - это "рудимент", оставшийся от языка C. Если в C в main() выполняется сама программа, то здесь main() выполняется при старте режима, то есть фактически при запуске программы. Здесь эта часть программы практически бесполезна.
Наконец идет описание всех функций, что используются в режиме (это те, что с public и не только). Некоторые функции: OnGAmeModeInit(), OnPlayerConnect() используются по умолчанию самой программой (сервером), они вызываются сами при одределенных условиях (икрок подключился - вызывается OnPlayerConnect). Такие функции называются callbacks. Все остальные описываемые функции вызываются в них или в других функциях.
Вот в общем-то и все описание логики программирования в Pawno.
Amx-файл - это скомпилированный файл режима, только его может понять программа (сервер). Pwn - исходный код. Проще говоря, файлы .pwn написаны на языке, понятном человеку, файлы .amx - понятны программе, чтобы перевести файл с языка человеческого на язык программы и используется компилятор.
Для серверов КС используются .amx файлы, но собраны ли они в Pawno или в чем-то еще, не знаю, я серверами КС не занимался.
Отредактировано divine (2007-06-05 19:49:23)
Ведь можете когда хотите. Спасибо.
Еще один вопросик из той же серии (серии ламерских).
В чем преднозначения инклудов? Насколько я понял, там содержутся основные переменные и др. А можно по подробнее?
divine, займись. У тебя очень неплохо получается.
можть даже и до админа форума дорастешь, если захочешь.
можть даже и до админа форума дорастешь, если захочешь.
А нафиг оно мне надо?
Еще один вопросик из той же серии (серии ламерских).
В чем преднозначения инклудов? Насколько я понял, там содержутся основные переменные и др. А можно по подробнее?
Include - это просто библиотеки с функциями, используемые скриптом. Груба говоря, это просто часть кода твоего режима, выложенная в отдельный файл. Проще говря, можешь взять любой режим и выложить несколько блоков из него в отдельный .inc-файл, включив этот файл в оставшийся код и он у тебя скомпилиться как целый файл. Точно так же наоборот, можешь взять весь код из любой библиотеки и внести его в свой режим, после чего тебе уже не надо будет включать. А используется этот метод потому что, во-первых, некоторые полезные функции могут использоваться многими режимами, а во-вторых, самое главное в них (в стандартных библиотеках) содержаться нативы, то есть указание тех фнукций, которые даются "как есть", то есть их не надо описывать, программа, обрабатывающая скомпилированный скрипт (samp сервер) сама знает, как с ними обращаться.
У меня вопросы по версии 0.2:
1. Сколько машин будет максимально возможно?
2. Если есть ограничение, то как можно его обойти, т.е. сделать загрузку машин динамически?
1. 700.
2. Можно сделать сложную систему динамического появления машин, когда игроки приближаются к ним и удаления, когда игроки удаляются. Но зачем тебе столько машин, разве 700 не достаточно, чтобы снабдить ими всю карту?
Отредактировано divine (2007-06-19 18:45:11)
Так если на один город 125 машин вполне хватало, то думаю если по 180 тачек на город и 160 на межгород. Думаю хватит пока что.
Да еще вопрос - сколько видов машин в 0.2 максималка?
70. Сначала хотели добавить все 212, но потом поняли, что когда игра подгружает все 212 моделей одновременно, это загружает копм п-ц как.
А напомните мне сколько в 0.1 версии?
А напомните мне сколько в 0.1 версии?
50
Вот у меня такой нубский вопросик возинк: в SA-MP 0.1 когда игрок подключался к серверу или выходил из него в чате появлялось сообщение "вася пупкин подключился к серву" или что то вроде того, так вот - как это осуществить в SA-MP 0.2?
Вот у меня такой нубский вопросик возинк: в SA-MP 0.1 когда игрок подключался к серверу или выходил из него в чате появлялось сообщение "вася пупкин подключился к серву" или что то вроде того, так вот - как это осуществить в SA-MP 0.2?
в OnPlayerConnect
new name[24]; new string[255]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"%s подключился к серверу",name); SendClientMessageToAll(COLOR_GREY,string);
и в OnPlayerDisconnect прописывай:
new name[24]; new string[255]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"%s вышел",name); SendClientMessageToAll(COLOR_GREY,string);
Спасибо
Извините если что не так.
Такой вопрос есть опкодник чтонибуть подобное для редактора PAWNO сервер SA-MP 0.2.2?
Или и его можно использовать?
К примеру как этот:
Заранее спс.
Отредактировано DRAGNET (2007-10-05 20:17:54)
Такой вопрос естьли опкодник ченить подобное для SA-MP 0.2.2?
нет такого. зачем он там нужен?
зачем он там нужен?
Этот опкоды для самой игры, тоесть чтобы самому было создавать мисси. Выбираешь что тебе нужно а он выдает команду. Скачать опкодник 4
Я как начинающий хотелосьбы знать команды впринцепе и так знаю но не все.
Удобно пользоваться и рыться в сылках не надо.
Отредактировано DRAGNET (2007-10-05 20:32:41)
В павно все команды выводятся при нажатии двух точек вподрят
..
Описание можно посмотреть тут Функции или тут http://wiki.sa-mp.com/index.php/Scripting_Functions_RU
Отредактировано 12345 (2007-10-05 20:35:46)
Вот я щас сижу уже и смотрю но долго очень
А ты что думал, за полчаса все функции выучишь? Можешь попробовать вот это.
Отредактировано divine (2007-10-08 21:12:41)
А вы знаете что можно одновременно ставить много чекпоинтов с разными значениями?
А вы знаете что можно одновременно ставить много чекпоинтов с разными значениями?
ОДНОВРЕМЕННО МОЖЕТ ОТОБРАЖАТЬСЯ ТОЛЬКО ОДИН ЧЕКПОЙНТ
ОДНОВРЕМЕННО МОЖЕТ ОТОБРАЖАТЬСЯ ТОЛЬКО ОДИН ЧЕКПОЙНТ
2, RaceCheckpoint и просто Checkpoint могут одновременно отображатся
Отредактировано 12345 (2007-10-11 01:58:55)
Вопросы по созданию гейммодов | Вопросы по созданию скриптов | 2008-07-19 |
Вопросы по статьям | Вопросы по статьям | 2008-12-26 |
Grand Theft Auto IV | Оффтоп | 2007-05-30 |
Freeroam | Гейммоды | 2008-07-08 |
Вы здесь » LuxurY forum (scripting SA-MP) » Вопросы по созданию скриптов » Общие вопросы