Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Пикапы - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Урок ]
Пикапы Немного о пикапах
Оценка: -----

#1
Пользователь офлайн   Xrum98 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Доброго времени суток.
Заметил очень часто новички просят обучить pawno.
Сам я не профессионал, но хочу поделиться тем, чему научился и первое о чём я хочу рассказать, это о пикапах.


Перед работой в Pawno.
1)Заходим на свой сервер.
2)Продвигаемся в то место, где хотим чтоб стоял пикап.
3)После того, как встали на место где будет стоять пикап, пишем в чат команду /save
4)Выходим с сервера и заходим в Pawno.

Создание Пикапа.
-Думаю это было легко, далее продвигаемся к сохраненным координатам. Мои документы -> GTA San Andreas User Files -> SAMP -> savedpositions.
У каждого появились свои координаты, например у меня получились вот такие:
AddPlayerClass(186,1498.8809,-696.0736,94.7500,197.0751,0,0,0,0,0,0); 

Немного о координатах:
186 - ID скина в котором было сделано сохранение.
1498.8809 - Х координата.
-696.0736 - Y координата.
94.7500 - Z координата
Далее идет угол наклона и список оружия которые имеются у нашего персонажа.
Приступим к созданию пикапа:
Для начала введем переменную, у меня она будет qw1.Значит я должен ко всем new добавить переменную:
new qw1

Переходим в
public OnGameModeInit
и начинаем делать Pickup.
Вписываем в паблик код:
qw1 = CreatePickup(ID нашего пикапа,Состояние пикапа,X координата, Y координата, Z координата);
P.S - На месте qw1 должна находиться ваша переменная, которую вы вписали в список new.
ID пикапов:
[img]http://s47.radikal.ru/i115/1310/f5/620a345779d4.jpg[/img]
[size="2"][b][u][i]Состояние пикапа:[/i][/u][/b][/size]
[code]
0 Пикап не отображается.
2 Берётся, появляется после некоторого времени.
3 Берётся но не появляется.
4 Исчезает вскоре после появления.
5 Исчезает вскоре после появления.
8 Берётся, но не имеет эффекта. Исчезает автоматически.
11 Взрывается через несколько секунд после того как появится.
12 Взрывается через несколько секунд после того как появится.
13 Медленно decends на землю.
15 Берётся но не появляется.
19 Берётся, но не имеет эффект (информационные иконки)
22 Берётся но не появляется
23 Берётся, но не исчезает.


Далее жмём F5 и после компилирования нам может выдаваться вот такой варнинг:
warning 204: symbol is assigned a value that is never used: "qw1"

Тут нету ничего страшного, он обозначает что наша переменная не имеет функций.

Телепорт по Pickup.
Чтобы создать телепорт по пикапу, нам опять надо зайти в SAMP и выбрать место куда будет телепортироваться игрок, делаем все те же действия что были в самом начале.
Далее переходим к:
public OnPlayerPickUpPickup

Пишем код:
if(pickupid == qw1)
{
   SetPlayerPos(playerid,X координата,Y координата, Z координата);
}


P.S - Напоминаю что на место qw1 , вы вписываете свою переменную.
После этого нажимаем F5 и нам выдаст ответ, что мод не имеет варнингов!
Потому что мы поставили нашей переменной значение телепорта.

Выдача денег по пикапу.
В основном все то же, что было и было с телепортом.
Только меняем немного код:
if(pickupid == qw1)
{
  GivePlayerMoney(playerid,2500)
}


2500 - кол-во денег, ставим свою сумму.

Выдача оружия по пикапу
Повторение предыдущего.
Только опять меняем немного код:
if(pickupid == qw1)
{
  GivePlayerWeapon(playerid,24,100)
}


