Вопросы

arno37
Освоившийся

Всем привет.Вопрос такой как сделать команду чтоб садится в трамвай как на юрм? 
О команде знаю что она называется /intram кто делал подскажите пожалуйста!

Поделиться сообщением


Ссылка на сообщение

13 ответов на этот вопрос

  • 0
Cawfee
Великий Гуру

@arno37, вот, нашел.

Спойлер

Баг с выходом из поезда.png

 

Для решения проблемы в OnPlayerExitVehicle добавьте проверку на то, соответствует ли ID модели транспорта идентификатору поезда. Если да, обнуляйте камеру:

new model = GetVehicleModel(vehicleid);
if(model == ид поезда){
	SetCameraBehindPlayer(playerid);
}

 

Но гораздо лучше воспользоваться fixes.inc (библиотека, исправляющая баги как самой игры, так и SA-MP Team). 

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру
Спойлер

CMD:intram(playerid)
{
	new Float:dist, Float:dist2, Float:x, Float:y, Float:z, vehicleid;
	
	foreach(new i: Vehicle)
	{
		GetVehiclePos(i, x, y, z);
		dist2 = GetPlayerDistanceFromPoint(playerid, x, y, z);
		if(dist2 < dist){
			dist1 = dist2;
			vehicleid = i;
		}		
	}
	
	PutPlayerInVehicle(playerid, i, 0);
	SendClientMessage(playerid, -1, "Вы посажены на место водителя трамвая");
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0
arno37
Освоившийся

@odosenok Вышли ошибки!

C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27650) : error 017: undefined symbol "Vehicle@YSII_Ag"
C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27650) : error 017: undefined symbol "Vehicle@YSII_Ag"
C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27650) : error 029: invalid expression, assumed zero
C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27650) : fatal error 107: too many error messages on one line

 

Отредактировано пользователем arno37

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@arno37, тогда так:

Спойлер

CMD:intram(playerid)
{
	new Float:dist, Float:dist2, Float:x, Float:y, Float:z, vehicleid;
	
	for(new i = 1; i <= MAX_VEHICLES; i++)
	{
		if(!IsValidVehicle(i)){
			continue;
		}
		GetVehiclePos(i, x, y, z);
		dist2 = GetPlayerDistanceFromPoint(playerid, x, y, z);
		if(dist2 < dist){
			dist = dist2;
			vehicleid = i;
		}
	}

	PutPlayerInVehicle(playerid, vehicleid, 0);
	SendClientMessage(playerid, -1, "Вы посажены на место водителя трамвая");
	return 1;
}

 

 

Отредактировано пользователем odosenok
Причина: поправка

Поделиться сообщением


Ссылка на сообщение
  • 0
arno37
Освоившийся

@odosenok 

C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27662) : error 017: undefined symbol "i"
C:\Users\1\Downloads\crlrp\gamemodes\crlrp.pwn(27658) : warning 204: symbol is assigned a value that is never used: "vehicleid"

2 ошибки

 

Заметка от Cawfee , создано

Обновил пост выше.

Поделиться сообщением


Ссылка на сообщение
  • 0
arno37
Освоившийся

@arno37 Смотри поставил это он садится но когда выходиш с трамвая камер остается в трамвае в чём прикол?

 

 if(newkeys == KEY_SECONDARY_ATTACK)
        {
                if(!IsPlayerInAnyVehicle(playerid))
                {
                        new Float:x, Float:y, Float:z;
                        GetPlayerPos(playerid, x, y, z);
                        for(new veh; veh<MAX_VEHICLES; veh++)
                        {
                                GetVehiclePos(veh, x, y, z);
                                if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
                                {
                                    new model = GetVehicleModel(veh);
                                    switch(model)
                                        {
                                                case 441, 464, 501, 465, 564, 449: PutPlayerInVehicle(playerid, veh, 0);//если рс - зажаем туда игрока
                                        }
                                }
                        }
                }else{
                    new model = GetVehicleModel(GetPlayerVehicleID(playerid));
                    switch(model)
                        {
                                case 441, 464, 501, 465, 564, 449:
                                {
                                        new Float:x, Float:y, Float:z;
                                        GetPlayerPos(playerid, x, y, z);
                                        SetPlayerPos(playerid, x, y, z+0.5);//если рс - выбрасываем игрока из авто
                                }
                        }
                }
        }

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру
Цитата

когда выходиш с трамвая камер остается в трамвае


Баг GTA SA и CR.

Поделиться сообщением


Ссылка на сообщение
  • 0
arno37
Освоившийся

@odosenok а его исправить не как? я слышал что вроде можно но как незнаю)

 

 

 

