Главная » Статьи » SA-MP

Уроки Pawno
Начинаем первый урок. Скриптинг са мп происходит в PAWNO. PAWNO это программа компилируящая pwn (изменяемый файл будующего скрипта) в amx (сам скрипт) и для изменения первого. Открыв какойнибудь скрипт мы видим множество надписей и цыферок. Разберем что же они означают. Откроем new.pwn. Начнем разбирать самое простое.

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() это паблик в котором содержится все вышеперечисленное, их мы пока трогать не будем.

Каждый паблик выполняет свою задачу, можно создавать свои паблики и сувать туда определенные действия и сделать чтобы они выполнялись в нужный момент. Это сложновато, поэтому небудем пока об этом. Можно задавать определенные действия например при конекте, спавне. Найдем

public OnPlayerDeath(playerid, killerid, reason)

{

printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);

return 1;

}

и переделаем на

public OnPlayerDeath(playerid, killerid, reason)

{

SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли");

printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);

return 1;

}

SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли"); сработает как сообщение в чат "Вы погибли" (без кавычек) 0xFFFF00AA это цвет текста про него также напишу в следующих уроках.

Далее ищем вверху синий треугольник и жмем на него. Должна произойти компиляция и появится текст:

Pawn compiler 3.0.3367 Copyright (c) 1997-2005, ITB CompuPhase

если надпись отличается то есть какието ошибки, в этой надписи будет указано в каких именно строчках есть таковые. Ну про это тоже позже. Дальше, заходим в папку с сервером и открываем server.CFG и меняем там строчку(и) gamemode0(или другие числа) на gamemode0(если другие числа то строчку можно удалить она нам не понадобится) new 1 и врубаем samp-server.exe.

Дальше идем в папку сан андреаса и открываем samp_debug.exe и там жмем connect lokalhost и мы заходим на сервер и проверяем скрипт. Если все сделано верно то после смерти (можно написать /kill) мы увиим надпись в чате "Вы умерли" (бес скобок) жолтого цвета то все сделано верно, еслиже нет то внимательно проверьте скрипт.
 
Сейчас начнем осваивать координаты, где достать куда ставить. В папке San-Andreas'а ищем файл samp_debug.exe (желательно сделать ярлык и поставить его в папку сервера) и нажать кнопку Launch Debug. Начнет загружатся игра и вы окажетесь в Лос Сантосе. В этом режиме вы сможите находить нужные вам координаты. Используйте команды: /v 520 где 520 это ID транспорта, а точнее гидры. Список ID транспорта вы можете найти в файле vehicles.ide или на нашем сайте; /save <примечание> сохранение координат. Встаньте там где нужно сохранить координаты и используйте команду (так же сохраняет и координаты авто если вы в находитесь в нем); F11 и F12 прокрутка скинов вперед и назад соответственно. Далее находим файл savedpositions.txt в папке San Andreas'а (тоже желательно сделать ярлык в папку с сервером) и смотрим там:

Если вы сохраняли координаты находясь пешком у вас должно быть:

AddPlayerClass(0,1496.7302,1438.9197,10.8281,115.1 985,0,0,0,0,0,0); // spawn

Если на авто:

AddStaticVehicle(494,1505.4323,1450.9718,10.7365,3 57.1130,36,13); // hotring Дальше поставим координаты в наш скрипт:

ищем

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;

}

и переделываем на

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!

Проверяем)

Сейчас рассмотрим расставление оружия скинам и скриптовые каманды.

Открываем new.pwn

находим

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;

}

смотрим

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

в конце 6 нулей, это оружие и его патроны. В данном случае у нас 3 кулака с 0лями патронов xD. Любое оружие имеет свой ID (который вы можете найти на сайте, в статьях по соседству). Это должно выглядеть так:

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, ID1, AMMO1, ID2, AMMO2, ID3, AMMO3); где:

ID1: первое оружие

AMMO1: патроны к первому оружию

ID2: второе оружие

AMMO2: патроны к нему

ID3: ну и третье оружие

AMMO3: и его патроны

выглядеть должно примерно так:

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 28, 100, 31, 100, 8, 1);

