Graffiti System | Objekt wird nicht erstellt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Heyho,


    ich musste gerade eine minimale Problematik in meinem Graffiti System beim Test feststellen, und zwar wird das Objekt nicht erstellt, aber TextLabel aber schon.


    Graffiti[i][gID] = CreateDynamicObject(Graffiti[i][gModel], Graffiti[i][gPos][0], Graffiti[i][gPos][1], Graffiti[i][gPos][2], Graffiti[i][gPos][3], Graffiti[i][gPos][4], Graffiti[i][gPos][5] , 0, 0),
    Graffiti[i][gText] = Text3D:Create3DTextLabel(Graffiti[i][gOwn], COLOR_WHITE, Graffiti[i][gPos][0], Graffiti[i][gPos][1], Graffiti[i][gPos][2] + 0.76, 40.0, 0, 0);
    printf("Model: %i", Graffiti[i][gModel]);


    mfg :thumbup:

  • Hab den Fehler entdeckt, ich habe cache_get_field_content_int statt cache_get_field_content_float benutzt, deswegen hat er das Teil hinter der Wand platziert.
    Jetzt habe ich eine andere Frage, würde gerne irgendwie diese Funktion umschreibe damit ich analysieren kann wer auf das Graffiti gesprüht hat.


    stock GetPosVorSpieler(playerid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:a;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    else GetPlayerFacingAngle(playerid, a);
    GetPlayerPos(playerid, x, y, z);
    x += (dist * floatsin(-a, degrees));
    y += (dist * floatcos(-a, degrees));
    return true;
    }
    return false;
    }
    Diese Funktion ist so in meinem Script, bräuchte aber sowas ähnliches für Objekte :)


    mfg :thumbup:

  • Diese Funktion ist so in meinem Script, bräuchte aber sowas ähnliches für Objekte


    Nutz am besten das:


    stock GetNearestPlayerAtObject(objectid)
    {
    new Float:x,Float:y,Float:z,playerid=-1;
    GetObjectPos(objectid,x,y,z);
    for(new i=GetPlayerPoolSize(),Float:tmp,Float:max=3000.0; --i!=-1;)
    {
    tmp = GetPlayerDistanceFromPoint(i,x,y,z);
    if(tmp < max) max=tmp,playerid=i;
    }
    return playerid;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von Kasakow ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Ich würde vorschlagen, anstatt irgendwelche sinnlosen Codes zu schreiben, in denen kein Mensch mehr durchblickt und man sich nur durch ausprobieren helfen kann, schreibt man einen Code den jeder wenigstens lesen kann.


    stock GetNearestPlayerAtObject(objectid)
    {
    new Float:x,Float:y,Float:z,playerid=-1,Float:tmp,Float:max=10000.0;
    GetDynamicObjectPos(objectid,x,y,z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
    tmp = GetPlayerDistanceFromPoint(i,x,y,z);
    if(tmp < max)
    {
    max=tmp;
    playerid=i;
    }
    }
    return playerid;
    }


  • Achso ja natürlich:


    new i=5;
    printf ("%d", i--);
    printf ("%d",--i);


    Und oh wunder...es werden unterschiedliche Werte geprintet :rolleyes:


    Ja, und wieso ?; Schau mal genauer hin. (Bei dem einem wird 4 geprintet, bei dem anderen 3, ist aber auch deine Schuld ^^)


    new i=5;
    printf ("%d", i--);
    i=5;
    printf ("%d",--i);


    Ich würde vorschlagen, anstatt irgendwelche sinnlosen Codes zu schreiben, in denen kein Mensch mehr durchblickt und man sich nur durch ausprobieren helfen kann, schreibt man einen Code den jeder wenigstens lesen kann.


    Danke dein Code hat Funktioniert, auch dir Danke Kaliber für deine Mühe! :D


    mfg :thumbup:


    //EDIT:
    KALIBER, habs mir mal genauer angeschaut...hab grad schwachsinn geschrieben..^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen