PDA

Просмотр полной версии : [Вопрос] ХП



Айболит
14.08.2014, 20:08
Добрый вечер, тут такое дело, можете помочь, я вот уже сделал код, все работает вроде нормально НО... 3D TEXT убирается у всех игроков то есть, оно так и должно но, если игрок номер 1 лег на койку, то создалась надпись, и если игрок 2 лег на 2 койку. То создалась надпись, возле 1 койки и 2, но если игрок 1 или 2 достигает больше 99 ХП, то убирается надпись Койка занята, и ставиться обычная, не знаю почему так. Вроде бы и сделал правильно, хз вообщем.. Должно работать что бы 3D текст обновлялся только у той койки который был игрок, то есть если if(Player[playerid][pK1] == 11; //pk1 койка 1, == 11 значение койки.



forward bolhpkoika(playerid);
public bolhpkoika(playerid)
{
new
Float: p_heal;
GetPlayerHealth(playerid, p_heal);
//SetPlayerHealth(playerid, p_heal - 10.0);
SetPlayerHealth(playerid, p_heal + 3.0);
GameTextForPlayer(playerid, "~g~ +3 HEAL", 2, 1);
PlayerPlaySound(playerid,4604,0.0,0.0,0.0);
if(p_heal > 99.0)
{
if(Player[playerid][pK1] == 11)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK1] = 0;
Delete3DTextLabel(ko[0]);
ko[0] = Create3DTextLabel("Койка №1\n/hospital 1\nЧто бы занять койку",0xFF1400FF,2679.6970,-1825.4342,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK2] == 22)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK2] = 0;
Delete3DTextLabel(ko[1]);
ko[1] = Create3DTextLabel("Койка №2\n/hospital 2\nЧто бы занять койку",0xFF1400FF,2682.1580,-1825.4336,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK3] == 33)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK3] = 0;
Delete3DTextLabel(ko[2]);
ko[2] = Create3DTextLabel("Койка №3\n/hospital 3\nЧто бы занять койку",0xFF1400FF,2679.5901,-1830.6709,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK4] == 44)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK4] = 0;
Delete3DTextLabel(ko[3]);
ko[3] = Create3DTextLabel("Койка №4\n/hospital 4\nЧто бы занять койку",0xFF1400FF,2682.0815,-1830.6708,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK5] == 55)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK5] = 0;
Delete3DTextLabel(ko[4]);
ko[4] = Create3DTextLabel("Койка №5\n/hospital 5\nЧто бы занять койку",0xFF1400FF,2679.6416,-1844.5293,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK6] == 66)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK6] = 0;
Delete3DTextLabel(ko[5]);
ko[5] = Create3DTextLabel("Койка №6\n/hospital 6\nЧто бы занять койку",0xFF1400FF,2682.1035,-1844.5264,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK7] == 77)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK7] = 0;
Delete3DTextLabel(ko[6]);
ko[6] = Create3DTextLabel("Койка №7\n/hospital 7\nЧто бы занять койку",0xFF1400FF,2679.5876,-1849.2703,278.4224,10.0,0,1); //3d TEXT
}
}
if(Player[playerid][pK8] == 88)
{
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK8] = 0;
Delete3DTextLabel(ko[7]);
ko[7] = Create3DTextLabel("Койка №8\n/hospital 8\nЧто бы занять койку",0xFF1400FF,2682.1375,-1849.2744,278.4224,10.0,0,1); //3d TEXT
}
}
KillTimer(GetPVarInt(playerid, "bolhp_koika_timer"));
SendClientMessage(playerid, 0xFF9600FF, "Курс лечения пройден.");
TogglePlayerControllable(playerid, 1);
ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,0,1000,1);
Player[playerid][pkRazgoBor] = 0;
//ClearAnimations(playerid);
}
}

Помогите пожалуйста,1 2 день мучаюсь, не могу решить данную проблему, если не понятно объяснил, пишите, разъясню.

