Beiträge von marco1710

    du musst das textlabel löschen, da es an der autoid ist.. da das auto z.b. die id 5 hatte und dann die 5 gelöscht wurde, hat das nächste auto die id 5.. wie das alte.. und dort war ja der 3dtext..


    Delete3DTextLabel()

    public LoadTextLabel(textid)
    {
    new datei[256];
    format(datei,sizeof datei,"/3DTexte/%d.ini",textid);
    Create3DTextLabel(dini_Float(datei,"text"),COLOR_LIGHTBLUE,dini_Float(datei,"xPos"),dini_Float(datei,"yPos"),dini_Float(datei,"zPos"),50,-1,0); //zeile 50
    return 1;
    }


    warum kommt da der fehler?


    Zitat

    C:\server\filterscripts\3dtest.pwn(50) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    etwa so:

    for(new i=0; i<=GetMaxPlayers(); i++)
    {
    new Float:x, Float:y, Float:z;
    new string[256];
    new player[MAX_PLAYER_NAME];
    GetPlayerName(playerid,player, sizeof player);
    GetPlayerPos(playerid,x,y,z);
    if(IsPlayerInRangeOfPoint(i, 200.0, x, y, z))//200 ist der radius in dem gesendet wird.. musste evt. größer oder kleiner machen..
    {
    format(string,sizeof string,"%s sagt: %s",player,dertext);
    SendClientMessage(i,grn,string);
    }}


    dertext ist bei mir der text, den der spieler senden wollte.. also den muss man bei onplayertext auffangen und dann über den oberen scriptteil ausgeben..

    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:


    http://pastebin.com/C7HeeHZw


    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

    Ja das ist es ja... so hab ichs gemacht... aber wenn ich mich vom lspd z.b. direkt nach oben porte ist es da... bin ich aber nicht oben sondern im EG... so sind die icons weg..


    Noch was:
    Ich habe unten noch ein pickup(i) das da ist wenn ich reingeportet werde... wenn ich jetzt aber ein stockwerk hoch gehe und wieder runter, so ist das pickup(i) weg.. aber davor war es noch da... das ist komisch..