[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
  • Du musst einen stock verwenden, mit publics kannst du das so nicht zurück geben.
    Außerdem musst du anstatt mysql_pquery direkt mysql_query aufrufen. Zu empfehlen ist das aber nicht. Es wäre besser, den Code, der den Name anzeigen soll, im Callback von mysql_pquery auszuführen.

  • Du musst einen stock verwenden, mit publics kannst du das so nicht zurück geben.
    Außerdem musst du anstatt mysql_pquery direkt mysql_query aufrufen. Zu empfehlen ist das aber nicht. Es wäre besser, den Code, der den Name anzeigen soll, im Callback von mysql_pquery auszuführen.

    Wie soll ich das am besten machen im stock mit dem code im pquery? meinst du das so in etwa:


    Code
    stock getPlayerName(playerid){
    	new row, quer[512], Name[MAX_PLAYER_NAME];
    	mysql_pquery(handle, "SELECT name FROM user WHERE id = '%i'", playerid);
    
    
    }

    MfG
    XonarZ

  • Du kannst nicht die playerid verwenden, da die sich doch jedes mal ändert und wenn der Spieler offline ist schon gar nicht existiert.


    Du musst einfach nur den Namen von dem Spieler verwenden, das ist der eindeutige Key und nicht die playerid ^^

    ast2ufdyxkb1.png


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

  • Du kannst nicht die playerid verwenden, da die sich doch jedes mal ändert und wenn der Spieler offline ist schon gar nicht existiert.


    Du musst einfach nur den Namen von dem Spieler verwenden, das ist der eindeutige Key und nicht die playerid

    Du verstehst falsch glaub ich in der Datenbank - Spalte der jeweiligen Tankstelle ist unter der "Variable" owner die DatenbankID des Spielers eingetragen...


    Ich rufe mein Stock so auf:

    Code
    getPlayerName(tInfo[tID][owner])



    Mein stock sieht nun so aus:



    Code
    stock getPlayerName(dbid){
    	new query[512], Name[MAX_PLAYER_NAME];
    	mysql_format(handle, query, sizeof(query), "SELECT * FROM user WHERE id = '%i'", dbid);
    	mysql_pquery(handle, query);
    	cache_get_value_name(0, "name", Name, MAX_PLAYER_NAME);
    	return Name;
    }

    bringt mir so aber leider keinen Result...


    //EDIT ich hab das Problem nun gelöst... und zwar mit folgendem stock:



    Code
    stock getPlayerName(dbid){
    	new query[512], Name[MAX_PLAYER_NAME];
    	mysql_format(handle, query, sizeof(query), "SELECT * FROM user WHERE id = '%i'", dbid);
    	mysql_query(handle, query);
    	cache_get_value_name(0, "name", Name, MAX_PLAYER_NAME);
    	return Name;
    }


    MfG
    XonarZ

  • Welche Mysql Version ist das


    Code
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
        mysql_real_escape_string(Table, Table);
        mysql_real_escape_string(Field, Field);
        mysql_real_escape_string(Where, Where);
        mysql_real_escape_string(Where2, Where2);
        format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
        mysql_query(query);
        return true;
    }
  • Habe die R33 schon versucht aber das scheint es nicht zu sein..


    Wen ich die R33 drinnen habe passiert das:



    C:\Users\Patrik\Desktop\Gamemode\gamemodes\gamemode.pwn(3080) : warning 224: indeterminate array size in "sizeof" expression (symbol "max_len")



    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    mysql_real_escape_string(Table, Table); //3080
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;


    }

  • Beitrag von Maik_ ()

    Dieser Beitrag wurde von Canna aus folgendem Grund gelöscht: Falscher Bereich ().
  • Kennt jemand zufällig das Rageban Include?

    Da gibt es nicht "das Include" es gibt sehr viele.


    Und das ist auch sehr einfach selbst zu schreiben, musst ja nur die Ip splitten und dann in der Datenbank speichern, fertig.


    https://forum.sa-mp.com/showthread.php?t=295759


    https://forum.sa-mp.com/showthread.php?t=446692


    https://forum.sa-mp.com/showthread.php?t=608273


    1x suchen, wird man in ein paar Threads fündig, wo man sich inspirieren lassen kann ^^

    mysql_real_escape_string(Table, Table); //3080

    Wieso verwendest du das älteste MySQL Plugin? ^^


    Ich meine, heute gibt es so schöne so gute Alternativen...


    Naja, das klappt nicht, weil die Größe von dem Array nicht der Funktion übergeben wird.


    Musst da sowas machen:



    und query sollteste auch lokal deklarieren ^^

    ast2ufdyxkb1.png


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

  • Na das ist eine Alte Version vom D. S. Z und das will ich erstmal zum laufen kriegen und dann umschrieben auf die Neue Version :)




    //E:


    C:\Users\Patrick\Desktop\Gamemode\gamemodes\gamemod.pwn(2952) : error 035: argument type mismatch (argument 1)




  • //E:

    Sag mal..ist das jetzt dein Ernst? :huh:


    Seit wie vielen Jahren bitte skriptest du schon und dann kommst du immer noch nicht auf die Idee mal ganz kurz ins Wiki zu schauen, sondern fragst hier, damit jemand für dich ins Wiki schaut oder das weiß?!?!?!


    https://wiki.sa-mp.com/wiki/MySQL/R33#mysql_query


    Wie du siehst, muss der 1. Parameter dein connection handle sein, also die Variable, die du erhälst, wenn du mysql_connect verwendest...

    ast2ufdyxkb1.png


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

  • He?!


    mysql_tquery gehört zu der neuen Version...


    Ein einfaches mysql_query(connection, query); hätte vollkommen gereicht.


    Wenn du die neue Version verwendest, kannst dir das ganze mysql_real_escape_string schenken und einfach %e anstatt %s im mysql_format verwenden.


    PS: Das Wiki zu nutzen ist ganz unabhängig von der Erfahrung mit irgendeiner Funktion. Eigentlich sollte da die Tendenz sogar stärker sein, erstmal das wiki zu nutzen.

    ast2ufdyxkb1.png


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

  • Abend,
    habe noch bisschen Zeit heute gehabt und kam zu einer Idee.


    Ist es möglich abzufragen welches Teil am Fahrzeug kaputt ist?


    Sagen wir die linke Tür ist beschädigt und man kann das abfragen
    oder dann auch reparieren.


    Gibt es so etwas?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

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