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

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

Заранее спасибо!
Reply
#2

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

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

а не легче OnPlayerEnterVehiicle ?
Reply
#5

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

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

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 замени на нужную переменную с кол-вом очков для игрока
Reply
#8

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

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

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

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

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

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

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

Мда...
Reply
#13

lost13
OnPlayerEnterVehicle
GetPlayerPos
SetPlayerPos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)