Айболит
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 день мучаюсь, не могу решить данную проблему, если не понятно объяснил, пишите, разъясню.
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 день мучаюсь, не могу решить данную проблему, если не понятно объяснил, пишите, разъясню.