[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
  • Will nur auf nummer sicher gehn ob idas so richtig ist?

    Dann lies dir nochmal durch, was ich geschrieben habe.


    Ich sagte MAX - AKTUELL.


    Du rechnest AKTUELL - MAX.


    Die Subtraktion ist nicht kommutativ, das lernt man glaube ich in der 5. Klasse.


    3 - 5 != 5 - 3


    Und wieso verwendest du in der Gleichung -=?


    Das macht keinen Sinn, einfach nur -.


    Schau dir eventuell noch mal die Basic Syntax in Pawn an: http://wiki.sa-mp.com/wiki/Scripting_Basics


    //Edit:


    Weil ich da bestimmte Anklickbar haben will aber die anderen nicht

    2 Möglichkeiten:

    • Du machst die TextSize so geschickt, dass nur alles andere außer dem Pfeil selbst anklickbar ist.
    • Du musst mehrere TextDraws erstellen, so dass das anklickbar ist was du willst und das, was du nicht willst eben ein eigenes TextDraw ist.

    ast2ufdyxkb1.png


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

    Einmal editiert, zuletzt von Kaliber ()

  • C:\Users\ASUS\Desktop\Coming Soon\gamemodes\CS.pwn(14442) : warning 213: tag mismatch



    Sagt der mir immer wieder,


    Ja das habe ich verstanden max minus liter war von mir ein fehler


    new int = Tanke[it][tMaxLiter] - Tanke[it][tLiter];

  • Hey,


    brauche mal ganz kurz Hilfe. Jedes Mal wenn ich in der Inputbox des Dialoges einen Inhalt angebe und diesen auch sende, crasht mein gesamter Server.
    Ich hab echt keine Ahnung woran es liegt.


  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fehler gefunden ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • g_Object[2] = CreateObject(18646, 1525.9505, 1491.9825, 10.7901, 0.0000, 0.0000, 0.0000); //PoliceLight1
    g_Object[9] = CreateObject(19797, 1525.8603, 1491.8580, 11.1536, 0.0000, 0.0000, 0.0000); //PoliceVisorStrobe1
    g_Object[10] = CreateObject(19797, 1526.9223, 1492.6074, 11.2252, 0.0000, 0.0000, 0.0000); //PoliceVisorStrobe1
    g_Object[12] = CreateObject(19797, 1526.4981, 1492.0527, 11.1787, 0.0000, 0.0000, 0.0000); //PoliceVisorStrobe1


    AttachObjectToVehicle(g_Object[2], g_Vehicle[1], -0.4000, 0.2500, 0.7200, 0.0000, -3.0000, 0.0000);
    AttachObjectToVehicle(g_Object[9], g_Vehicle[1], 0.0000, 0.5500, 0.5400, -63.0000, 0.0000, 180.0000);
    AttachObjectToVehicle(g_Object[10], g_Vehicle[1], 0.3499, -0.8798, 0.5550, -64.0000, 0.0000, 0.0000);
    AttachObjectToVehicle(g_Object[12], g_Vehicle[1], -0.3499, -0.8798, 0.5500, -64.0000, 0.0000, 0.0000);



    Hey,


    Habe kurz eine frage kann ich das so übernehmen wen ich ein befehl eingebe das zu attachen?
    Weiß sonst nicht wie ich das am besten machen soll.


    hast du eine idee @Kaliber

  • Warum wird mir nur meine erste Fraktion ausgegeben?
    forward OnFraktionCheck(playerid);
    public OnFraktionCheck(playerid)
    {
    new rows;
    new content[128], string[128], string1[128], string2[128], string3[128], string4[128], string5[128], string6[128], tmp[32], tmp_int, tmp_inter;
    for(new i=0; i < cache_get_row_count(rows); i++)
    {
    cache_get_value_name_int(i, "fid", tmp_int);
    format(string1, sizeof(string1), "%i\t", tmp_int);
    cache_get_value(i, 1, tmp);
    format(string2, sizeof(string2), "%s\t", tmp);
    cache_get_value_name_int(i, "ftyp", tmp_inter);
    if(tmp_inter == 0){
    format(string3, sizeof(string3), "keine Behörde\t");
    }else if(tmp_inter == 1){
    format(string3, sizeof(string3), "{33AA33}Behörde{FFFFFF}\t");
    }
    cache_get_value_name_int(i, "fkasse", tmp_int);
    format(string4, sizeof(string4), "%i$\t", tmp_int);
    cache_get_value_name_int(i, "member", tmp_int);
    format(string5, sizeof(string5), "%i\t", tmp_int);
    cache_get_value_name_int(i, "applications", tmp_inter);
    if(tmp_inter == 0){
    format(string6, sizeof(string6), "{FF0000}Geschlossen\t\n");
    }else if(tmp_inter == 1){
    format(string6, sizeof(string6), "{33AA33}Offen\t\n");
    }
    }
    format(content, sizeof(content), "Name\tTyp\tKasse\tMemberlimit\n(ID: %i)|%s\t%s\t%i$\t%i - %s\n", strval(string1), string2, string3, strval(string4), strval(string5), string6);
    ShowPlayerDialog(playerid, DIALOG_FRAKTIONSLIST, DIALOG_STYLE_TABLIST_HEADERS, "existierende Fraktionen", content, "Ok","");
    return 1;
    }

  • Hey,


    Habe das Problem immer mit der ID 1. also mit der ersten ID in der Datenbank an was kann das liegen?


    ID 2, ID 3, use funktioniert aber warum spinnt ID 1 so rum?


  • Warum wird mir nur meine erste Fraktion ausgegeben?

    Lustigerweise wäre es eigentlich deine letzte Fraktion die angezeigt werden würde, da du aber cache_get_row_count falsch nutzt, geht die Schleife nur bis 1, somit wird nur die erste Fraktion überhaupt ausgelesen hahaha :D


    Weil du immer wieder die Variablen überschreibst und am Ende, nur die von einer Fraktion ausgibst.


    Das format muss in die Schleife, damit alle Fraktionen da eingetragen werden.


    Allerdings ist das ein sehr unsauberer Code, viel zu viele Strings, das geht alles viel eleganter ^^



    Habe das Problem immer mit der ID 1. also mit der ersten ID in der Datenbank an was kann das liegen?

    Was genau heißt denn Problem in dem Kontext?


    Eventuell debugge das mal, dann sieht man das eher ^^

    ast2ufdyxkb1.png


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

  • dankeschön, im nachhinein ist das logisch...
    public Load_Fraktion()
    {
    new rows, string[256];
    cache_get_row_count(rows);
    for(new i=0; i<rows; i++)
    {
    cache_get_value_name_int(i, "fid", fInfo[i][fID]);
    cache_get_value_name(i, "fname", fInfo[i][fName]);
    cache_get_value_name_int(i, "ftyp", fInfo[i][fTyp]);
    cache_get_value_name_int(i, "fkasse", fInfo[i][fKasse]);
    cache_get_value_name_float(i, "fspawn_x", fInfo[i][fSpawn_X]);
    cache_get_value_name_float(i, "fspawn_y", fInfo[i][fSpawn_Y]);
    cache_get_value_name_float(i, "fspawn_z", fInfo[i][fSpawn_Z]);
    cache_get_value_name_float(i, "fspawn_r", fInfo[i][fSpawn_R]);
    cache_get_value_name_float(i, "ficon_x", fInfo[i][fIcon_X]);
    cache_get_value_name_float(i, "ficon_y", fInfo[i][fIcon_Y]);
    cache_get_value_name_float(i, "ficon_z", fInfo[i][fIcon_Z]);
    cache_get_value_name_int(i, "member", fInfo[i][fMember]);
    cache_get_value_name_int(i, "base", fInfo[i][fBase]);
    DestroyPickup(fInfo[i][Pickup]);
    Delete3DTextLabel(fInfo[i][Text]);
    printf("Fraktion %i geladen", i);
    if(fInfo[i][fBase] == 1){
    format(string,sizeof(string), "%s\nHQ: geöffnet", fInfo[i][fName]);
    fInfo[i][Text] = Create3DTextLabel(string, -1, fInfo[i][fIcon_X], fInfo[i][fIcon_Y], fInfo[i][fIcon_Z], 40.0, 0, 1);
    }else if(fInfo[i][fBase] == 0){
    format(string, sizeof(string), "%s\nHQ: geschlossen", fInfo[i][fName]);
    fInfo[i][Text] = Create3DTextLabel(string, -1, fInfo[i][fIcon_X], fInfo[i][fIcon_Y], fInfo[i][fIcon_Z], 40.0, 0, 1);
    }
    fInfo[i][Pickup] = CreatePickup(1272, 1, fInfo[i][fIcon_X], fInfo[i][fIcon_Y], fInfo[i][fIcon_X]);
    }
    }


    In diesem Code wird der Fraktionsname nicht angezeigt im String, kannst du mir sagen wieso?

  • In diesem Code wird der Fraktionsname nicht angezeigt im String, kannst du mir sagen wieso?

    Nein keine Ahnung, printe dir mal die Variable, eventuell ist dein Query falsch, es existiert gar kein fname oder in der Datenbank fehlt was :)

    ast2ufdyxkb1.png


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

  • Das Problem besteht darin das man kein Biz mit der Datenbank ID 1 Kaufen kann.


    Das Zweite ist das man erst ab ID 2 kaufen kann. Warum auch immer



    Habe mal jedes einzelne Printen lassen:


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