[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • ServerInfo[11] = TextDrawCreate(498.000000, 109.000000, "--");
    TextDrawBackgroundColor(ServerInfo[11], 255);
    TextDrawFont(ServerInfo[i][11], 1);
    TextDrawLetterSize(ServerInfo[i][11], 0.3, 0.;
    TextDrawColor(ServerInfo[i][11], -1);
    TextDrawSetOutline(ServerInfo[i][11], 0);
    TextDrawSetProportional(ServerInfo[i][11], 1);
    TextDrawSetShadow(ServerInfo[i][11], 1);*/ //Wofür die 11?


    Und dann unter deinem timer.
    new string[125];
    format(String, sizeof(String), "Naechster Payday: [%i]",/*korrekte ausgabe*/);
    TextDrawSetString(ServerInfo[playerid], String);

    KleineHilfe 2.0


  • Die 11 weil es noch 10 andere ServerInfo 's gibt.


    Und dann unter deinem timer.
    new string[125];
    format(String, sizeof(String), "Naechster Payday: [%i]",/*korrekte ausgabe*/);
    TextDrawSetString(ServerInfo[playerid], String);


    /*korrekte ausgabe*/ was meinst du damit?


    "Und dann unter deinem timer." Welchen Timer?


  • Es bietet sich eher an wie schon erwähnt das über Spieler orientierte Textdraws zu machen.
    Da du ja die Zeit welche verbleibt zum Payday anzeigen willst und das wahrscheinlich im minuten takt kannst du einen timer erstellen der sich jede minute wiederholt oder das schon in einem vorhandenen
    timer der sich jede minute wiederholt rein packen.

  • Richtig so?


    SetTimer("payday", 60000, true);



    public payday()
    {
    new String[125];
    new i;
    new targetid;
    format(String, sizeof(String), "Naechster Payday: [%i]",(60-SpielerInfo[targetid][pPlayMinutes]));
    TextDrawSetString(ServerInfo[i][11], String);
    }

  • Man brauch kein define, man kann den Pfad direkt bei PlayAudioStreamForPlayer angeben.


    Spielerbezogenen Timer nehmen SetTimerEx und wofür steht die 11 sowie warum targetid?(>playerid)

    KleineHilfe 2.0

  • SetTimerEx("payday",60000,false,"i", playerid);


    public payday(playerid)
    {
    new String[125];
    new i;
    new targetid;
    format(String, sizeof(String), "Naechster Payday: [%i]",(60-SpielerInfo[targetid][pPlayMinutes]));
    TextDrawSetString(ServerInfo[i][11], String);
    return 1;
    }


    Das habe ich jetzt, aber es wird nichts angezeigt.

    Einmal editiert, zuletzt von xXFabix ()

  • Er hat aber kein PlayerTextdraw sondern einen einfachen ;)
    Daher brauch er den ghanz normal anzeigen lassen dann gehts es schon


    Er hat aber kein PlayerTextdraw sondern einen einfachen ;)
    Daher brauch er den ghanz normal anzeigen lassen dann gehts es schon


    Ich empfehle dennoch mit PlayerTextDraw zu arbeiten, damit ist es letztendlich einfacher Spieler bezogene txd's zu machen damit zum Schluss nicht bei allen die Zeit von ID 0 angezeigt wird.


    Jeder wie er will. ^^

    KleineHilfe 2.0

  • Kann ich das noch schonender schreiben?
    for(new i; i < MAX_VEHICLES; i++)
    {
    if(VehicleData[i][Typ] != 2)continue;
    if(VehicleData[i][Owner] == PlayerInfo[playerid][Userid])
    {
    new Model = GetVehicleModel(i), Float:vPosi[4], Float:chp;
    GetVehicleHealth(i,chp);
    GetVehiclePos(i,vPosi[0],vPosi[1],vPosi[2]);
    GetVehicleZAngle(i,vPosi[3]);
    mysql_real_escape_string(VehicleData[i][Kennzeichen], VehicleData[i][Kennzeichen], SQL);
    format(query,700,"UPDATE `DTcars` SET `owner`='%d',`typ`='%d',`Model`='%d',`X`='%f',`Y`='%f',`Z`='%f',`A`='%f',`Tank`='%d',`Tuev`='%d',`Engine`='%d',`Totalschaden`='%d',`Strecke`='%.2f',`Kennzeichen`='%s',`color1`='%d',`color2`='%d',`Door`='%d',`Light`='%d',`Health`='%f'",
    VehicleData[i][Owner],VehicleData[i][Typ],Model,vPosi[0],vPosi[1],vPosi[2],vPosi[3],VehicleData[i][Tank],VehicleData[i][tuv],VehicleData[i][Engine],VehicleData[i][Totalschaden],VehicleData[i][Kilometers],VehicleData[i][Kennzeichen],VehicleData[i][Color][0],VehicleData[i][Color][1],
    VehicleData[i][lock],VehicleData[i][Light],chp);
    strcat(Data,query);
    for(new slot; slot<14; slot++)
    {
    VehicleData[i][Tuning][slot] = GetVehicleComponentInSlot(i,slot);
    format(query,20,",`Slot%d`='%d'",slot,VehicleData[i][Tuning][slot]);
    strcat(Data,query);
    }
    format(query,50,"WHERE `id` = '%d';",VehicleData[i][DataBase]);
    strcat(Data,query);
    mysql_query(Data, (-1), (0), SQL);
    strdel(Data, 0, sizeof(Data));
    }
    }
    Also ich will mehr Leistung rausholen beim Speichern bisher brauch er 92ms

    All in all it's just another brick in the wall

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