Moin und so
Ich habe 2 Probleme mit dem Create3DTextLabel bzw CreatePlayer3DTextLabel
1. problem:
Ich habe es so geändert das Häuser, biz und sBiz nicht mehr per Gametext sondern mit 3dtext angezeigt werden.
unter public OnGameModeInit():
new stringh[256];
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(HouseInfo[h][hOwned] == 0)
{
format(stringh, sizeof(stringh), "Dieses Haus ist zu Verkaufen\nBeschreibung: %s\nPreis: $%d\nLevel: %d\nBenutze /buyhouse um es zu kaufen",HouseInfo[h][hDiscription],HouseInfo[h][hValue],HouseInfo[h][hLevel]);
Create3DTextLabel(stringh,0xFFFFFFAA,HouseInfo[h][hEntranceX], HouseInfo[h][hEntranceY], HouseInfo[h][hEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1273, 1, HouseInfo[h][hEntranceX], HouseInfo[h][hEntranceY], HouseInfo[h][hEntranceZ], -1);
pickups++;
}
if(HouseInfo[h][hOwned] == 1)
{
if(HouseInfo[h][hRentabil] == 0)
{
format(stringh, sizeof(stringh), "Dieses Haus gehoert: %s\nLevel : %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
}
else
{
format(stringh, sizeof(stringh), "Dieses Haus gehoert: %s\nMiete: $%d\nLevel: %d\nBenutze /rentroom, um ein Zimmer zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
}
Create3DTextLabel(stringh,0xFFFFFFAA,HouseInfo[h][hEntranceX], HouseInfo[h][hEntranceY], HouseInfo[h][hEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1239, 1, HouseInfo[h][hEntranceX], HouseInfo[h][hEntranceY], HouseInfo[h][hEntranceZ], -1);
pickups++;
}
}
for(new h = 0; h < sizeof(BizzInfo); h++)
{
if(BizzInfo[h][bOwned] == 0)
{
format(stringh, sizeof(stringh), "%s Dieses Business ist zu verkaufen Preis: $%d\nLevel: %d\nBenutze /buybiz um das Biz zu kaufen",BizzInfo[h][bMessage],BizzInfo[h][bBuyPrice],BizzInfo[h][bLevelNeeded]);
Create3DTextLabel(stringh,0xFFFFFFAA,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1272, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ], -1);
pickups++;
}
if(BizzInfo[h][bOwned] == 1)
{
format(stringh, sizeof(stringh), "%s\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: $%d\nLevel: %d\nBenutze /enter zum betreten",BizzInfo[h][bMessage],BizzInfo[h][bOwner],BizzInfo[h][bExtortion],BizzInfo[h][bEntranceCost],BizzInfo[h][bLevelNeeded]);
Create3DTextLabel(stringh,0xFFFFFFAA,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1239, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ], -1);
pickups++;
}
}
for(new h = 0; h < sizeof(SBizzInfo); h++)
{
if(SBizzInfo[h][sbOwned] == 0)
{
format(stringh, sizeof(stringh), "%s\nDieses Business ist zu verkaufen\nPreis $%d\nLevel : %d\nBenutze /buybiz um das Biz zu kaufen",SBizzInfo[h][sbMessage],SBizzInfo[h][sbBuyPrice],SBizzInfo[h][sbLevelNeeded]);
Create3DTextLabel(stringh,0xFFFFFFAA,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1272, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ], -1);
pickups++;
}
if(SBizzInfo[h][sbOwned] == 1)
{
format(stringh, sizeof(stringh), "%s\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: $%d\nLevel: %d\nBenutze /enter zum betreten",SBizzInfo[h][sbMessage],SBizzInfo[h][sbOwner],SBizzInfo[h][sbExtortion],SBizzInfo[h][sbEntranceCost],SBizzInfo[h][sbLevelNeeded]);
Create3DTextLabel(stringh,0xFFFFFFAA,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]+1.0,20.0,0,1);
AddStaticPickup(1239, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ], -1);
pickups++;
}
}
Der text wird auch angezeigt ABER die Pickups + texte sind nicht da wo sie hin gehören sondern bei den coords 0,0,0 also unter diesem bauernhof da. In der Propertys.cfg ist aber alles richtig eingetstellt deshalb weiss ich nicht woran das liegen könnte -.-
2. problem:
Ich habe mich dann auch an einen /spec befehl gesetzt, wenn man ihn benutzt beobachtet man halt den Spieler, was auch funktioniert. Allerdings wollte ich einen 3dtext an den spieler binden der beobachtet wird wo dann informationen wie hp,geld etc angezeigt werden. Nur leider wird mir der 3dtext nicht angezeigt.
Hier mal der befehl:
if(strcmp(cmd,"/spec",true)==0)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "Benutze: /spec [ID]");
return 1;
}
new PlayerText3D:playertextid;
if(strcmp("off", tmp, true, strlen(tmp)) == 0)
{
Spectate[playerid] = 253;
GameTextForPlayer(playerid, "~w~ TV~n~~r~ Aus", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
DeletePlayer3DTextLabel(playerid,playertextid);
return 1;
}
//spielerr = ReturnUser(tmp);
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, giveplayerid);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(giveplayerid, X, Y, Z );
new Float:health;
GetPlayerHealth(giveplayerid, health);
new name[MAX_PLAYER_NAME];
//new string[256];
GetPlayerName(giveplayerid, name, sizeof(name));
new cash = GetPlayerMoney(giveplayerid);
//format(string, sizeof(string), "Recon: (%d) %s $%d H:%.0f",Spectate[playerid],giveplayer,cash,health);
format(string, sizeof(string), "ID: %d\nName: %d\nHealth: %d\nGeld: %d",giveplayerid,name,health,cash);
playertextid = CreatePlayer3DTextLabel(playerid,string,0x008080FF,X,Y,Z,40.0,giveplayerid,INVALID_VEHICLE_ID,1);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Spieler nicht online !");
}
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Du bist kein Admin!");
}
return 1;
}
Weiss jmd woran das liegen könnte?
Mfg.