Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Машинка для каждого игрока - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

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

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

[ Pawn ]
Машинка для каждого игрока не работает

#11
Пользователь офлайн   SmileCord 

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

Просмотр сообщенияX_mens (06 Июль 2019 - 16:01) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Он сделал правильно. Ты пробовал этот код? Всё такая же проблема?
0

#12
Пользователь офлайн   Sonic X 

  • Х_X
  • Вставить ник
  • Раскрыть информацию
enum TMPVEH
{
    vehicleid,//хранит id авто (создание по этой переменной)
    model,//хранит модель авто

    bool:turbo,//есть ли турбо
    bool:neon,//есть ли неон
    //и т.д.
}
new veh[MAX_PLAYERS][TMPVEH];

CMD:veh(playerid)
{
    if(!veh[playerid][model]) return SendClientMessage(playerid, -1, !"У вас нет транспорта.");
    if(!veh[playerid][vehicleid])//если авто ещё не было создано
    {
        veh[playerid][vehicleid] = CreateVehicle(...);

        switch(veh[playerid][model])//здесь ты проверяешь, что за модель авто. И поднастраиваешь конкретно, что нужно
        {//ведь не везде можно установить неон или турбо и т.п. В общем, детальная настройка
            case /*мотоциклы*/:
            case /*лодки*/:
            case /*самолёты*/:
            case /*специфичный*/:
            default://остальные обычные авто
            {
                if(veh[playerid][turbo]) AttachObjectToVehicle(...);
                if(veh[playerid][neon]) AttachObjectToVehicle(...);

                //и другие настройки
            }
        }

        return 1;
    }
    else//если оно уже создано, тут нужно либо вывести ошибку, либо пересоздать.
    {
        //если нужно пересоздать авто, то удаляешь авто, обнуляешь переменную и заново вызываешь команду
        /*
           DestroyVehicle(veh[playerid][vehicleid]);
           veh[playerid][vehicleid] = 0;

           return CMD::veh(playerid);
       */
       //или
       //return SendClientMessage(playerid, -1, !"У вас уже создан транспорт.");
    }
}

OnPlayerDisconnect(playerid, reason)//не стоит забывать об очищении при отключении игрока
{
    DestroyVehicle(veh[playerid][vehicleid]);

    for(new TMPVEH; e <= TMPVEH; e++)
    {
        veh[playerid][e] = 0;
    }
}



Где мои деньги!? :huh:

Сообщение отредактировал Sonic X: 10 Июль 2019 - 11:26

1

#13
Пользователь офлайн   BaBaYkA 

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

Просмотр сообщенияSonic X (10 Июль 2019 - 11:15) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Шикарно,взял,доправлю,истину нашёл.
0

#14
Пользователь офлайн   BaBaYkA 

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

Просмотр сообщенияSonic X (10 Июль 2019 - 11:15) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]



Смотри у тебя много лишнего,я вот сделал так

	if(strcmp(cmd, "/тест2", true) == 0)
	{
		if(PlayerInfo[playerid][pBaik] >= 1)
		{
			SCM(playerid,0xFFFFFFAA,"Вы вызвали свой байк");
			DestroyObject(neonbaiks1);
			DestroyObject(neonbaiks);
		    DestroyVehicle(baiks[playerid]);
		    new Float:q,Float:w,Float:e;
		    GetPlayerPos(playerid,q,w,e);
		    baiks[playerid] = CreateVehicle(463,q,w+2,e,90,0,0,3000);
			if(PlayerInfo[playerid][pNitro] >= 1)
			{
			    AddVehicleComponent(baiks[playerid], 1010);
   		 		AttachDynamicObjectToVehicle(neonbaiks1,baiks[playerid], 0.245, -0.464, -1.819, 0.000, 0.000, 179.399);
			    SCM(playerid,0xFFFFFFFF,"Нитро есть!");
			}
			if(PlayerInfo[playerid][pNeon] == 1)
			{
			    //white
    			neonbaiks = CreateDynamicObject(18652,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
    			AttachDynamicObjectToVehicle(neonbaiks, baiks[playerid], 0.000, -0.130, -0.610, 0.000, 0.000, 0.000);
			    SCM(playerid,0xFFFFFFAA,"Неон есть!");
			}
  		}
  		else
		{
            SCM(playerid,0xFF0000FF,"Купите Freeway!");
		}
	    return true;
	}

Но происходит то что у 2 игроков вызыватся 1 байк скрины: https://vk.com/album...60649_249079067
В чём запор.

Сообщение отредактировал BaBaYkA: 11 Июль 2019 - 17:19

0

#15
Пользователь офлайн   Sonic X 

  • Х_X
  • Вставить ник
  • Раскрыть информацию
Моя команда в чистом виде работает правильно?

Сообщение отредактировал Sonic X: 11 Июль 2019 - 16:21

0

#16
Пользователь офлайн   BaBaYkA 

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

Просмотр сообщенияSonic X (11 Июль 2019 - 16:21) писал:

Моя команда в чистом виде работает правильно?


Не думаю,у тебя так же спавнит как и у меня...
У тебя просто через enum хранение,это значит что на файлах отдельных можно вывести,я же хочу что бы всё хранилось в аккаунте тобиш через PI.
0

#17
Пользователь офлайн   Sonic X 

  • Х_X
  • Вставить ник
  • Раскрыть информацию
Я не понимаю, сложно сделать копи-паст, чуть подправить, чтобы работала моя команда? И там нет логических ошибок, там не должно быть такого, как у тебя. У тебя идёт смешивание ID игроков или ID авто, а может всего вместе. По поводу енума - в чём проблема эти переменные перенести в твой основной??? :huh: Я же показал, как пример, ты можешь это вообще сделать на отдельных переменных или на одномерном массиве.

Возьми мою команду за основу, и видоизменяй в ней всё так так, как у тебя, только не сразу же, а постепенно. Сначала основные функции, потом проверь, всё ли работает, далее уже по мелочи. Всё получится :wink:
0

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


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

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


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