Tim_Pwn
Новичок
Команда для установки 3d текста над ником игрока
PHP:
new bool:IsPlayerHave3DText[MAX_PLAYERS char];
new Text3D:Player3DText[MAX_PLAYERS];
Ко всем командам:
PHP:
CMD:settext(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] < 1) return 1;
if(sscanf(params,"us[48]",params[0],params[1]))
return SendClientMessage(playerid,-1,"Используйте: /settext [ид] [текст (000 , чтобы удалить)]");
if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"Игрок оффлайн");
if(IsPlayerHave3DText{params[0]} == false)
{
Player3DText[params[0]]=CreateDynamic3DTextLabel(params[1], 0xFFFFFFFF, 0, 0, 1.0, 30.0,params[0],INVALID_VEHICLE_ID);
IsPlayerHave3DText{params[0]}=true;
SendClientMessage(playerid,-1,"Надпись установлена.");
}
else
{
if(!strcmp(params[1],"000",true))
{
DestroyDynamic3DTextLabel(Player3DText[params[0]]);
IsPlayerHave3DText{params[0]}=false;
SendClientMessage(playerid,-1,"Надпись удалена.");
return 1;
}
UpdateDynamic3DTextLabel(Player3DText[params[0]],params[1],0xFFFFFFFF);
SendClientMessage(playerid,-1,"Надпись изменена.");
}
return 1;
}
В public OnPlayerDisconnect:
PHP:
if(IsPlayerHave3DText{playerid}==true)
{
DestroyDynamic3DTextLabel(Player3DText[playerid]);
IsPlayerHave3DText{playerid}=false;
}
PHP:
COMMAND:settext(playerid, params[])
{
new targetid,
text[32];
if(sscanf(params, "us[32]", targetid, text))
return SendClientMessage(playerid, -1, !"Используйте: /settext [id игрока] {надпись}");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, -1, !"Игрок не в сети.");
if(targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, !"Неверный идентификатор игрока.");
if(!Text3DIsAttachedToPlayer[targetid])
{
new string[32];
strcat(string, text, sizeof(string));
if(!strlen(text))
return SendClientMessage(playerid, -1, !"Не указана надпись.");
Player3DText[targetid] = Create3DTextLabel(text, 0xFFA0A0D0, 0.0, 0.0, 1500.0, 30.0, 0, 1);
Attach3DTextLabelToPlayer(Player3DText[targetid], targetid, 0.0, 0.0, 0.7);
Text3DIsAttachedToPlayer[targetid] = true;
SendClientMessage(playerid, -1, !"Надпись установлена");
}
else
{
Delete3DTextLabel(Player3DText[targetid]);
Text3DIsAttachedToPlayer[targetid] = false;
SendClientMessage(playerid, -1, !"Надпись удалена");
}
return true;
}
PHP:
COMMAND:settext(playerid,params[])
{
new targetid;
if(sscanf(params,"us()[128]", targetid, params))
return SendClientMessage(playerid, -1, !"Используйте: /settext [id игрока] [текст (оставить пустым для удаления)]");
if(targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, !"Игрок не в сети.");
if(Player3DText[targetid] == Text3D:-1)
{
if(isnull(params))
return SendClientMessage(playerid, -1, !"Используйте: /settext [id игрока] [текст (оставить пустым для удаления)]");
Player3DText[targetid] = CreateDynamic3DTextLabel(params, 0xFFFFFFFF, 0, 0, 1.0, 30.0, targetid, INVALID_VEHICLE_ID);
SendClientMessage(playerid, -1, !"Надпись установлена.");
}
else
{
if(isnull(params))
{
DestroyDynamic3DTextLabel(Player3DText[targetid]);
SendClientMessage(playerid, -1, !"Надпись удалена.");
return 1;
}
UpdateDynamic3DTextLabel(Player3DText[targetid], params, 0xFFFFFFFF);
SendClientMessage(playerid, -1, !"Надпись изменена.");
}
return 1;
}
PHP:
if(Player3DText[playerid] != Text3D:-1)
{
DestroyDynamic3DTextLabel(Player3DText[playerid]);
Player3DText[playerid] = Text3D:-1;
}
Последнее редактирование модератором:
