PDA

Просмотр полной версии : [Вопрос] Поезд



GoJIoBoJIoMkA
07.04.2018, 10:40
Всем привет!
И сразу к делу, я делал NPS поезда по одному мануалу, в начале были какие-то ошибки, что-то не получалось, но потом вроде всё получилось, и как сказал автор мануала

7. Запускаем сервер. В Ркон Панели должно написать

"Ник твоего NPC" has joined the server
Так оно и есть, в ркон панели у меня появилась надпись

[npc:join] Ivan_Ivanich has joined the server (0:127.0.0.1)
Я уже обрадовался ,ну думаю всё, победа! Но не тут то было, я захожу на сервер,а поезд стоит на месте без движения,я сел в него а мне пишет что в данном транспорте нет бензина!
Теперь у меня возникло несколько вопросов!
Нужно ли создавать модель поезда в самом моде? Так-как поезд создаётся по мануалу в filterscriptЕ!
Если и нужно создать его в моде,как заполнить его баки горючим?
P.S NPS подключается к моду,вот server.log смотрите


[14:44:36] <- Мод полностью загружен ->
[14:44:36] -> Динамических объектов: 13282
[14:44:36] -> Статических объектов: 608
[14:44:36] -> Видимых объектов (стример): 392
[14:44:37] [connection] incoming connection: 127.0.0.1:52567 id: 0
[14:44:37] [npc:join] Ivan_Ivanich has joined the server (0:127.0.0.1
Когда я захожу на сервер для его проверки,мой id номер равен единице,значит NPS занимает id 0 как и говорит об этом server.log
Надеюсь я всё внятно объяснил! Ребята,помогите пожалуйста мне заставить этот поезд ездить!!!
За оказанную помощь, с меня как полагается!!!
Помогите пожалуйста заставить этот поезд ехать!

GoJIoBoJIoMkA
08.04.2018, 11:36
Подниму!

DeimoS
08.04.2018, 11:44
Я же уже где-то писал тебе, что нужно добавить проверку на модель авто в систему бензина и игнорировать поезд. То же самое и с системой двигателя, дабы поезд всегда был заведён.

GoJIoBoJIoMkA
08.04.2018, 17:35
Я же уже где-то писал тебе, что нужно добавить проверку на модель авто в систему бензина и игнорировать поезд. То же самое и с системой двигателя, дабы поезд всегда был заведён.

А вы не могли бы помочь, хотя-бы примерно набросать эту проверку на модель авто,для игнора поезда?!

DeimoS
08.04.2018, 17:37
GetVehicleModel (http://wiki.sa-mp.com/wiki/GetVehicleModel)
Список моделей (http://wiki.sa-mp.com/wiki/Vehicles:All)

Long-
09.04.2018, 22:54
Для наглядности:


if(GetPlayerModel(GetPlayerVehicleID(playerid)) == /*модель поезда*/)
return 1;

GoJIoBoJIoMkA
15.04.2018, 11:48
Для наглядности:


if(GetPlayerModel(GetPlayerVehicleID(playerid)) == /*модель поезда*/)
return 1;

Спасибо, проверка на горючее помогла, бак в поезде вроде как полный!
А скажите пожалуйста, что-бы двигатель поезда всегда работал та же самая проверка поможет?
Я с ней экспериментирую, но у меня ни чего не получается!

Long-
15.04.2018, 22:39
Покажи как ты с ней экспериментируешь

GoJIoBoJIoMkA
16.04.2018, 11:29
Я сувал эту проверку во все возможные паблики и стоки, ни чего не получилось, поезд как стоял так и стоит...
И в stock ToggleEngine
И в stock LoadCarPlayer
И в stock GetEngineStat
Всего уже и не помню, а результата ноль!

Long-
16.04.2018, 11:35
Так я зачем эта проверка, ты заводи его сразу при спавне, а не проверку пихай

GoJIoBoJIoMkA
16.04.2018, 12:29
Так я зачем эта проверка, ты заводи его сразу при спавне, а не проверку пихай

Засунул в
public OnVehicleSpawn(vehicleid)

CarEngine[playerid] = 538;
Ни чего не получилось!

StevenH
16.04.2018, 12:53
Засунул в
public OnVehicleSpawn(vehicleid)

CarEngine[playerid] = 538;
Ни чего не получилось!

Какому playerid ты приравниваешь в этом паблике? И что за странное число 538? Номер поезда? Так к чему 538 там?

GoJIoBoJIoMkA
16.04.2018, 13:21
Какому playerid ты приравниваешь в этом паблике? И что за странное число 538? Номер поезда? Так к чему 538 там?

538 это ид поезда, а playerid я увидел на просторах интернета, CarEngine[playerid] = .... я и подумал что поставить ид поезда туда будет правильно!
Я нуб в этом деле, только учусь, именно по этому я пишу сюда, прошу помощи у профессионалов!

DeimoS
16.04.2018, 13:55
Ну так может стоит не просто выискивать примеры и бездумно пытаться их копировать, а попытаться разобраться в том, что в этих примерах делается?
Например, загуглить "Как завести авто pawn", найти статью с системой заводки двигателя и понять какая именно функция отвечает за заводку этого самого двигателя, гугля описание каждой из функций в системе?

Как-то странно ты изучаешь язык, если честно.

Kovshevoy
16.04.2018, 19:51
А не легче будет это вставить во всевозможные паблики?

if(IsPlayerNPC(playerid)) return 1;

DeimoS
16.04.2018, 21:59
А не легче будет это вставить во всевозможные паблики?

if(IsPlayerNPC(playerid)) return 1;

Это никак его проблему с поездом не решит ведь. У него проблема с самим транспортом и всеми связаными системами

Kovshevoy
16.04.2018, 22:12
Это никак его проблему с поездом не решит ведь. У него проблема с самим транспортом и всеми связаными системами

У меня на моде насколько помню, не стояло всяких загвоздок по типу проверки транспорта. Просто НПС двигался и всё.

- - - Добавлено - - -

Хотя там тоже система топлива, двигателя и так далее

- - - Добавлено - - -

Проверил только что свой мод, там просто PutPlayerInVeh используется, и ещё GetVehicleParams и SetVehicleParams. Может такой костыль устроит

DeimoS
17.04.2018, 06:00
У меня на моде насколько помню, не стояло всяких загвоздок по типу проверки транспорта. Просто НПС двигался и всё.

- - - Добавлено - - -

Хотя там тоже система топлива, двигателя и так далее

- - - Добавлено - - -

Проверил только что свой мод, там просто PutPlayerInVeh используется, и ещё GetVehicleParams и SetVehicleParams. Может такой костыль устроит

Перечисленные тобой системы можно реализовать сотней различных способов и от вариантов реализации будет зависеть многое.
Хотя то, что "проблему" заводки двигателя можно решить SetVehicleParams - тут ты прав. Но, опять же, в его моде спокойно может быть защита от той же читерской заводки, в которой будет сверяться значение переменной с состоянием двигателя и значения из GetVehicleParams, из-за чего одного SetVehicleParams не хватит

GoJIoBoJIoMkA
19.04.2018, 13:02
А не легче будет это вставить во всевозможные паблики?

if(IsPlayerNPC(playerid)) return 1;

Я засунул эту проверку во все необходимые паблики, как было сказано в мануале, для того что-бы NPS подключался к моду, всё получилось и NPS подключается, но поезд не едет!
Помогите пожалуйста, хотя-бы образно накидайте код, как завести этот несчастный поезд!



В моде я нашел stock SetVehicleParamsExEx
Думаю в него нужно запихать заводку двигателя поезда?
Я пересмотрел массу всего по заводке двигателя, но я не могу собрать в одно целое заводку двигателя этого поезда, да так, что-бы он еще работал всё время...
(Londlem помог бы без всякой остроты)



Будет ли вот это работать?

if(GetVehicleModel(vehicleid) != 538)
{
if(engine[vehicleid] = 1) return 1;
}

GoJIoBoJIoMkA
23.04.2018, 14:35
Сделал вот так

public OnGameModeInit() {
new
Train = AddStaticVehicle(538, 1779.2756,-1953.8082,14.8756,90.1409, 6, 6, 100);

SetVehicleParamsEx(Train, 1, 0, 0, 0, 1, 1, 1);
engine[Train] = 1;

return 1;
}
Но теперь появляется ошибка, помогите ее исправить пожалуйста!

error 028: invalid subscript (not an array or too many subscripts): "engine"

Long-
23.04.2018, 14:53
Покажи объявления переменной engine
Должна быть объявлена так:


new
engine[MAX_VEHICLES];

GoJIoBoJIoMkA
23.04.2018, 15:01
Исправил уже!
Но почему-от поезд один хрен не едет...
А если в него сажусь я, то самому можно ехать!

Long-
23.04.2018, 15:09
Исправил уже!
Но почему-от поезд один хрен не едет...
А если в него сажусь я, то самому можно ехать!

А ты ему путь то записал ?

GoJIoBoJIoMkA
23.04.2018, 16:03
Обязательно, это я сделал в первую очередь!
До этого что я сегодня сделал,

SetVehicleParamsEx(Train, 1, 0, 0, 0, 1, 1, 1);
engine[Train] = 1;
у меня водила поезда (NPS) появлялся почему-то не понятно где, стоит бот, с клистом как положено.
Но сегодня, когда я сделал то что показано выше, у меня появился радостный результат, стрелка и клист на карте появились где нужно
http://i6.pixs.ru/storage/5/8/4/123jpg_7437323_30039584.jpg
НО он один хрен стоит.....:dash2:
Запись и создание новых файлов .pwn всё шло точно по мануалу и 300 рас всё перепроверено!
Я даже новую запись cделал, ну думаю мало-ли что-то упустил, но нет, даже с новой записью он не сдвинулся с места!

GoJIoBoJIoMkA
24.04.2018, 11:23
Подниму!

GoJIoBoJIoMkA
09.05.2018, 15:38
Проблема решена!!!
Тему можно закрыть!!!
Перепутал название записи и имя NPS в скриптах, записал всё верно и поезд тронулся, господа присяжаные ))