Доступ к архиву

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Кто сможет помочь с реализацией?

Статус
В этой теме нельзя размещать новые ответы.

Mant1cora

Начинающий
Пользователь
Регистрация
6 Апр 2016
Сообщения
38
Лучшие ответы
0
Репутация
3
Доброго времени суток,ребята, прошу помощи,т.к. в интернете не нашел путей реализации.
Делаю систему квеста, задание заключается в том, чтобы убить продавца одежды и забрать вещи.
Заходим в интерьер - наводим ствол на продавца, выбираем "убить", забираем,уходим.

Все ровно работает,но! Если следующий попробует то же самое, то ничего происходить не будет при прицеле на актера., хотя я удаляю актера при убийстве, а добавлю при входе по пикапу(разумеется, ограничил кол-во входов до 1) Возможно, проблема в "new playerTargetActor", но как быть - не знаю.

Вопрос: как сделать,чтобы данный квест выполнять могли все? Я сделал, вышел, заходит и делает следующий.( убрал воду из кода,чтобы было видно )

Пикапы
PHP:
if(pickupid == PickupQuestb1[0])// в 1 квест
    {
		if(pInfo[playerid][pQuest] == 1)
		{
		    if(massq1 == 1) return SendClientMessage(playerid,COLOR_ORANGE, "[Система оповещения]: Двери заблокированы, ожидайте выхода человека");
	        SetPlayerPos(playerid, 1388.4418,-19.1036,1001.4044);
			SetPlayerVirtualWorld(playerid, 0);
			TogglePlayerControllable(playerid, 0);
			AnActors[0] = CreateActor(23, 1388.5270,-28.4839,1001.4044,2.6426);
			SetTimerEx("Ice",3000,false, "i", playerid);
			SetPVarInt(playerid, "OnQuestPeople", 1);
			massq1 = 1;
		}
		else
		{
		    SendClientMessage(playerid,COLOR_ORANGE, "[Система оповещения]: Убирайся,или я снесу тебе башку");
		}
    }
    if(pickupid == PickupQuestb1[1])// из 1 квеста
    {
    
        SetPlayerPos(playerid, 2244.1360,-1663.6471,15.4766);
		SetPlayerVirtualWorld(playerid, 0);
		TogglePlayerControllable(playerid, 0);
		SetTimerEx("Ice",3000,false, "i", playerid);
        if(GetPVarInt(playerid, "Quest1") == 1)
        {
			DeletePVar(playerid, "OnQuestPeople");
			massq1 = 0;
		}
		return 1;
    }
public OnPlayerUpdate:
PHP:
new playerTargetActor = GetPlayerCameraTargetActor(playerid);

    // If they ARE looking at ANY actor
    if(playerTargetActor != INVALID_ACTOR_ID)
    {
        new playerWeapon = GetPlayerWeapon(playerid);
        new keys, updown, leftright;
        GetPlayerKeys(playerid, keys, updown, leftright);
        if(!ActorHandsup[playerTargetActor] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
        {
            if(IsPlayerInRangeOfPoint(playerid,5.0,1388.5270,-28.4839,1001.4044))
			{
				if(pInfo[playerid][pQuest] == 1)
				{
					ApplyActorAnimation(playerTargetActor, "SHOP", "SHP_HandsUp_Scr",4.1,0,0,10000,1,0);
		            ActorHandsup[playerTargetActor] = true;
		            SetActorChatBubble(playerTargetActor, "Не убивай пожалуйста, я все сделаю", 0xCDC673FF, 10.0, 3);
	                SetTimerEx("DeathAnimation", 1000*15, false, "i", playerTargetActor);
	                ShowPlayerDialog(playerid,12287,DIALOG_STYLE_LIST,"Выберите действие","Убить продавца","Кнопка 1","Кнопка 2");
				}
			}
        }
    }
Диалог убийства:

PHP:
if(dialogid == 12287)
	{
		if(response)
		{
            if(listitem == 0)
			{
			    SendClientMessage(playerid,0x88AA88AA,"Ты застрелил продавца");
			    DestroyActor(AnActors[0]);
			    
			}
		}
		else
        {
            SendClientMessage(playerid,0x88AA88AA,"Ты случайно застрелил продавца");
            DestroyActor(AnActors[0]);
            return 1;
        }
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу