[SAMMELTHREAD] Kleine Scripting Fragen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Erstmal ist deine Abfrage falsch, es muss if (!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; sein
    Wenn du dort ein && verwendest, reicht es schon dass der Spieler verbunden ist damit das continue; nicht ausgeführt wird, also wird der Code darunter ausgeführt, was ja nicht sein soll.



    Wenn du alsoif (!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue;machst,
    Dann wird dein continue; ausgeführt wenn der Spieler entweder nicht Verbunden ist, oder wenn er Verbunden ist aber sich in keinem Fahrzeug befindet.

  • Nabend,
    Ich finde grade einfach den Fehler nicht...
    format(string,sizeof(string),"Fraktionrang: [%s]", GetFraktionName(PlayerInfo[playerid][pFraktionrang]));
    Fehler: error 029: invalid Expression, assumed Zero....



    Hab auch schon den Fehlerklärbär genutzt. Gibt aber keine Informationen aus ?(
    Wird denke ich mal nur ein Denkfehler sein, den ich grade einfach nicht Finde.

  • Zeig mal GetFraktionsRang

    Die Ränge werden einfach als ID gespeichert. Und diese möchte ich anstatt als ID mit Namen in den Staats z.b Ausgeben.
    Habe es so umgesetzt:



    #define GetFraktionName(%0) f_rang_name[(0%)-1]
    stock const f_rang_name[][] = {
    "Anwärter",
    "Streifenpolizist",
    "Kommissar",
    "Polizeichef"
    };

    Bei allen anderen Funktionen / Abfragen klappt es, nur bei der Abfrage scheint es Probleme zu geben ?(

  • PlayerInfo[playerid][pFraktionrang]

    Als was ist das denn definiert?



    Benutze mal z. B new const copRank[] [] und frage es mittels copRank(id) ab.. Und wieso eigentlich - 1? Sorry bin erst am Freitag am PC über Handy ist das doof aber schauen wir mal

    Ne, das stimmt schon so, der Code stammt von mir ^^


    -1 weil jemand der einen Rang von 0 hat, ja keinen Rang hat, allerdings das Array bei 0 beginnt, somit -1 ;)


    //Edit: Eventuell gibt es schon eine Funktion oder so mit dem Namen?

    ast2ufdyxkb1.png


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

  • Als was ist das denn definiert?


    Ne, das stimmt schon so, der Code stammt von mir ^^
    -1 weil jemand der einen Rang von 0 hat, ja keinen Rang hat, allerdings das Array bei 0 beginnt, somit -1 ;)


    //Edit: Eventuell gibt es schon eine Funktion oder so mit dem Namen?

    Ich schaue mal später nach.
    Aber ich weiß eigentlich, das ich die Funktion noch nirgendwo verwendet habe.


    #edit: Neues Problem

    /*getRangName(fraktionsID, rangID)
    {
    switch(FraktionsID)
    {
    case 1: // Polizist
    {
    switch(rangID)
    {
    case 1: return "Anwärter";
    case 2: return "Officer";
    case 3: return "Chief of Police";
    }
    }
    case 2: // Medic
    {
    switch(rangID)
    {
    case 1: return "Anwärter";
    case 2: return "Arzt";
    case 3: return "Chefarzt";
    }
    }
    }
    return 1;
    }*/

    Wenn ich diese Funktion nutzen möchte, um mir die Ränge auszugeben dauert es ziemlich lange zum Compilieren und zusätzlich erhalte ich einen Fehler beim Server starten:

    Code
    Script[gamemodes/new.amx]: Run time error 17: "Invalid/unsupported P-code file format"

    Kann mir jemand sagen woran der Fehler liegt?


    Einmal editiert, zuletzt von Laaazzyy () aus folgendem Grund: Fehler hinzugefügt.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von Kasakow ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Ich hör auf um die Uhrzeit helfen zu wollen bin eh hundemüde ().
  • Der Parameter der Funktion heißt fraktionsID, du verwendest aber im Switch FraktionsID. Das f am Anfang muss klein geschrieben werden.

    Leider der selbe Fehler:

    getRangName(fraktionsID, rangID)
    {
    switch(fraktionsID)
    {
    case:1 // POLICE
    {
    switch(rangID)
    {
    case 1: return "Anwärter";

    }
    }
    case 2: //MEDIC
    {
    switch(rangID)
    {
    case 1: return "Anwärter";
    }
    }
    }
    return 1;
    }

  • //edit hat sich geklärt


    //edit neues Problem


    Code
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [WARNING] CMySQLHandle::Create - connection already exists
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)
    [00:54:19] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '5.39.31.192' (111)

    Connect daten sind alle richtig habs auch mit 127.0.0.1/root/keinpw probiert geht auch nicht selber fehler

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


    2 Mal editiert, zuletzt von Maho ()


  • #define LOCAL_SQL_HOST "127.0.0.1" //
    #define LOCAL_SQL_USER "root" //
    #define LOCAL_SQL_PASS "" //
    #define LOCAL_SQL_DATA "californiaRL" //
    //
    #define SQL_HOST "5.39.31.192" //
    #define SQL_USER "californiaRL" //
    #define SQL_PASS "************" //
    #define SQL_DATA "californiaRL" //



    OnGameModeInit:

    //mysql_debug(0);
    #if SQL_DATABASE == 0
    MySqlConnection = mysql_connect(LOCAL_SQL_HOST,LOCAL_SQL_USER,LOCAL_SQL_DATA,LOCAL_SQL_PASS);
    #endif
    #if SQL_DATABASE == 1
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    #endif
    #if SQL_LOGGING == 1
    mysql_log(LOG_ALL);
    #endif



    if(/*mysql_ping() == 1*/mysql_errno(MySqlConnection) == 0)
    {
    print("MYSQL » Verbindung zur Datenbank wurde erfolgreich hergestellt.");
    }
    else
    {
    print("MYSQL » Es konnte keine Verbindung zur Datenbank hergestellt werden.");
    print("MYSQL » Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.");
    #if SQL_DATABASE == 0
    MySqlConnection = mysql_connect(LOCAL_SQL_HOST,LOCAL_SQL_USER,LOCAL_SQL_DATA,LOCAL_SQL_PASS);
    #endif
    #if SQL_DATABASE == 1
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    #endif
    if(/*mysql_ping() == 1*/mysql_errno(MySqlConnection) == 0)
    {
    print("MYSQL » Es konnte im zweiten Versuch eine Datenbankverbindung hergestellt werden.");
    }
    else
    {
    print("MYSQL » Es konnte keine Verbindung zur Datenbank hergestellt werden.");
    print("SERVER » Server wird nun heruntergefahren.");
    SendRconCommand("exit");
    return 1;
    }
    }

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!