SA-MP Forums Archive
Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - 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: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают (/showthread.php?tid=178890)



Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - YellowCloud - 24.09.2010

Вот например у меня 250 очков и я сажусь в танк и мне пишет что у меня недостаточно очков. А если у меня 500 или больше очков то мне пишет что я сел в танк и снимает с меня деньги.

Заранее спасибо!


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - YellowCloud - 24.09.2010

Переменная где у меня храняться очки: new score;


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - Maccer - 24.09.2010

в OnPlayerStateChange лови посадку игрока в танк.


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - BaRRyS3R - 24.09.2010

а не легче OnPlayerEnterVehiicle ?


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - Maccer - 24.09.2010

Quote:
Originally Posted by BaRRyS3R
View Post
а не легче OnPlayerEnterVehiicle ?
OnPlayerEnterVehicle срабатывает когда игрок собирается сесть в транспорт (нажал ентер и бежит открывать дверь).
если в этот момент он развернется - то в транспорт не сядет и вызов функции считай был зря )


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - YellowCloud - 24.09.2010

Quote:
Originally Posted by Maccer
View Post
в OnPlayerStateChange лови посадку игрока в танк.
Хм, а не подскажешь как реализовать)


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - Walk_M4n - 24.09.2010

Quote:
Originally Posted by YellowCloud
View Post
Хм, а не подскажешь как реализовать)
Ты имеешь в виду: «Сделайте за меня»?

Хотя, если нормально просишь, то лови:
pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 432)
    {
        if(score < 500)
        {
            RemovePlayerFromVehicle(playerid);
            return SendClientMessage(playerid, 0xFFFFFFFF, "У Вас недостаточно очков!");
        }
        else score -= 500;
    }
}
score замени на нужную переменную с кол-вом очков для игрока


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - YellowCloud - 25.09.2010

во спасибо) Преблагодарен!


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - lost13 - 29.09.2010

Зачем вообще это? в OnPlayerUpdate проверять колво очков если их меньше то закрывать танк и всо SetVehicleParamsForPlayer(vehicleid,playerid,0,1);


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - Walk_M4n - 30.09.2010

Quote:
Originally Posted by lost13
View Post
Зачем вообще это? в OnPlayerUpdate проверять колво очков если их меньше то закрывать танк и всо SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
И нагрузить сервер тучей ненужных проверок. Если и делать способом, как ты предложил, то только используя OnVehicleStreamIn


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - Stepashka - 30.09.2010

Quote:
Originally Posted by lost13
View Post
Зачем вообще это? в OnPlayerUpdate проверять колво очков если их меньше то закрывать танк и всо SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
поясняю с точки зрения разумности:
OnPlayerUpdate - от 1 до 40 нескольких проверок в секунду + запоминание какую машину закрыли, а какую нет, для каждого игрока!
OnPlayerStateChange - 1 проверка гарантированно происходящая когда игрок садится в машину, без необходимости запоминать что мы закрыли а что нет.

Ещё глупые идеи будут?


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - lost13 - 04.10.2010

нет, ну так делают, я видел на одном серве, можно сделать в OnPlayerDeath, просто так круче, в транспорт вообще не сесть будет =)
===
Quote:

Ещё глупые идеи будут?

Мда...


Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают - sk47 - 05.10.2010

lost13
OnPlayerEnterVehicle
GetPlayerPos
SetPlayerPos