07.05.2013, 15:14
Alright so this problem is kinda funky. Here is this timer that runs every 200ms updating textdraws and letting them show if necessary. THe problem is, if I change the for loop to i=0 it shows for me but not the rest.
if I just let it on i; the rest sees the panel but I dont. I already tried printing it. And it just printed it fine, but no textdraw showing up.
Main part of the panel starting at: if(!IsAFlyingVehicle(vid))
That's the function. Help me solve this funky problem!
if I just let it on i; the rest sees the panel but I dont. I already tried printing it. And it just printed it fine, but no textdraw showing up.
Main part of the panel starting at: if(!IsAFlyingVehicle(vid))
pawn Код:
public UpdateTextdraw()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PreviewingSkin[i] == 1) { if(PreviewingSkinTime[i] == 0) { SetPlayerSkin(i, PreviewingSkinOld[i]); PreviewingSkin[i] = 0; } else { PreviewingSkinTime[i]=PreviewingSkinTime[i]-1; } }
if(WantsRecording[i] == 1)
{
if(TimeTakenMins[i] == 59) { TimeTakenMins[i] = 0; TimeTakenHrs[i] += 1; }
else
{
TimeTakenMins[i] += 1;
}
}
if(IsPlayerInAnyVehicle(i))
{
new vid = GetPlayerVehicleID(i);
switch(GetVehicleModel(vid))
{
case 520 , 577 , 511 , 592 , 512 , 513 , 519 , 593 , 553 , 476, 417 , 425, 447, 469, 487, 488, 497, 548, 563, 460:
{
PlayerTextDrawHide(i, Textdrawpanel0[i]);
PlayerTextDrawHide(i, Textdrawpanel1[i]);
PlayerTextDrawHide(i, Textdrawpanel2[i]);
PlayerTextDrawHide(i, Textdrawpanel3[i]);
PlayerTextDrawHide(i, Textdrawpanel4[i]);
PlayerTextDrawHide(i, Textdrawpanel5[i]);
PlayerTextDrawHide(i, Textdrawpanel6[i]);
PlayerTextDrawHide(i, Textdrawpanel7[i]);
PlayerTextDrawHide(i, Textdrawpanel8[i]);
new szString[128];
format(szString, 40, "%d Percent", vfuel[vid]);
TextDrawSetString(Textdraw4[i], szString);
TextDrawShowForPlayer(i, Textdraw4[i]);
TextDrawShowForPlayer(i, Textdraw5[i]);
if(vfuel[vid] < 21) //20 or under fuel
{
if(vfuel[vid] == 20 && FuelWarned[i] == 0) { FuelWarned[i] = 1; SendClientMessage(i, COLOR_ERROR, "[Instrument Panel] The vehicles fuel is running low ! Please refuel immediately! (/refuel)"); }
}
new Float:vhealth;
new Float: vX, Float:vY, Float:vZ;
format(szString, 128, "%s", GetPlayerArea(i));
TextDrawSetString(Textdraw0[i], szString);
TextDrawShowForPlayer(i, Textdraw0[i]);
TextDrawShowForPlayer(i, Textdraw2[i]);
GetVehicleHealth(vid, vhealth);
vhealth = vhealth/10;
format(szString, 40, "%d Percent", floatround(vhealth, floatround_round));
TextDrawSetString(Textdraw6[i], szString);
TextDrawShowForPlayer(i, Textdraw6[i]);
TextDrawShowForPlayer(i, Textdraw7[i]);
GetPlayerPos(i, vX, vY, vZ);
format(szString, 40, "%d", floatround(vZ, floatround_ceil));
TextDrawSetString(Textdraw10[i], szString);
TextDrawShowForPlayer(i, Textdraw10[i]);
TextDrawShowForPlayer(i, Textdraw9[i]);
format(szString, 40, "%d MPH", floatround(GetVehicleSpeed(vid, 0), floatround_round));
TextDrawSetString(Textdraw8[i], szString);
TextDrawShowForPlayer(i, Textdraw8[i]);
TextDrawShowForPlayer(i, Textdraw11[i]);
new Float:zangle;
GetVehicleZAngle(vid, zangle);
format(szString, 40, "%d", floatround(zangle, floatround_round));
TextDrawSetString(Textdraw12[i], szString);
TextDrawShowForPlayer(i, Textdraw12[i]);
TextDrawShowForPlayer(i, Textdraw13[i]);
if(StartedMission[i] == 1)
{
if(MissionStage[i] == 1)
{
new Float:DistanceCheck;
DistanceCheck = GetDistanceBetweenPoints(vX, vY, vZ,Pos1[i],Pos2[i],Pos3[i]);
format(szString, 40, "%s (%dm)", FirstAPName[i],floatround(DistanceCheck, floatround_round));
TextDrawSetString(Textdraw1[i], szString);
TextDrawShowForPlayer(i, Textdraw1[i]);
TextDrawShowForPlayer(i, Textdraw3[i]);
}
else if(MissionStage[i] == 2)
{
new Float:DistanceCheck;
DistanceCheck = GetDistanceBetweenPoints(vX, vY, vZ,Pos12[i],Pos22[i],Pos32[i]);
format(szString, 40, "%s (%dm)", FinalAPName[i],floatround(DistanceCheck, floatround_round));
TextDrawSetString(Textdraw1[i], szString);
TextDrawShowForPlayer(i, Textdraw1[i]);
TextDrawShowForPlayer(i, Textdraw3[i]);
}
}
}
}
if(!IsAFlyingVehicle(vid)) // It's about THIS part of the script.
{
new szString[128];
new Float:vhealth;
// background box
PlayerTextDrawShow(i, Textdrawpanel0[i]);
// Speed
format(szString, 40, "%d KPH", floatround(GetVehicleSpeed(vid, 0), floatround_round));
PlayerTextDrawSetString(i,Textdrawpanel5[i], szString);
PlayerTextDrawShow(i, Textdrawpanel1[i]);
PlayerTextDrawShow(i, Textdrawpanel5[i]);
// Damage
GetVehicleHealth(vid, vhealth);
vhealth = vhealth/10;
format(szString, 40, "%d\%", floatround(vhealth, floatround_round));
PlayerTextDrawSetString(i,Textdrawpanel4[i], szString);
PlayerTextDrawShow(i, Textdrawpanel2[i]);
PlayerTextDrawShow(i, Textdrawpanel4[i]);
// Fuel
format(szString, 40, "%d\%", vfuel[vid]);
PlayerTextDrawSetString(i,Textdrawpanel6[i], szString);
PlayerTextDrawShow(i, Textdrawpanel3[i]);
PlayerTextDrawShow(i, Textdrawpanel6[i]);
// Area
format(szString, 128, "%s", GetPlayerArea(i));
PlayerTextDrawSetString(i,Textdrawpanel8[i], szString);
PlayerTextDrawShow(i, Textdrawpanel7[i]);
PlayerTextDrawShow(i, Textdrawpanel8[i]);
TextDrawHideForPlayer(i, Textdraw0[i]);
TextDrawHideForPlayer(i, Textdraw1[i]);
TextDrawHideForPlayer(i, Textdraw2[i]);
TextDrawHideForPlayer(i, Textdraw3[i]);
TextDrawHideForPlayer(i, Textdraw4[i]);
TextDrawHideForPlayer(i, Textdraw5[i]);
TextDrawHideForPlayer(i, Textdraw6[i]);
TextDrawHideForPlayer(i, Textdraw7[i]);
TextDrawHideForPlayer(i, Textdraw8[i]);
TextDrawHideForPlayer(i, Textdraw9[i]);
TextDrawHideForPlayer(i, Textdraw10[i]);
TextDrawHideForPlayer(i, Textdraw11[i]);
TextDrawHideForPlayer(i, Textdraw12[i]);
TextDrawHideForPlayer(i, Textdraw13[i]);
}
}
}
}
}