Айболит
15.08.2014, 00:32
Решил, спустя 2 дня...



forward bolhpkoika(playerid);
public bolhpkoika(playerid)
{
new
Float: p_heal;
GetPlayerHealth(playerid, p_heal);
//SetPlayerHealth(playerid, p_heal - 10.0);
SetPlayerHealth(playerid, p_heal + 3.0);
GameTextForPlayer(playerid, "~g~ +3 HEAL", 2, 1);
PlayerPlaySound(playerid,4604,0.0,0.0,0.0);
if(p_heal > 99.0)
{
if(Player[playerid][pK1] == 11)
{
Delete3DTextLabel(ko[0]); ko[0] = Create3DTextLabel("Койка №1\n/hospital 1\nЧто бы занять койку",0xFF1400FF,2679.6970,-1825.4342,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
////format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[0],0x007DFFFF,str);
//Attach3DTextLabelToPlayer(Text3D:ko[0],playerid, 0.0, 0.0, 0.3);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK1] = 0;
}
}
else if(Player[playerid][pK2] == 22)
{
Delete3DTextLabel(ko[1]); ko[1] = Create3DTextLabel("Койка №2\n/hospital 2\nЧто бы занять койку",0xFF1400FF,2682.1580,-1825.4336,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
//format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[1],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK2] = 0;
}
}
else if(Player[playerid][pK3] == 33)
{
Delete3DTextLabel(ko[2]); ko[2] = Create3DTextLabel("Койка №3\n/hospital 3\nЧто бы занять койку",0xFF1400FF,2679.5901,-1830.6709,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
// format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[2],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK3] = 0;
}
}
else if(Player[playerid][pK4] == 44)
{
Delete3DTextLabel(ko[3]); ko[3] = Create3DTextLabel("Койка №4\n/hospital 4\nЧто бы занять койку",0xFF1400FF,2682.0815,-1830.6708,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
//format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[3],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK4] = 0;
}
}
else if(Player[playerid][pK5] == 55)
{
Delete3DTextLabel(ko[4]); ko[4] = Create3DTextLabel("Койка №5\n/hospital 5\nЧто бы занять койку",0xFF1400FF,2679.6416,-1844.5293,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
// format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[4],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK5] = 0;
}
}
else if(Player[playerid][pK6] == 66)
{
Delete3DTextLabel(ko[5]); ko[5] = Create3DTextLabel("Койка №6\n/hospital 6\nЧто бы занять койку",0xFF1400FF,2682.1035,-1844.5264,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
//format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[5],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK6] = 0;
}
}
else if(Player[playerid][pK7] == 77)
{
Delete3DTextLabel(ko[6]); ko[6] = Create3DTextLabel("Койка №7\n/hospital 7\nЧто бы занять койку",0xFF1400FF,2679.5876,-1849.2703,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
//format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[6],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK7] = 0;
}
}
else if(Player[playerid][pK8] == 88)
{
Delete3DTextLabel(ko[7]); ko[7] = Create3DTextLabel("Койка №8\n/hospital 8\nЧто бы занять койку",0xFF1400FF,2682.1375,-1849.2744,278.4224,10.0,0,1); //3d TEXT
//new str[ 128 ];
//format( str, sizeof( str ), "Койка №1\n/hospital 1\nЧто бы занять койку", str);
//UpdatePlayer3DTextLabelText(playerid,PlayerText3D:ko[7],0x007DFFFF,str);
for(new i;i < MAX_PLAYERS;i++)
{
Player[i][pK8] = 0;
}
}
KillTimer(GetPVarInt(playerid, "bolhp_koika_timer"));
SendClientMessage(playerid, 0xFF9600FF, "Курс лечения пройден.");
TogglePlayerControllable(playerid, 1);
ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,0,1000,1);
Player[playerid][pkRazgoBor] = 0;
//ClearAnimations(playerid);
}
}