Всем здрасте! вот такая проблема есть,
Когда сажусь в машину не показывается box'ы спидометра,
А когда выхожу с машины спидометр не скрывается,
Подскажите что да как!
Какой код предоставить.
Всем здрасте! вот такая проблема есть,
Когда сажусь в машину не показывается box'ы спидометра,
А когда выхожу с машины спидометр не скрывается,
Подскажите что да как!
Какой код предоставить.
OnPlayerEnterVehicle/OnPlayerExitVehicle
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
В этих public'ов нету показов/скрытия спидометра
"Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.
Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE
PHP код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid <= MAX_BUYABLE_CARS)
{
SetVehicleParamsForPlayer(vehicleid, playerid, 0, CarsInfo[vehicleid-1][vLock]);
}
SetVehicleParamsForPlayer(vehicleid, playerid, 0, gCarLock[vehicleid]);
SetPVarInt(playerid, "NoAB", 1);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
Refueling[playerid] = 0;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,LightPwr[vehicleid],alarm,doors,bonnet,boot,objective);
return 1;
}
PHP код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(IsPlayerNPC(playerid))return 1;
SetPVarInt(playerid, "NoAB", 1);
new string[100];
if(PEfir[playerid] != 255)
{
format(string, sizeof(string), "Вы вышли из прямого эфира");
SendClientMessage(playerid, COLOR_WHITE, string);
PEfir[playerid] = 255;
}
if(Pefir[playerid] == 1 || Pefir[playerid] == 2)
{
Pefir[playerid] = 0;
PEfir[playerid] = 255;
format(string, sizeof(string), "Вы вышли из прямого эфира");
SendClientMessage(playerid, COLOR_WHITE, string);
}
new Veh = GetPlayerVehicleID(playerid);
if(PlayerKarting[playerid] != 0)
{
SendClientMessage(playerid, COLOR_NEWS, "Вы были дисквалифицированы!");
DisablePlayerRaceCheckpoint(playerid);
DestroyVehicle(Veh);
RaceCP[playerid] = 0;
chet[playerid] = 0;
TogglePlayerControllable(playerid, 1);
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid,831.9918,1.6614,1004.1797);
SetPlayerFacingAngle(playerid, 39.0413);
PlayerKarting[playerid] = 0;
return 1;
}
if(Playermoto[playerid] != 0)
{
SendClientMessage(playerid, COLOR_NEWS, "Вы были дисквалифицированы!");
DisablePlayerRaceCheckpoint(playerid);
DestroyVehicle(Veh);
RaceCP[playerid] = 0;
motochet[playerid] = 0;
TogglePlayerControllable(playerid, 1);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,2690.2271,-1700.9700,10.4215);
SetPlayerFacingAngle(playerid, 45.9013);
Playermoto[playerid] = 0;
return 1;
}
if(TransportDuty[playerid] > 0)
{
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
TransportDuty[playerid] = 0;
}
}
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,LightPwr[vehicleid],alarm,doors,bonnet,boot,objective);
return 1;
}
А теперь код показа/скрытия дайте (или же покажите переменные, хранящие ID текстдравов спидометра)
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Нашол вот это
Перменные;PHP код:
if(newstate == 1)//скрываем спидак если выходит из машины
{
new carid = GetPlayerVehicleID(playerid);
if (!IsABycicle(carid))
{
KillTimer(STimer[playerid]);
TextDrawHideForPlayer(playerid,Box);
TextDrawHideForPlayer(playerid,LBorder);
TextDrawHideForPlayer(playerid,RBorder);
TextDrawHideForPlayer(playerid,BBorder);
TextDrawHideForPlayer(playerid,TBorder);
TextDrawHideForPlayer(playerid,Speed);
TextDrawHideForPlayer(playerid,Fuelll);
TextDrawHideForPlayer(playerid,Healths);
PlayerTextDrawHide(playerid,FuelShow[playerid]);
PlayerTextDrawHide(playerid,SpeedShow[playerid]);
PlayerTextDrawHide(playerid,Speed2Show[playerid]);
PlayerTextDrawHide(playerid,HealthShow[playerid]);
PlayerTextDrawHide(playerid,StatusShow[playerid]);
PlayerTextDrawHide(playerid,EngineShow[playerid]);
if(gSpectateSpecID[playerid] != INVALID_PLAYER_ID)
{
StartSpectate(gSpectateSpecID[playerid], playerid);
PlayerTextDrawHide(gSpectateSpecID[playerid],SpeedShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],StatusShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],FuelShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],HealthShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],Speed2Show[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],EngineShow[gSpectateSpecID[playerid]]);
}
TextDrawHideForPlayer(playerid, SignalDraw[0]);
TextDrawHideForPlayer(playerid, SignalDraw[1]);
TextDrawHideForPlayer(playerid, SignalDraw[2]);
TextDrawHideForPlayer(playerid, SignalDraw[3]);
SignalTick[carid][0] = 0;
SignalTick[carid][1] = -1;
Signal[carid] = 0;
}
}
if(newstate == PLAYER_STATE_DRIVER)//показываем спидак если залазит в кар
{
new carid = GetPlayerVehicleID(playerid);
if (!IsABycicle(carid))
{
STimer[playerid] = SetTimerEx("UpdateSpeedometr", ONE_HUNDRED_MSECOND, false, "iiid", playerid, carid, 0, 1000, 4);
TextDrawShowForPlayer(playerid,Box);
TextDrawShowForPlayer(playerid,LBorder);
TextDrawShowForPlayer(playerid,RBorder);
TextDrawShowForPlayer(playerid,BBorder);
TextDrawShowForPlayer(playerid,TBorder);
TextDrawShowForPlayer(playerid,Speed);
TextDrawShowForPlayer(playerid,Fuelll);
TextDrawShowForPlayer(playerid,Healths);
PlayerTextDrawShow(playerid,FuelShow[playerid]);
PlayerTextDrawShow(playerid,SpeedShow[playerid]);
PlayerTextDrawShow(playerid,Speed2Show[playerid]);
PlayerTextDrawShow(playerid,HealthShow[playerid]);
PlayerTextDrawShow(playerid,StatusShow[playerid]);
PlayerTextDrawShow(playerid,EngineShow[playerid]);
if(gSpectateSpecID[playerid] != INVALID_PLAYER_ID)
{
StartSpectate(gSpectateSpecID[playerid], playerid);
PlayerTextDrawShow(gSpectateSpecID[playerid],SpeedShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],StatusShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],FuelShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],HealthShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],Speed2Show[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],EngineShow[gSpectateSpecID[playerid]]);
}
if(IsACar(caridi))
{
TextDrawShowForPlayer(playerid, SignalDraw[0]);
TextDrawShowForPlayer(playerid, SignalDraw[1]);
TextDrawHideForPlayer(playerid, SignalDraw[2]);
TextDrawHideForPlayer(playerid, SignalDraw[3]);
}
}
}
PHP код:
new Text:LBorder; //переменная л-границы //
new Text:RBorder; //переменная п-границы //
new Text:BBorder; //переменная н-границы //
new Text:TBorder; //переменная в-границы //
new Text:Speed;
new Text:Fuelll;
new Text:Healths;
new Text:Box;
new PlayerText:SpeedShow[MAX_PLAYERS] = {PlayerText:-1, ...};
new PlayerText:HealthShow[MAX_PLAYERS] = {PlayerText:-1, ...};
new PlayerText:FuelShow[MAX_PLAYERS] = {PlayerText:-1, ...};
new PlayerText:StatusShow[MAX_PLAYERS] = {PlayerText:-1, ...};
new PlayerText:Speed2Show[MAX_PLAYERS] = {PlayerText:-1, ...};
new PlayerText:EngineShow[MAX_PLAYERS] = {PlayerText:-1, ...};
Для спидометра лучше использовать OnPlayerStateChange. Ведь OnPlayerEnterVehicle вызывается даже, когда автомобиль закрыт, а ты пытаешься в него сесть (насколько я помню). И также OnPlayerExitVehicle вызывается, когда игрок сам выйдет из автомобиля, а если его телепортировали и т.д., то текстдравы так и останутся.
PHP код:
if(oldstate == PLAYER_STATE_DRIVER)//скрываем спидак если выходит из машины
{
new carid = GetPlayerVehicleID(playerid);
if (!IsABycicle(carid))
{
KillTimer(STimer[playerid]);
TextDrawHideForPlayer(playerid,Box);
TextDrawHideForPlayer(playerid,LBorder);
TextDrawHideForPlayer(playerid,RBorder);
TextDrawHideForPlayer(playerid,BBorder);
TextDrawHideForPlayer(playerid,TBorder);
TextDrawHideForPlayer(playerid,Speed);
TextDrawHideForPlayer(playerid,Fuelll);
TextDrawHideForPlayer(playerid,Healths);
PlayerTextDrawHide(playerid,FuelShow[playerid]);
PlayerTextDrawHide(playerid,SpeedShow[playerid]);
PlayerTextDrawHide(playerid,Speed2Show[playerid]);
PlayerTextDrawHide(playerid,HealthShow[playerid]);
PlayerTextDrawHide(playerid,StatusShow[playerid]);
PlayerTextDrawHide(playerid,EngineShow[playerid]);
if(gSpectateSpecID[playerid] != INVALID_PLAYER_ID)
{
StartSpectate(gSpectateSpecID[playerid], playerid);
PlayerTextDrawHide(gSpectateSpecID[playerid],SpeedShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],StatusShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],FuelShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],HealthShow[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],Speed2Show[gSpectateSpecID[playerid]]);
PlayerTextDrawHide(gSpectateSpecID[playerid],EngineShow[gSpectateSpecID[playerid]]);
}
TextDrawHideForPlayer(playerid, SignalDraw[0]);
TextDrawHideForPlayer(playerid, SignalDraw[1]);
TextDrawHideForPlayer(playerid, SignalDraw[2]);
TextDrawHideForPlayer(playerid, SignalDraw[3]);
SignalTick[carid][0] = 0;
SignalTick[carid][1] = -1;
Signal[carid] = 0;
}
}
else if(newstate == PLAYER_STATE_DRIVER)//показываем спидак если залазит в кар
{
new carid = GetPlayerVehicleID(playerid);
if (!IsABycicle(carid))
{
STimer[playerid] = SetTimerEx("UpdateSpeedometr", ONE_HUNDRED_MSECOND, false, "iiid", playerid, carid, 0, 1000, 4);
TextDrawShowForPlayer(playerid,Box);
TextDrawShowForPlayer(playerid,LBorder);
TextDrawShowForPlayer(playerid,RBorder);
TextDrawShowForPlayer(playerid,BBorder);
TextDrawShowForPlayer(playerid,TBorder);
TextDrawShowForPlayer(playerid,Speed);
TextDrawShowForPlayer(playerid,Fuelll);
TextDrawShowForPlayer(playerid,Healths);
PlayerTextDrawShow(playerid,FuelShow[playerid]);
PlayerTextDrawShow(playerid,SpeedShow[playerid]);
PlayerTextDrawShow(playerid,Speed2Show[playerid]);
PlayerTextDrawShow(playerid,HealthShow[playerid]);
PlayerTextDrawShow(playerid,StatusShow[playerid]);
PlayerTextDrawShow(playerid,EngineShow[playerid]);
if(gSpectateSpecID[playerid] != INVALID_PLAYER_ID)
{
StartSpectate(gSpectateSpecID[playerid], playerid);
PlayerTextDrawShow(gSpectateSpecID[playerid],SpeedShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],StatusShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],FuelShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],HealthShow[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],Speed2Show[gSpectateSpecID[playerid]]);
PlayerTextDrawShow(gSpectateSpecID[playerid],EngineShow[gSpectateSpecID[playerid]]);
}
if(IsACar(caridi))
{
TextDrawShowForPlayer(playerid, SignalDraw[0]);
TextDrawShowForPlayer(playerid, SignalDraw[1]);
TextDrawHideForPlayer(playerid, SignalDraw[2]);
TextDrawHideForPlayer(playerid, SignalDraw[3]);
}
}
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Нет все так же!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)