Ребят если знайте или кто то сталкивался как убрать это баг напишите пожалуйста!

 

Отредактировано пользователем arno37

Заметка от Cawfee , создано

Объединил сообщения.

Поделиться сообщением


Ссылка на сообщение
  • 0
arno37
Освоившийся

@odosenok Все сработало спасибо тебе огромное!
 

Для тех кто захочет сделать также код который нужно будет кинуть в  OnPlayerKeyStateChange

 if(newkeys == KEY_SECONDARY_ATTACK)//òðàìâàé
    {
            if(!IsPlayerInAnyVehicle(playerid))
            {
                    new Float:x, Float:y, Float:z;
                    GetPlayerPos(playerid, x, y, z);
                    for(new veh; veh<MAX_VEHICLES; veh++)
                    {
                            GetVehiclePos(veh, x, y, z);
                            if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
                            {
                                new model = GetVehicleModel(veh);
                                switch(model)
                                {
                                case 441, 464, 501, 465, 564, 449: PutPlayerInVehicle(playerid, veh, 0);//åñëè ðñ - çàæàåì òóäà èãðîêà
                                }
                            }
                    }
                  }else{
                  new model = GetVehicleModel(GetPlayerVehicleID(playerid));
                  switch(model)
                  {
                             case 441, 464, 501, 465, 564, 449:
                             {
                                     new Float:x, Float:y, Float:z;
                                     GetPlayerPos(playerid, x, y, z);
                                     SetPlayerPos(playerid, x, y, z+0.5);//åñëè ðñ - âûáðàñûâàåì èãðîêà èç àâòî
                             }
                             case 0: SetCameraBehindPlayer(playerid);//åñëè òðàìâàé äåëàåì êàìåðó íîðì
                  }
            }
    }

А что бы исправить баг с выходом трамвая или поезда закидываем в OnPlayerExitVehicle 

