SA-MP Forums Archive
Определение спавна конкретной машины - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Определение спавна конкретной машины (/showthread.php?tid=208016)



Определение спавна конкретной машины - K-911 - 07.01.2011

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

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



Re: Определение спавна конкретной машины - Maccer - 07.01.2011

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


Re: Определение спавна конкретной машины - K-911 - 07.01.2011

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


Re: Определение спавна конкретной машины - Makar93 - 07.01.2011

Код:
new car;

car = CreateVehicle(....);

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


Re: Определение спавна конкретной машины - K-911 - 07.01.2011

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


Re: Определение спавна конкретной машины - Stepashka - 07.01.2011

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


Re: Определение спавна конкретной машины - K-911 - 07.01.2011

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


Re: Определение спавна конкретной машины - K-911 - 07.01.2011

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

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


Re: Определение спавна конкретной машины - Stepashka - 07.01.2011

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

Давай свой код.


Re: Определение спавна конкретной машины - K-911 - 07.01.2011

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

Quote:

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