Форма входа |
Кто это?
Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
|
 |
Меню сайта |
|
 |
Мини-чат |
|
 |
|
Уроки скриптинга
| |
SheRemet | Дата: Суббота, 06.09.2008, 00:25 | Сообщение # 1 |
★★★beSt oF thE beSt★★★
Группа: Заблокированные
Сообщений: 1366
| Урок №1 Начинаем первый урок. Скриптинг са мп происходит в PAWNO. PAWNO это программа компилируящая pwn (изменяемый файл будующего скрипта) в amx (сам скрипт) и для изменения первого. Открыв какой нибудь скрипт мы видим множество надписей и цыферок. Разберем что же они означают. Откроем new.pwn. Начнем разбирать самое простое. Quote public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1}; { и } это скобочки открытия/закрытия. printf("GameModeInit()"); это сообщение на сам сервер. SetGameModeText("Blank Script"); это установка название нашего режима. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); Это добавление спавна ака скина. первый 0 это ID скина, следующие 4 числа это координаты, остальные 6 нулей это оружие и их патроны. return 1; это типа конец. public OnGameModeInit() это паблик в котором содержится все вышеперечисленное, их мы пока трогать не будем. Каждый паблик выполняет свою задачу, можно создавать свои паблики и сувать туда определенные действия и сделать чтобы они выполнялись в нужный момент. Это сложновато, поэтому небудем пока об этом. Можно задавать определенные действия например при конекте, спавне. Найдем Quote public OnPlayerDeath(playerid, killerid, reason) { printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason); return 1; } и переделаем на Quote public OnPlayerDeath(playerid, killerid, reason) { SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли"); printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason); return 1; SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли"); сработает как сообщение в чат "Вы погибли" (без кавычек) 0xFFFF00AA это цвет текста про него также напишу в следующих уроках. Далее ищем вверху синий треугольник и жмем на него. Должна произойти компиляция и появится текст: Quote Pawn compiler 3.0.3367 Copyright © 1997-2005, ITB CompuPhase если надпись отличается то есть какието ошибки, в этой надписи будет указано в каких именно строчках есть таковые. Ну про это тоже позже. Дальше, заходим в папку с сервером и открываем server.CFG и меняем там строчку(и) Quote gamemode0(или другие числа) на Quote gamemode0(если другие числа то строчку можно удалить она нам не понадобится) new 1 и врубаем samp-server.exe Дальше идем в папку сан андреаса и открываем samp_debug.exe и там жмем connect lokalhost и мы заходим на сервер и проверяем скрипт. Если все сделано верно то после смерти (можно написать /kill) мы увиим надпись в чате "Вы умерли" (бес скобок) жолтого цвета то все сделано верно, еслиже нет то внимательно проверьте скрипт. Источник: gta-mp.od.ua
|
|
| |
SheRemet | Дата: Суббота, 06.09.2008, 00:27 | Сообщение # 2 |
★★★beSt oF thE beSt★★★
Группа: Заблокированные
Сообщений: 1366
| Урок №2 Сейчас начнем осваивать координаты, где достать куда ставить. В папке San-Andreas'а ищем файл samp_debug.exe (желательно сделать ярлык и поставить его в папку сервера) и нажать кнопку Launch Debug. Начнет загружатся игра и вы окажетесь в Лос Сантосе. В этом режиме вы сможите находить нужные вам координаты. Используйте команды: /v 520 где 520 это ID транспорта, а точнее гидры. Список ID транспорта вы можете найти в файле vehicles.ide или на нашем сайте; /save <примечание> сохранение координат. Встаньте там где нужно сохранить координаты и используйте команду (так же сохраняет и координаты авто если вы в находитесь в нем); F11 и F12 прокрутка скинов вперед и назад соответственно. Далее находим файл savedpositions.txt в папке San Andreas'а (тоже желательно сделать ярлык в папку с сервером) и смотрим там: Если вы сохраняли координаты находясь пешком у вас должно быть: Quote AddPlayerClass(0,1496.7302,1438.919 7,10.8281,115.1985,0,0,0,0,0,0); // spawn Если на авто: Quote AddStaticVehicle(494,1505.4323,1450 .9718,10.7365,357.1130,36,13); // hotring Дальше поставим координаты в наш скрипт: ищем Quote public OnGameModeInit() { print(" GameModeInit()"); SetGameModeText(" Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } и переделываем на Quote public OnGameModeInit() { print(" GameModeInit()"); SetGameModeText(" Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } ВНИМАНИЕ ставьте свои координаты из savedpositions.txt! Проверяем! Источник - gta-mp.od.ua
|
|
| |
SheRemet | Дата: Суббота, 06.09.2008, 00:34 | Сообщение # 3 |
★★★beSt oF thE beSt★★★
Группа: Заблокированные
Сообщений: 1366
| Урок №3 Теперь рассмотрим расставление оружия скинам и скриптовые команды. Открываем new.pwn находим Quote public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } смотрим Quote AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); в конце 6 нулей, это оружие и его патроны. В данном случае у нас 3 кулака с 0лями патронов xD. Любое оружие имеет свой ID (который вы можете найти на сайте, в статьях по соседству). Это должно выглядеть так: Quote AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, ID1, AMMO1, ID2, AMMO2, ID3, AMMO3); Ну не все оружие можно давать в са мп 0.1 в 0.2 обесчали все отсинхрить ;). Ну можно поэкспирементировать. Далее команды сервера. Ищем Quote public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/mycommand", true)==0) { /* Do something here */ return 1; } return 0; } Это сам паблик каманд, а Quote if (strcmp(cmdtext, "/mycommand", true)==0) { /* Do something here */ return 1; } сами команды. Начнем создавать свои команды. Quote public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/kickme", true)==0) { Kick(playerid); return 1; } return 0; } Ну цель этой команды проста, вы кикнете себя. Поставим вторую команду, например, на выскакивание текста Quote public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/kickme", true)==0) { Kick(playerid); return 1; } if (strcmp(cmdtext, "/text", true)==0) { GameTextForAll("kakoyto text", 9000, 1); return 1; } return 0; } Про команду текста для всех, там можно только латинские символы. Цыфры это время (в милисекундах) и тип текста, с этим сами поэксперементируйте. Источник - gta-mp.od.ua
|
|
| |
BlaST | Дата: Суббота, 06.09.2008, 18:04 | Сообщение # 4 |
хто же это?
Группа: Заблокированные
Сообщений: 339
| ыыы Давно мне не было так весело Если бы я видел это 1-й раз, я бы подумал, ай как всё легко =)) Особенно команда /kickme =) Вставил и работает =) Глядя куда и как вставить =) Наверняка тут 7/8 вставят эту шнягу в мод и компилятор (если кто-нить знает что это такое) упоминаемой программы pawno выдаст богатый список ошибок, на которые посмотришь...и даже исправлять не хочется =) Мой совет: не читайте эту шнягу, читайте книжки ps если что, спрашивайте, не стесняйтесь ;) by всё я же
|
|
| |
[UniteD]_FadY | Дата: Вторник, 11.11.2008, 18:10 | Сообщение # 5 |
★★
Группа: Друзья клана
Сообщений: 40
| Подскажите как индикатор здоровья и брони у других игроков сделать, что бы видно было другому игроку!?! ) А то я заипался уже с этим куралесить!)
|
|
| |
SheRemet | Дата: Вторник, 11.11.2008, 18:22 | Сообщение # 6 |
★★★beSt oF thE beSt★★★
Группа: Заблокированные
Сообщений: 1366
| это к бласту...я пытался разобраццо , но не смог =(
|
|
| |
BlaST | Дата: Воскресенье, 16.11.2008, 18:08 | Сообщение # 7 |
хто же это?
Группа: Заблокированные
Сообщений: 339
| Quote (|UniteD|_FadY) Подскажите как индикатор здоровья и брони у других игроков сделать, что бы видно было другому игроку!?! ) А то я заипался уже с этим куралесить!) в OnGameModeInit() пропиши ShowNameTags(1); Quote (SheRemet) это к бласту...я пытался разобраццо , но не смог =( а Бласт и не видит )) случайно в эту ветку забрел ))
|
|
| |
[UniteD]_FadY | Дата: Вторник, 18.11.2008, 15:45 | Сообщение # 8 |
★★
Группа: Друзья клана
Сообщений: 40
| Всё, сам разобрался! ))) Но всё равно спасибо! )
|
|
| |
_TRANE_ | Дата: Суббота, 14.03.2009, 14:33 | Сообщение # 9 |
Чувак
Группа: Друзья клана
Сообщений: 4
| ШерМет ты че выкладываешь то их???=)Ты же не шаришь в павно =))))))) Кому надо мод GodFather переделаный мной но не до конца... (GFPendulum 1.0 beta)????? тут вроде никто не шарит (ну почти)^_^ by BST
GAME-ZONA Что делать? 1.Зайти 2.Зарегистрироваться 3.Проявить активность [hr] Павно ЗАЕБАЛО!!!Выкиньте его - Компиляторы гОвНо
|
|
| |
[FuSiON]Armin | Дата: Суббота, 25.07.2009, 20:37 | Сообщение # 10 |
★★
Группа: Пользователи
Сообщений: 52
| Quote (BlaST) ps если что, спрашивайте, не стесняйтесь  by всё я же достучатся бы в аську тебе, на одной пишут вводи пароль или иди туды(указан уин), на другой ты вообще не сидишь
Фрапс, крякнутыЙ! Зарегестрируйся и получи 10 рублей на счёт на халяву
|
|
| |
ReVaN | Дата: Пятница, 04.09.2009, 14:31 | Сообщение # 11 |
★★★★★
Группа: Заблокированные
Сообщений: 246
| Quote (|FuSiON|Armin) достучатся бы в аську тебе, на одной пишут вводи пароль или иди туды(указан уин), на другой ты вообще не сидишь Стукни в аську мне или шеремету скажу пасс)
|
|
| |
|