Jump to content
  • 0

pomoc Attach3DTextLabelToPlayer


Stellet

Dotaz

Ahoj udělal jsem si:

new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);

a pak:

Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);

a jak udělám aby to už neměl připlý k sobě ? Dal jsem

Delete3DTextLabel(label);

ale nad hlavou to furt má

Link to comment
Share on other sites

12 odpovědí na tuto otázku

Recommended Posts

  • 0

Skus jestly by to nefungovalo že:

Attach3DTextLabelToPlayer(Text3D:label, playerid, 0.0, 0.0, 0.7);

Delete3DTextLabel(Text3D:label);

Jelikož máš:

new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);

Tak mi příde že vytváříš vlastně: Text3D:label

Link to comment
Share on other sites

  • 0

Skus jestly by to nefungovalo že:

Attach3DTextLabelToPlayer(Text3D:label, playerid, 0.0, 0.0, 0.7);

Delete3DTextLabel(Text3D:label);

Jelikož máš:

new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);

Tak mi příde že vytváříš vlastně: Text3D:label

 

Ale...

Podívej se na Wiki, tam podle toho jsem koukal a vše funguje, jen se nechce ,,Odepnout" když se to smaže..

Link to comment
Share on other sites

  • 0

 

ehh, tak to skus podle: https://wiki.sa-mp.com/wiki/DeletePlayer3DTextLabel

odepínat

 

neboly 

DeletePlayer3DTextLabel(playerid, label);

Nejde

CMD:dname(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
    else
{
new PlayerText3D:label;
if(PlayerInfo[playerid][pDNamed] == 0)
{
if(PlayerInfo[playerid][pAdmin] > 0)
    {
        new Float:X, Float:Y, Float:Z;
     GetPlayerPos( playerid, X, Y, Z );
        label = CreatePlayer3DTextLabel(playerid,"(( Jsem tu OOCly ! ))",0x008080FF,X,Y,Z,40.0,playerid,INVALID_VEHICLE_ID,0);
   new str[300];
format(str,sizeof(str)," > Od nyní máš modrej nick. (( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! ))");
SendClientMessage(playerid,B_WARN,str);
SetPlayerColor(playerid,COLOR_ADMINSI);
PlayerInfo[playerid][pDNamed] = 1;
return 1;
}
}
if(PlayerInfo[playerid][pDNamed] == 1)
{
if(PlayerInfo[playerid][pAdmin] > 0)
{
   DeletePlayer3DTextLabel(playerid, label);
SetPlayerColor(playerid,COLOR_NEVIDITELNA);
SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !");
PlayerInfo[playerid][pDNamed] = 0;
return 1;
}
}
}
return 1;
}

zkusil jsem to i takto ale nejde (PS: Natabované to mám, nevím proč mi to tady na pawnu rozhází)

Edited by FeedBoss
Link to comment
Share on other sites

  • 0
,playerid,INVALID_VEHICLE_ID,
~> Why?

 

CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
~> Dáváš tam zbytečnosti. A taky bylo fajn, kdyby si v tom dělal mezery, je to přehlednější

 

 

 

~> Protože ty řádky kopíruješ ze bbcodes, kde je to sice tabované, ale jakmile to přeneseš, z tabování se udělají mezery (jde to vidět například ve ST3 nebo Notepad++).

 

Když to udělám

CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);

Tak to nepůjde Attachnout..

A  ani nejde tak jak jsi řekl protože pak to píše:

 

(2232) : warning 213: tag mismatch

řádek:

 

(2229)new Float:X, Float:Y, Float:Z;
         (2230)GetPlayerPos( playerid, X, Y, Z );
         (2231)label = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
         (2232)Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
Edited by FeedBoss
Link to comment
Share on other sites

  • 0

No nedělal:

Nahoře

new PlayerText3D:dnamelabel;

Příkaz:

CMD:dname(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
if(PlayerInfo[playerid][pDNamed] == 0)
{
new Float: Pos[3];
GetPlayerPos( playerid, Pos[0], Pos[1], Pos[2]);
dnamelabel = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, Pos[0], Pos[1], Pos[2], 40.0);
SendClientMessage(playerid,B_WARN,"> Od nyní máš modrej nick. ( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! )");
SetPlayerColor(playerid,COLOR_ADMINSI);
PlayerInfo[playerid][pDNamed] = 1;
Attach3DTextLabelToPlayer(dnamelabel, playerid, 0.0, 0.0, 0.7);
}else{
SetPlayerColor(playerid,COLOR_NEVIDITELNA);
SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !");
PlayerInfo[playerid][pDNamed] = 0;
DeletePlayer3DTextLabel(playerid, dnamelabel);
}
return true;
}

A Attach3DTextlabelToPlayer chce: Text3D a né PlayerText3D

Edited by FeedBoss
Link to comment
Share on other sites

  • 0

~> Jsi si naprosto jistý, ano? V tom případě mě už nepotřebuješ.

No nejsem si jisý, potřebuju poradit od někoho kdo v tom už dlouho dělá.. A prostě nevím proč mi to dává teda warning..

Link to comment
Share on other sites

  • 0

Takže takto ?

 

new Text3D:dnamelabel[MAX_PLAYERS];

a

 

CMD:dname(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
if(PlayerInfo[playerid][pDNamed] == 0)
{
dnamelabel[playerid] = Create3DTextLabel("(( Jsem tu OOCly ! ))", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
SendClientMessage(playerid,B_WARN,"> Od nyní máš modrej nick. ( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! )");
SetPlayerColor(playerid,COLOR_ADMINSI);
PlayerInfo[playerid][pDNamed] = 1;
Attach3DTextLabelToPlayer(dnamelabel[playerid], playerid, 0.0, 0.0, 0.7);
}else{
SetPlayerColor(playerid,COLOR_NEVIDITELNA);
SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !");
PlayerInfo[playerid][pDNamed] = 0;
Delete3DTextLabel(dnamelabel[playerid]);
}
return true;
}
?
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...