Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 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
а не легче OnPlayerEnterVehiicle ?
|
OnPlayerEnterVehicle срабатывает когда игрок собирается сесть в транспорт (нажал ентер и бежит открывать дверь).
если в этот момент он развернется - то в транспорт не сядет и вызов функции считай был зря )
Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают -
YellowCloud - 24.09.2010
Quote:
Originally Posted by Maccer
в OnPlayerStateChange лови посадку игрока в танк.
|
Хм, а не подскажешь как реализовать)
Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают -
Walk_M4n - 24.09.2010
Quote:
Originally Posted by YellowCloud
Хм, а не подскажешь как реализовать)
|
Ты имеешь в виду: «Сделайте за меня»?
Хотя, если нормально просишь, то лови:
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
Зачем вообще это? в OnPlayerUpdate проверять колво очков если их меньше то закрывать танк и всо SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
|
И нагрузить сервер тучей ненужных проверок. Если и делать способом, как ты предложил, то только используя OnVehicleStreamIn
Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают -
Stepashka - 30.09.2010
Quote:
Originally Posted by lost13
Зачем вообще это? в OnPlayerUpdate проверять колво очков если их меньше то закрывать танк и всо SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
|
поясняю с точки зрения разумности:
OnPlayerUpdate - от 1 до 40 нескольких проверок в секунду + запоминание какую машину закрыли, а какую нет, для каждого игрока!
OnPlayerStateChange - 1 проверка гарантированно происходящая когда игрок садится в машину, без необходимости запоминать что мы закрыли а что нет.
Ещё глупые идеи будут?
Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают -
lost13 - 04.10.2010
нет, ну так делают, я видел на одном серве, можно сделать в OnPlayerDeath, просто так круче, в транспорт вообще не сесть будет =)
===
Мда...
Re: Как сделать так что бы когда кто-нибудь садился в например в танк и у тебя меньше 500 очков то тогда тебя высаживают -
sk47 - 05.10.2010
lost13
OnPlayerEnterVehicle
GetPlayerPos
SetPlayerPos