LuxurY forum (scripting SA-MP)

Объявление

с 29 марта 2007 года
LuxurY forum - крупнейший российский форум скриптинга в PAWNO
Новый форум
Задавайте свои вопросы

Архив скриптов


Наша кнопка:
LuxurY forum :: Scripting SA-MP
Код:

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » LuxurY forum (scripting SA-MP) » Вопросы по созданию скриптов » Общие вопросы


Общие вопросы

Сообщений 31 страница 60 из 110

31

maul написал(а):

Это. Но можно это все изложит в небольшой статейке? Можно с примерами. .
Например взять какой-нить коротенький сценарии и расписать что где.
Разберусь в PAWN, помогу с переводом.

бери любой скрипт и читай его =)

-1

32

Лень потратить 20 мин чтоли? Зато все мои вопросты отпадут.

0

33

maul написал(а):

Лень потратить 20 мин чтоли? Зато все мои вопросты отпадут.

я просто не совсем понимаю что ты хочешь увидеть
любой скрипт тебе будет примером.

0

34

Я хочу (думаю, и не только я) увидеть статью обьясняющую синтексис сценариев на примере какого-нибудь сценария (к примеру Area51). Дискать вот в этой части следует задовать то-то, а в вот этой следует писать так-то, ну как для тупых (для меня короче).

Отредактировано maul (2007-06-05 13:56:33)

0

35

У мну еще такой вопрос. Какое предназночение у файлов с расширением .amx, если код сценария лежит в файлах .pwn ?
И еще. PAWN помоему служит еще и для CS? Это правда?

0

36

maul написал(а):

У мну еще такой вопрос. Какое предназночение у файлов с расширением .amx, если код сценария лежит в файлах .pwn ?
И еще. PAWN помоему служит еще и для CS? Это правда?

да вроде для AMXMOD

0

37

Код:
#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 и другие, которые дают нам информацию об игроке....

+1

38

Этого я и ждал. Спасибо. Стало немного понятнее.
Предлогаю поместить это в обучение.

0

39

Я бы сказал, тут всего две части. :) Сначала идут макросы - это то, что начинается с #. Они определяют только параметры компилирования:
#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 или в чем-то еще, не знаю, я серверами КС не занимался. :D

Отредактировано divine (2007-06-05 19:49:23)

0

40

Ведь можете когда хотите. Спасибо.
Еще один вопросик из той же серии (серии ламерских).
В чем преднозначения инклудов? Насколько я понял, там содержутся основные переменные и др. А можно по подробнее?

0

41

divine, займись. У тебя очень неплохо получается.
можть даже и до админа форума дорастешь, если захочешь.

0

42

LuxurY написал(а):

можть даже и до админа форума дорастешь, если захочешь.

А нафиг оно мне надо? :D

maul написал(а):

Еще один вопросик из той же серии (серии ламерских).
В чем преднозначения инклудов? Насколько я понял, там содержутся основные переменные и др. А можно по подробнее?

Include - это просто библиотеки с функциями, используемые скриптом. Груба говоря, это просто часть кода твоего режима, выложенная в отдельный файл. Проще говря, можешь взять любой режим и выложить несколько блоков из него в отдельный .inc-файл, включив этот файл в оставшийся код и он у тебя скомпилиться как целый файл. Точно так же наоборот, можешь взять весь код из любой библиотеки и внести его в свой режим, после чего тебе уже не надо будет включать. А используется этот метод потому что, во-первых, некоторые полезные функции могут использоваться многими режимами, а во-вторых, самое главное в них (в стандартных библиотеках) содержаться нативы, то есть указание тех фнукций, которые даются "как есть", то есть их не надо описывать, программа, обрабатывающая скомпилированный скрипт (samp сервер) сама знает, как с ними обращаться.

0

43

У меня вопросы по версии 0.2:
1. Сколько машин будет максимально возможно?
2. Если есть ограничение, то как можно его обойти, т.е. сделать загрузку машин динамически?

0

44

1. 700.
2. Можно сделать сложную систему динамического появления машин, когда игроки приближаются к ним и удаления, когда игроки удаляются. Но зачем тебе столько машин, разве 700 не достаточно, чтобы снабдить ими всю карту?

Отредактировано divine (2007-06-19 18:45:11)

0

45

Так если на один город 125 машин вполне хватало, то думаю если по 180 тачек на город и 160 на межгород. Думаю хватит пока что.

Да еще вопрос - сколько видов машин в 0.2 максималка?

0

46

70. Сначала хотели добавить все 212, но потом поняли, что когда игра подгружает все 212 моделей одновременно, это загружает копм п-ц как.

0

47

А напомните мне сколько в 0.1 версии?

0

48

diks написал(а):

А напомните мне сколько в 0.1 версии?

50

0

49

Вот у меня такой нубский вопросик возинк: в SA-MP 0.1 когда игрок подключался к серверу или выходил из него в чате появлялось сообщение "вася пупкин подключился к серву" или что то вроде того, так вот - как это осуществить в SA-MP 0.2?

0

50

Lil.Den написал(а):

Вот у меня такой нубский вопросик возинк: в 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);

0

51

Спасибо ^_^

0

52

Извините если что не так.
Такой вопрос есть опкодник чтонибуть подобное для редактора PAWNO сервер SA-MP 0.2.2?
Или и его можно использовать?

К примеру как этот:http://manhunt56.narod.ru/Primer_Obkodnika.PNG

Заранее спс.

Отредактировано DRAGNET (2007-10-05 20:17:54)

0

53

DRAGNET написал(а):

Такой вопрос естьли опкодник ченить подобное для SA-MP 0.2.2?

нет такого. зачем он там нужен?

0

54

12345 написал(а):

зачем он там нужен?

Этот опкоды для самой игры, тоесть чтобы самому было создавать мисси. Выбираешь что тебе нужно а он выдает команду. Скачать опкодник 4

Я как начинающий хотелосьбы знать команды впринцепе и так знаю но не все.  :)
Удобно пользоваться и рыться в сылках не надо.

Отредактировано DRAGNET (2007-10-05 20:32:41)

0

55

В павно все команды выводятся при нажатии двух точек вподрят

Код:
..

Описание можно посмотреть тут Функции или тут http://wiki.sa-mp.com/index.php/Scripting_Functions_RU

Отредактировано 12345 (2007-10-05 20:35:46)

0

56

Вот я щас сижу уже и смотрю но долго очень  :(

0

57

А ты что думал, за полчаса все функции выучишь? Можешь попробовать вот это.

Отредактировано divine (2007-10-08 21:12:41)

0

58

А вы знаете что можно одновременно ставить много чекпоинтов с разными значениями?

0

59

NeoRus написал(а):

А вы знаете что можно одновременно ставить много чекпоинтов с разными значениями?

ОДНОВРЕМЕННО МОЖЕТ ОТОБРАЖАТЬСЯ ТОЛЬКО ОДИН ЧЕКПОЙНТ

0

60

LuxurY написал(а):

ОДНОВРЕМЕННО МОЖЕТ ОТОБРАЖАТЬСЯ ТОЛЬКО ОДИН ЧЕКПОЙНТ

2, RaceCheckpoint и просто Checkpoint могут одновременно отображатся

Отредактировано 12345 (2007-10-11 01:58:55)

0


Вы здесь » LuxurY forum (scripting SA-MP) » Вопросы по созданию скриптов » Общие вопросы