[Pedido] Sistema de Label In-Game
#1

Tipo Essas !
http://prntscr.com/7nmx29
Reply
#2

no basico й isso

PHP код:
COMMAND:criarlabel(playeridparams[])
{
if(
IsPlayerAdmin(playerid))
{
new 
Float:PosXX,
Float:PosYY,
Float:PosZZ;
new 
texto[256];
new 
string[256];
{
if(
sscanf(params"s[256]"texto)) return SendClientMessage(playerid0xFF0000FF"Use: /criarlabel3 [Texto]");
GetPlayerPos(playeridPosXXPosYYPosZZ);
format(stringsizeof(string), "%s"texto);
Create3DTextLabel(string0x00ff00ffPosXXPosYYPosZZ40,0);
format(stringsizeof(string), "Label criada com a mensagem: %s"texto);
SendClientMessage(playerid, -1string);
}
}
return 
true;

Reply
#3

Uma Base:

PHP код:
//Defines..
enum TLabel
{
 
Float:LabX// Posiзгo X do Texto
 
Float:LabY// Posiзгo Y do Texto
 
Float:LabZ// Posiзгo Z do Texto
 
Float:LabD// Distвncia de visibilidade do Texto
    
Text3D:Lab// A funзгo CreateText bla bla pra identificar pelo ID caso precise destruir
    
LabVW // Virtual Word do Texto
}
#define MAX_LABEL 100
#define ArqLabel "ServerData/Labels/Label%i.ini"
new ALabel[MAX_LABEL][TLabel]; //Substituir o 100 pelo valor mбximo de Textos criados
//Comando para criar  /criarlabel <texto> <Distвncia> <VirtualWorld>
CMD:criarlabel(playeridparams[])
{
  new 
Float:xFloat:yFloat:zFloat:DistVWfile[100], File:PFileLineForFile[100], Msg[128], Texto[50], NomeA[21];
    if (
sscanf(params"s[50]fi"Texto,Dist,VW)) SendClientMessage(playerid0xFF0000AA"{FFFFFF}Use: {FF8C00}\"/criarlabel <texto> <Float:Distвncia> <VirtualWorld>\"");
 else
 {
        
GetPlayerName(playerid,NomeA,21);
  
GetPlayerPos(playeridxyz);
  for (new 
LabelIDLabelID MAX_LABELLabelID++)
  {
   if (
ALabel[LabelID][Lab] == 0)
   {
                
format(Msg,sizeof(Msg),"{FFF000}Admin:%s\n{FFFFFF}%s",NomeA,Texto);
                
ALabel[LabelID][Lab] = Create3DTextLabel(Msg,-1,x,y,z,Dist,VW,1);
    
format(filesizeof(file), ArqLabelLabelID);
    
PFile fopen(fileio_write);
    
format(LineForFile100"LabX %f\r\n"x);
    
fwrite(PFileLineForFile);
    
format(LineForFile100"LabY %f\r\n"y);
    
fwrite(PFileLineForFile);
    
format(LineForFile100"LabZ %f\r\n"z);
    
fwrite(PFileLineForFile);
    
format(LineForFile100"LabD %f\r\n"Dist);
    
fwrite(PFileLineForFile);
    
format(LineForFile100"LabVW %i\r\n"VW);
    
fwrite(PFileLineForFile);
    
fclose(PFile);
    
format(Msgsizeof(Msg), "* {FFFFFF}Vocк criou o LabelID: {FF8C00}%i"LabelID);
    
SendClientMessage(playerid0x00FF00FFMsg);
    return 
1;
   }
  }
  
format(Msg128"{FFFFFF}Vocк nгo pode criar mais de {FF8C00}%i {FFFFFF}Textos3d"MAX_LABEL);
  
SendClientMessage(playerid0xFFFFFFFFMsg);
 }
 return 
1;
}
//Comando para deletar
CMD:dellabel(playeridparams[])
{
 new 
file[100], Msg[128];
    for (new 
LabelIDLabelID MAX_LABELLabelID++)
 {
  
// Verifica se o jogador estб prуximo ao label
  
if (IsPlayerInRangeOfPoint(playerid5.0ALabel[LabelID][LabX], ALabel[LabelID][LabY], ALabel[LabelID][LabZ]))
  {
   
format(filesizeof(file), ArqLabelLabelID);
   if (
fexist(file))
    
fremove(file);
      
ALabel[LabelID][LabX] = 0.0;
      
ALabel[LabelID][LabY] = 0.0;
      
ALabel[LabelID][LabZ] = 0.0;
      
ALabel[LabelID][LabD] = 0.0;
      
ALabel[LabelID][LabVW] = 0;
            
DestroyDynamic3DTextLabel(ALabel[LabelID][Lab]);
   
format(Msg128"{FF8C00} [C.P]  {FFFFFF}Vocк deletou o Label ID {FF8C00}%i"LabelID);
   
SendClientMessage(playerid0x00FF00FFMsg);
   return 
1;
  }
        else
        {
            
SendClientMessage(playerid0xFFFFFFFF"{FF8C00} [C.P]  {FF0000}Ops, {FFFFFF}Vocк precisa estб perto do Label");
        }
 }
 else
     return 
0;
 return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)