new model = GetVehicleModel(vehicleid);
if(model == ид трамвая 449){
	SetCameraBehindPlayer(playerid);
}

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Dofarst
      От Dofarst
      AdrenalineRush
      Скачать файл AdrenalineRush — легкий геймплейный скрипт, добавляющий механику «второго дыхания». Когда здоровье персонажа падает до критической отметки (ниже 15 HP), автоматически активируется кратковременный прилив адреналина: восстанавливается выносливость для бега, изменяется визуальное восприятие, а игрок получает шанс спастись из критической ситуации. Полностью автономен, оптимизирован и готов к интеграции в любой игровой режим.
       
      P.S Плагин делаю впервые, поэтому не судите строго
       

      Добавил Dofarst Добавлено 05/22/26 Категория Плагины / инклуды Автор Dofarst Совместимость с версией мультиплеера 0.3.7  
    • DrVandersexxx
      От DrVandersexxx
      League A/D — Attack & Defend
      Скачать файл League A/D — это соревновательный игровой режим Attack & Defend (Атака и Защита) для мультиплеера open.mp. Проект представляет собой полное переосмысление классического формата A/D образца 2008–2010 годов, но на базе современных стандартов стабильности и с полным искоренением старых багов/эксплойтов.
       
      🏆 ИГРОВОЙ ПРОЦЕСС
      Атакующие против Защитников — для победы захватите чекпоинт на базе.
      Таймер матча (5 минут) — в случае ничьей по истечении времени активируется овертайм (победа присуждается по количеству оставшихся в живых игроков).
      Голосование за карту перед каждым раундом: /vote base [id] | /vote arena [id] | /vote random.
      Автоматический старт — лобби запускает раунд самостоятельно, как только в обеих командах появляются игроки.

      ⚔️ МЕХАНИКИ И ОСОБЕННОСТИ
      Выбор экипировки в начале раунда:
      Основное оружие: MP5 / M4 / AK47 / Shotgun
      Вторичное оружие: Deagle / Silenced Pistol
      Транспорт для защиты — обороняющаяся сторона получает эксклюзивный доступ к автомобилям и вертолету.
      Режим наблюдения за тиммейтами прямо во время матча: /spec [name].
      Слот рефери для турнирных и лиг-администраторов.

      🗺️ КАРТЫ
      Два типа локаций — Базы (открытая местность) и Арены (закрытые интерьеры).
      Огромный пул — более 100 слотов под базы и 50 слотов под арены.
      Для администрации: Команда /reloadmaps позволяет перезагрузить карты «на лету» без перезапуска всего сервера.

      🛡️ БАЗОВЫЙ АНТИЧИТ
      Серверная защита от Teleport / Flyhack / Speedhack (адаптирована под пинг и лаги).
      Строгая валидация оружия по слотам.
      Защита от спама фейк-киллами (FakeKill).
      Мониторинг пинга и потери пакетов (packet loss).

      🌐 ПОДДЕРЖКА ЯЗЫКОВ
      English | Русский | Українська

      👥 КОМАНДЫ
      Атакующие (Attackers) | Защитники (Defenders) | Рефери (Referee)

      💻 СПИСОК КОМАНД
      /vote — проголосовать за карту
      /spec [name] — войти в режим наблюдения за игроком
      /specoff — выйти из режима наблюдения
      /eng / /ru / /ua — Смена языка интерфейса
      /help — полный список доступных команд
      Игровой режим разработан специально под платформу open.mp.

      https://github.com/vandersexxxes-sudo/League-A-D-Attack-Defend-open.mp

      Dr.Vandersexxx with lov3
      Сайт проекта: https://vandersexxx.do.am/
      Добавил DrVandersexxx Добавлено 05/23/26 Категория Моды Автор ESL 2010 годов  
    • DrVandersexxx
      От DrVandersexxx
      League A/D — это соревновательный игровой режим Attack & Defend (Атака и Защита) для мультиплеера open.mp. Проект представляет собой полное переосмысление классического формата A/D образца 2008–2010 годов, но на базе современных стандартов стабильности и с полным искоренением старых багов/эксплойтов.
       
      🏆 ИГРОВОЙ ПРОЦЕСС
      Атакующие против Защитников — для победы захватите чекпоинт на базе.
      Таймер матча (5 минут) — в случае ничьей по истечении времени активируется овертайм (победа присуждается по количеству оставшихся в живых игроков).
      Голосование за карту перед каждым раундом: /vote base [id] | /vote arena [id] | /vote random.
      Автоматический старт — лобби запускает раунд самостоятельно, как только в обеих командах появляются игроки.

      ⚔️ МЕХАНИКИ И ОСОБЕННОСТИ
      Выбор экипировки в начале раунда:
      Основное оружие: MP5 / M4 / AK47 / Shotgun
      Вторичное оружие: Deagle / Silenced Pistol
      Транспорт для защиты — обороняющаяся сторона получает эксклюзивный доступ к автомобилям и вертолету.
      Режим наблюдения за тиммейтами прямо во время матча: /spec [name].
      Слот рефери для турнирных и лиг-администраторов.

      🗺️ КАРТЫ
      Два типа локаций — Базы (открытая местность) и Арены (закрытые интерьеры).
      Огромный пул — более 100 слотов под базы и 50 слотов под арены.
      Для администрации: Команда /reloadmaps позволяет перезагрузить карты «на лету» без перезапуска всего сервера.

      🛡️ БАЗОВЫЙ АНТИЧИТ
      Серверная защита от Teleport / Flyhack / Speedhack (адаптирована под пинг и лаги).
      Строгая валидация оружия по слотам.
      Защита от спама фейк-киллами (FakeKill).
      Мониторинг пинга и потери пакетов (packet loss).

      🌐 ПОДДЕРЖКА ЯЗЫКОВ
      English | Русский | Українська

      👥 КОМАНДЫ
      Атакующие (Attackers) | Защитники (Defenders) | Рефери (Referee)

      💻 СПИСОК КОМАНД
      /vote — проголосовать за карту
      /spec [name] — войти в режим наблюдения за игроком
      /specoff — выйти из режима наблюдения
      /eng / /ru / /ua — Смена языка интерфейса
      /help — полный список доступных команд
      Игровой режим разработан специально под платформу open.mp.

      https://github.com/vandersexxxes-sudo/League-A-D-Attack-Defend-open.mp

      Dr.Vandersexxx with lov3
      Сайт проекта: https://vandersexxx.do.am/
    • Dofarst
      От Dofarst
      AdrenalineRush — легкий геймплейный скрипт, добавляющий механику «второго дыхания». Когда здоровье персонажа падает до критической отметки (ниже 15 HP), автоматически активируется кратковременный прилив адреналина: восстанавливается выносливость для бега, изменяется визуальное восприятие, а игрок получает шанс спастись из критической ситуации. Полностью автономен, оптимизирован и готов к интеграции в любой игровой режим.
       
      P.S Плагин делаю впервые, поэтому не судите строго
       

    • Dofarst
      От Dofarst
      Всем привет, на днях решил создать свой SAMP сервер, ну как свой, взять какой то мод под основу и переделать его. Вопрос такой, какой можете посоветовать мод SAMP 0.3.7? Желательно с мобильным клиентом, но можно и пк, многие системы буду делать сам, но хотелось бы что бы уже присутствовала базовая бд, регистрация, авторизация, бизнесы, админки, лидеры фракции, и базовые команды.