Ну не все оружие можно давать в са мп 0.1 в 0.2 обесчали все отсинхрить ;). Ну можно поэкспирементировать.

Далее команды сервера.

Ищем

public OnPlayerCommandText(playerid, cmdtext[])

{

if (strcmp(cmdtext, "/mycommand", true)==0)

{

/* Do something here */

return 1;

}

return 0;

}

Это сам паблик каманд, а

if (strcmp(cmdtext, "/mycommand", true)==0)

{

/* Do something here */

return 1;

}

сами команды.

Начнем создавать свои команды.

public OnPlayerCommandText(playerid, cmdtext[])

{

if (strcmp(cmdtext, "/kickme", true)==0)

{

Kick(playerid);

return 1;

}

return 0;

}

Ну цель этой команды проста, вы кикнете себя. Поставим вторую команду, например, на выскакивание текста.

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;

}

Про каманду текста для всех, там можно только латинские символы. Цыфры это время (в милисекундах) и тип текста, с этим сами поэксперементируйте.

Джипы: ID транспорта

Huntley - 579

Landstalker - 400

Perrenial - 404

Rancher - 489 или 505

Regina - 479

Romero - 442

Solair - 458

Двухдерные седаны:

Alpha - 602

Blista - 496

Bravura - 401

Buccaneer - 518

Cadrona - 527

Club - 589

Esperanto - 419

Feltzer - 533

Fortune - 526

Hermes - 474

Hustler - 545

Majestic - 517

Manana - 410

Picador - 600

Previon - 436

Stafford - 580

Stallion - 439

Tampa - 549

Virgo - 491

Четырёхдверные роскошные седаны:

Admiral - 445

Elegant - 507

Emperor - 585

Euros - 587

Glendale - 466

Greenwood - 492

Intruder - 546

Merit - 551

Nebula - 516

Oceanic - 467

Premier - 426

Primo - 547

Sentinal - 405

Stretch - 409

Sunrise - 550

Tahoma - 566

Vincent - 540

Washington - 421

Willard - 529

Мощные машины:

Buffalo - 402

Clover - 542

Phoenix - 603

Sabre - 475

Стритрейсерские машины:

Elegy - 562

Flash - 565

Jester - 559

Stratum - 561

Sultan - 560

Uranus - 558

Гоночные машины:

Banshee - 429

Bullet - 541

Cheetah - 415

Comet - 480

Hotknife - 434

Hotring - 494

Hotring A - 502

Hotring B - 503

Infernus - 411

Super GT - 506

Turismo - 451

Windsor - 555

ZR-350 - 477

Грузовики, прицепы и рабочий транспорт:

Artict1 (Полуприцеп) - 435

Artict2 (Полуприцеп) - 450

Artict3 (Полуприцеп) - 591

Xoomer (Газовый трейлер) - 584

Benson - 499

Boxville - 498

Boxville (Чёрный для грабежа) - 609

Cement Truck - 524

Combine Harvestor - 532

DFT-30 - 578

Dozer - 486

Dumper - 406

Dune - 573

Flatbed - 455

Hotdog - 588

Linerunner - 403

Mr Woopee - 423

Mule - 414

Packer - 443

Roadtrain - 515

Tanker - 514

Tractor - 531

Farm Trailer - 610

Yankee - 456

Лёгкие грузовики и фургоны:

Topfun (Фургон Беркли) - 459

Bobcat - 422

Burrito - 482

Forklift - 530

Moonbeam - 418

Mower - 572

Newsvan - 582

Pony - 413

Rumpo - 440

Sadler - 543

Tug - 583

Walton - 478

Yosemite - 554

Лоурайдеры:

Blade - 536

Broadway - 575

Remington - 534

Savanna - 567

Slamvan - 535

Tornado - 576

Voodoo - 412

Авто для развлечения:

Bandito - 568

BF Injection - 424

Bloodring Banger - 504

Caddy - 457

Camper - 483

Journey - 508

Kart - 571

Mesa - 500

Monster - 444

Monstera - 556

Monsterb - 557

Quad - 471

Sandking - 495

Vortex - 539

Мотоциклы и велосипеды:

Bmx - 481

