[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
  • Ok danke.


    Ich hab noch eine Frage:


    Wenn ich jetzt ein Fraktionsautohaus habe muss das ja dynamisch gehen das es die Autos speichert ohne das es sie ins Script einfügt weil das geht ja nicht.
    Also muss ich sie via MySQL speichern und immer abrufen und erstellen lassen übers Script, mit den Infos aus der DB oder ?


    - Tom

  • Ja für Fahrzeuge ist meiner Meinung nach die Lösung über SQL die eleganteste.
    Du speicherst die Autos in der Datenbank und ließt sie beim Laden des GM aus. Zwischendurch kannst du dann alle mal Update, damit dir durch nen Crash keine Daten verloren gehen.
    Wenn du ein Auto im Script hinzufügst, schreibst du das in die Datenbank.

  • switch (Case)


    Ränge im Case benennen von 1-6 (oder wie auch immer)


    Und denn kannst du damit Abfragen ob der Rang == 1, == 2 etc. ist


    MFG


    Hab auch noch ne Frage:


    ShowPlayerDialog(EinladungID,-1,DIALOG_STYLE_MSGBOX," ", " ", " ", " ");

    Wird der Dialog dadurch geschlossen?


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!


  • Benutz statt einen Timer lieber: http://wiki.sa-mp.com/wiki/OnUnoccupiedVehicleUpdate

  • public countdown()
    {
    new String2[256];
    second++;
    format(String2, sizeof(String2), "Zeit: %d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    [b] if (second <= 9)
    {
    format(String2, sizeof(String2), "Zeit: %d:0%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }[/b]
    if (second == 59)
    {
    second = 0;
    Mini += 1;
    }
    if(Mini <= 9)
    {
    format(String2, sizeof(String2), "Zeit: 0%d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }
    return 1;
    }



    Warum wird bei der markiertenzeile vor den Sekunden keine 0 angesetzt? :D

    KleineHilfe 2.0


  • wo ist sie denn Markiert?

  • @alaSka:


    Teste mal das
    public countdown()
    {
    new string[50];
    second ++;
    if(second > 59)
    {
    Mini ++;
    second = 0;
    }
    format(string, sizeof(string), "Zeit: %02d:%02d",Mini,second);
    TextDrawSetString(Textdraw7, string);
    TextDrawShowForAll(Textdraw7);
    return 1;
    }

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

  • C:\Users\iTz_Flo\Desktop\Test\Test\pawno\include\streamer.inc(297) : warning 202: number of arguments does not match definition
    C:\Users\iTz_Flo\Desktop\Test\Test\pawno\include\streamer.inc(304) : error 025: function heading differs from prototype
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    297: SetObjectMaterial(wand, 0, 11471, "des_wtownmain", "des_shingles", 0);


    304: CreateObject(1502, -87.11, -1560.02, 2.32, 0.00, 0.00, 44.46);






    kann mir jemand helfen? :D


  • Wenn dich der Fehler noch interessiert:
    Die Sekunde ist kleiner gleich 9, eine Null wird vor die Sekunde gesetzt.
    Wenn jetzt die Minute (mini) aber auch kleiner gleich 9 ist wird der String überschrieben und nur vor die Minute eine Null geschrieben.

  • Wenn dich der Fehler noch interessiert:
    Die Sekunde ist kleiner gleich 9, eine Null wird vor die Sekunde gesetzt.
    Wenn jetzt die Minute (mini) aber auch kleiner gleich 9 ist wird der String überschrieben und nur vor die Minute eine Null geschrieben.


    Stimmt, danke. Muss lernen auf solche Sachen zu achten.. Unnötig hier zu posten im Ernst. Logische Schlussfolgerungen = -1

    KleineHilfe 2.0

  • shoxinat0r
    Ich mach das so um es als Muster zu werten
    format(query, 128,"SELECT * FROM `DTKeys` WHERE `Kennzeichen` = '%s'", VehicleData[vid][Kennzeichen]);
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    new rows = mysql_num_rows(SQL);
    for(new i; i < rows; i++)
    {
    mysql_fetch_row(Inhalt,"|",SQL);
    mysql_fetch_field("userid",Titel,SQL);
    format(query, 128, "• %s", GetUserName(strval(Titel)));
    SendClientMessage(playerid, cGreen, query);
    }
    mysql_free_result(SQL);
    In den Fall werden mir alle namen angezeigt die das Kennzeichen XYZ haben

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

  • Ich probiers hier noch mal ..
    Sers Leute ich habe einen Timer der durch einen ein Sekunden timer aufgerufen wird.


    SetTimer("countdown",1000,false);


    public countdown()
    {
    new string[64];
    new timeMss = ( GetTickCount() - racestart );
    new minuten2 = (timeMss/60000);
    timeMss -= (minuten2 * 60000);
    new sekunden2 = (timeMss/1000);
    format(string, sizeof(string), "Zeit: %02d:%02d",minuten2,sekunden2);
    TextDrawSetString(Textdraw7, string);
    TextDrawShowForAll(Textdraw7);
    return 1;
    }


    Jetzt überspringt er sehr oft eine Sekunde und läuft so nicht mehr flüssig jede Sekunde. Was soll ich tun? Wenn ich den 1 Sek Timer raus nehme, kann ich ja nicht mehr aktuallisieren außer vielleicht jede Sekunde Textdraw neu aufzumachen!?

    KleineHilfe 2.0

  • Magst du mir diesen Teil noch einmal erläutern? :rolleyes:


    Jo


    mysql_fetch_row(Inhalt,"|",SQL);
    Holt alles was gefunden wird, da SELECT *
    mysql_fetch_field("userid",Titel,SQL);
    Ich hole mir den Wert userid und setze den in den wert Titel (SQL ist bei mir die Connection)
    format(query, 128, "• %s", GetUserName(strval(Titel)));
    Sende den Namen, Da ich mit userid arbeite, habe ich eine Extra funktion für den Namen
    SendClientMessage(playerid, cGreen, query);
    Sollte klar sein


    //e
    Was mir gerade noch einfaällt, ist wenn du das BlueG plugin nutzen solltest (was ich ja nicht hoffe :D)
    Musst du die Funktion

    mysql_fetch_row
    in die machen:
    mysql_fetch_row_format
    Fofern er sagt das die Funktion nicht exestiert ;)

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

    Einmal editiert, zuletzt von Beavis ()