[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
  • 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 ().

  • 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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 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:


  • Soweit alles korrekt richtig.


    So das ist der Log beim laden:

    Code
    [22:16:01] [INFO] query "SELECT * FROM `server_biz`" successfully executed within 3.379 milliseconds
    [22:16:01] [DEBUG] CResultSet::Create(connection=0x6c87618, query_str='SELECT * FROM `server_biz`')
    [22:16:01] [DEBUG] created new resultset '0x6cd6ea0'
    [22:16:01] [DEBUG] fetched MySQL result '0x27130d8'
    [22:16:01] [DEBUG] allocated 588 bytes for PAWN result
    [22:16:01] [DEBUG] CConnection::Execute(query=0x6cc55a8, this=0x6ef7020, connection=0x6c87618)
    [22:16:01] [DEBUG] CQuery::Execute(this=0x6cc55a8, connection=0x6c87618)
    Code
    [22:16:01] [DEBUG] mysql_tquery(1, "SELECT * FROM `server_biz`", "LoadBizes", "")
    [22:16:01] [DEBUG] CCallback::Create(amx=0x4a93070, name='LoadBizes', format='', params=0x6a9fc88, param_offset=5)
    [22:16:01] [DEBUG] CCallback::Create - callback index for 'LoadBizes': 118
    [22:16:01] [DEBUG] CQuery::Execute(this=0x27157a8, connection=0x6c90800)
    [22:16:01] [INFO] Callback 'LoadBizes' set up for delayed execution.
    [22:16:01] [DEBUG] created delayed callback with 0 parameter
    [22:16:01] [DEBUG] CHandle::Execute(this=0x6c37c40, type=1, query=0x6cc4470)
    [22:16:01] [DEBUG] CHandle::Execute - return value: true
    [22:16:01] [DEBUG] mysql_tquery: return value: '1'


    //E:


    Der Befehl zum kaufen. eigentlich funktioniert der weil ID 2 und ID 3 kann ich damit ja auch kaufen. Seltsam hatte sowas noch nie.




  • Ist es eig möglich türen so aufgehen zu lassen wie bei einer Waschanlage also die alten noch so wie die Aral immer hatte

    Ja, mit [wiki]MoveObject[/wiki] kannst du auch Türen so rotieren lassen, google da einfach mal nach :)



    Soweit alles korrekt richtig.

    Sorry, bin schon etwas angetrunken xD
    Meinte das Laden sieht korrekt aus, eventuell ist der Fehler beim kaufen, da du das ja nicht kannst :D

    ast2ufdyxkb1.png


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