Bike - 509

Mountain Bike - 510

BF-400 - 581

Faggio - 462

FCR-900 - 521

Freeway - 463

NRG-500 - 522

PCJ-600 - 461

Pizzaboy - 448

Sanchez - 468

Wayfarer - 586

Авто для транспортировки:

Bagboxa (Транспорт для транспотрировки багажа) - 606

Bagboxb (Транспорт для транспотрировки багажа) - 607

Baggage - 485

Bus - 431

Cabbie - 438

Coach - 437

Sweeper - 574

Sweeper Trailer - 611

Taxi - 420

Towtruck - 525

Trashmaster - 408

Tug Stairs (Лестница) - 608

Utility Van - 552

Коммерческий и государственный трансопрт:

Ambulance - 416

Barracks - 433

Enforcer - 427

FBI Rancher - 490

FBI Truck - 528

Fire Truck - 407

Fire Truck A - 544

HPV-1000 (Полицейский мотоцикл) - 523

Patriot - 470

Police Los Santos - 596

Police San Fierro - 597

Police Las Venturas - 598

Police Ranger - 599

Rhino - 432

Securicar - 428

Swat Tank - 601

Воздушный транспорт:

Andromada - 592

AT-400 - 577

Beagle - 511

Cargobob - 548

Cropduster - 512

Dodo - 593

Hunter - 425

Leviathon - 417

Maverick - 487

Nevada - 553

News Maverick - 488

Police Maverick - 497

Raindance - 563

Rustler - 476

Seasparrow - 447

Shamal - 519

Skimmer - 460

Sparrow - 469

Stunt Plane - 513

Hydra - 520

Лодки:

Coastguard - 472

Dingy - 473

Jetmax - 493

Launch - 595

Marquis - 484

Predator - 430

Reefer - 453

Speeder - 452

Squallo - 446

Tropic - 454

Радиоуправляемый транспорт:

RC Bandit - 441

RC Baron - 464

RC Cam - 594

RC Goblin - 465 или 501

RC Tiger - 564

Побитые авто:

Glendale - 604

Sadler - 605
 
ID оружия
 
brassknuckle - кастет - 1

golfclub - клюшка для гольфа - 2

nitestick - ментовская дубинка - 3

knifecur - нож - 4

bat - бейсбольная бита - 5

shovel - лопата - 6

poolcue - бильярдный кий - 7

katana - катана - 8

chnsaw - бензопила - 9

gun_dildo1 - большой синий фалоиммитатор - 10

gun_dildo2 - маленький светло-зелёный фалоиммитатор - 11

gun_vibe1 - большой серый фалоиммитатор - 12

gun_vibe2 - маленький деревянный фалоиммитатор - 13

flowera - букет цветов - 14

gun_cane - трость - 15

grenade - обыкновенная граната - 16

teargas - газовая граната - 17

molotov - граната "Коктейль Молотова" - 18

satchel - граната на пульте управлния - 39

colt45 - пистолет Кольт45,как у ментов - 22

silenced - пистолет с глушителем - 23

desert_eagle -пистолет "пустынный орёл" - 24

chromegun - однозарядный дробовик - 25

shotgspa - мощьный дробовик с 7-ми патронами - 27

sawnoff - двухстволка - 26

micro_uzi - узи - 28

tec9 - что-то типа узи,только послабее - 32

mp5lng - автомат MP5 - 29

ak47 - автомат Калашникова - 30

m4 - авт. винтовка M4 - 31

cuntgun - винтовка - 33

sniper - винтовка со снайперским прицелом - 34

rocketla - базука - 35

heatseek - базука с самонаводкой - 36

flame - огнемёт - 37

minigun - миниган - 38

spraycan - балончик с краской - 41

fire_ex - огнетушитель - 42

camera - фотоаппарат - 43

nvgoggles - ночное видение - 44

irgoggles - тепловое видение - 45

Категория: SA-MP | Добавил: RideR (2008-Мар-29) | Автор: Pasha E W
Просмотров: 21791 | Комментарии: 3 | Рейтинг: 4.3/6
Всего комментариев: 0
Имя *:
Email *:
Код *: