Определение спавна конкретной машины
#1

Хочу прикрепить объект к машине, но так, чтобы он исчезал при респавне машины. Паблик OnVehicleRespawn убирает этот объект при респавне любой машины на сервере. Уже 2-й день ломаю голову, и чувствую, что ответ будет элементарным,но всё же, решил обратится к вам, т.к. уже нет вариантов.

Изначальный вариант был таким:
pawn Код:
public OnVehicleSpawn(vehicleid, playerid)
{
DelObjects(playerid);
return 1;
}
Reply
#2

Ну значит у каких-то машин нужно убирать объект при спавне, а у других не нужно?
Определись, что является ключевым моментом в это вопросе нужно/не нужно и делай проверку ифом по нему )
Reply
#3

Я просто хочу сделать проверку на респавн определённой машины, т.е., когда спавнится одна машина, чтобы именно для неё активировалась функция, а не для всех.
Reply
#4

Код:
new car;

car = CreateVehicle(....);

public OnVehicleSpawn(vehicleid)
{
    if(vehicleid == car)
    {
    ....
    }
    return 1;
}
Все просто (:
Reply
#5

Хм... спасибо, чуть-чуть не то, но близко)
Попробую сделать по этому примеру.
Reply
#6

Решение банально, привязывать оъект не к игроку, а к машине.
Из твоего примера привязка к ироку: DelObjects(playerid);
Reply
#7

Нет, это паблик, в нём вписано удаление объектов, а playerid из-за этого DestroyObject(GetPVarInt(playerid, "undercover1"));
Reply
#8

Проблемы, собственно не закончились, объясню более подробно, что я хотел в этой теме:
С помощью меню, каждый игрок может выбрать и прикрепить на свой транспорт какой-нибудь объект из списка. Проблема в том, что, когда транспорт взрывается, или респавнится, объект не исчезает, а удалить его может только тот, кто его туда поставил, т.к. этот объект записывается на определённого игрока через SetPVarInt. Вот пример:
pawn Код:
SetPVarInt(playerid, "bl", CreateObject(18648,0,0,0,0,0,0));
Это очень не удобно и я пытаюсь сделать так, чтобы при каждом респавне машины этот объект исчезал.

У меня получилось это сделать, но проблема в том, что при респавне 1-й машины, даже той, на которой нет объекта, объекты исчезают на всех машинах сервера, на которых были установлены. И я пытаюсь сделать так, чтобы объект исчезал только на той машине, которая совершила респавн, но у меня это, пока, не получается. Вот я и обратился за помощью к вам.
Reply
#9

K-911, я тебе уже сказал решение привязывай объект не к игроку, а к машине.

Давай свой код.
Reply
#10

я написал выше, почему стоит не vehicleid, а playerid.

Quote:

Нет, это паблик, в нём вписано удаление объектов, а playerid из-за этого DestroyObject(GetPVarInt(playerid, "undercover1"));

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)