Hallo,
ich hab mich gestern an ein Filterscrript gesetzt, um im spiel 3Dtexte zu erstellen. Und diese auch in einer ini zu speichern...
kann mir bitte einer sagen, was ich falsch gemacht habe, denn wenn ich über den befehl einen 3dtext ersttelle, kommt er gleich aber verschwindet nach 1sekunde..
Hier das Script:
ist doch in der pastebin..
oder hier:
#include <a_samp>
#include <dini>
#include <ocmd>
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define max_3dtextlabels 50
forward LoadTextLabel(textid);
enum l_abel
{
Float:tx,
Float:ty,
Float:tz,
text[256],
Text3D:label,
}
new LabelInfo[max_3dtextlabels][l_abel];
public OnFilterScriptInit()
{
for(new d = 0; d< max_3dtextlabels;d++)
{
LoadTextLabel(d);
}
print("3DTexte geladen");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
ocmd:ctextlabel(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return 0;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
new ort[256];
new textindex = dini_Int("/3DTexte/index.ini","index");
format(ort,sizeof ort,"/3DTexte/%d.ini",textindex);
dini_Create(ort);
dini_FloatSet(ort,"xPos",x);
dini_FloatSet(ort,"yPos",y);
dini_FloatSet(ort,"zPos",z);
dini_Set(ort,"Text",params);
LoadTextLabel(textindex);
textindex++;
dini_IntSet("/3DTexte/index.ini","index",textindex);
return 1;
}
public LoadTextLabel(textid)
{
new datei[256];
format(datei,sizeof datei,"/3DTexte/%d.ini",textid);
LabelInfo[textid][tx]= dini_Float(datei,"xPos");
LabelInfo[textid][ty]= dini_Float(datei,"yPos");
LabelInfo[textid][tz]= dini_Float(datei,"zPos");
strmid(LabelInfo[textid][text] ,dini_Get(datei,"text"), 0, 256, 256);
LabelInfo[textid][label] = Create3DTextLabel(LabelInfo[textid][text],COLOR_LIGHTBLUE,LabelInfo[textid][tx],LabelInfo[textid][ty],LabelInfo[textid][tz],50,-1);
return 1;
}
mfg,
marco