24 - Это ID оружия, в моем случае это дигл.
100 - кол-во патрон.
Список оружия:
0 - Безоружный
1 - Костет
2 - Клюшка для гольфа
3 - Night Stick
4 - Нож
5 - Бейсбольная бита
6 - Shovel
7 - Бильярдный кий
8 - Катана
9 - Бензопила
10 - Purple Dildo
11 - White Dildo
12 - Long White Dildo
13 - White Dildo 2
14 - Цветы
15 - Cane
16 - Гранаты
17 - Газовый баллончик
18 - Коктейль Молотова
19 - Ракета
20 - Ракета
21 - Ракета
22 - Пистолет
23 - Пистолет с глушителем
24 - Пустынный орёл
25 - Дробовик
26 - Обрез
27 - Боевой дробовик
28 - Микро Узи (Мак 10)
29 - MP5
30 - АК47
31 - M4
32 - Тек9
33 - Винтовка
34 - Снайперская винтовка
35 - РПГ
36 - Missile Launcher
37 - Огнемёт
38 - Пулемёт
39 - Взрывпакеты
40 - Детонатор
41 - Баллончик с краской
42 - Огнетушитель
43 - Фотоаппарат
44 - Очки ночного видения
45 - Инфракрасные очки
46 - Парашют



Выдача здоровья и брони по Pickup.
Меняем код:
if(pickupid == qw1)
{
  SetPlayerHealth(playerid, 100);
  SetPlayerArmour(playerid, 100);
}


То есть , если игрок встанет на наш пикап, то ему выдадут 100 HP и 100 Брони.
Еще вы можете сделать сразу несколько действий, для этого добавьте просто функцию.
==============================================================

Если что-то не понятно спрашивайте.
P.S - Готовил для новичков, а не для критиков.

Сообщение отредактировал iRusel: 22 Октябрь 2013 - 00:03

3

#2
Пользователь офлайн   Xrum98 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Допустил ошибку!
Если можно исправить, поправьте
if(pickupid == qw1)
{
  SetPlayerHealthAC(playerid, 100);
  SetPlayerArmourAC(playerid, 100);
}



Меняйте на:
if(pickupid == qw1)
{
  SetPlayerHealth(playerid, 100);
  SetPlayerArmour(playerid, 100);
}


Потому что значение AC - поставлено от античита ...
0

#3
Пользователь офлайн   Fallik 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
а какую функцию поставить
0

#4
Пользователь офлайн   Neshta 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Спасибо!
0

#5
Пользователь офлайн   .evoxxx 

  • Гад
  • Вставить ник
  • Раскрыть информацию
Итаааааааакккк сойдет
0

#6
Пользователь офлайн   Muravei 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Я новичок. Подскажи, куда вписывать
if(pickupid == qw1)?
0

#7
Пользователь офлайн   mxINI 

  • Даун какой-то
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMuravei (27 Октябрь 2014 - 22:58) писал:

Я новичок. Подскажи, куда вписывать
if(pickupid == qw1)?

OnPlayerPickup
0

#8
Пользователь офлайн   Danil_Savin 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
А для домов как пикапы?
0

#9
Пользователь офлайн   valerio1856 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Кикает за античит...Собирался сделать бесплатный пикап парашютов,а оно даёт за секунду по 5 парашютов,вот и кикает.Какую цифру после ид пикапа лучше писать?Чтобы один раз далось,и всё..

Сообщение отредактировал valerio1856: 08 Июнь 2016 - 21:29

0

#10
Пользователь офлайн   Count 

  •  
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияvalerio1856 (08 Июнь 2016 - 21:28) писал:

Кикает за античит...Собирался сделать бесплатный пикап парашютов,а оно даёт за секунду по 5 парашютов,вот и кикает.Какую цифру после ид пикапа лучше писать?Чтобы один раз далось,и всё..

Задержку надо ставить на пикапы. И скинь сам код + античит.
В начало паблика:
if(GetPVarInt(playerid, "OnPickUp") == 0) return true;

В конец:
SetPVarInt(playerid, "OnPickUp", 1);

В секундный таймер:
if(IsPlayerInRangeOfPoint(playerid, 1.0, тут переменные координат персонажа X Y Z)) SetPVarInt(playerid, "OnPickUp", GetPVarInt(playerid, "OnPickUp")-1);

Сообщение отредактировал Count: 09 Июнь 2016 - 00:16

0

Поделиться темой:


  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика