Beiträge von Jeffry

    Ok.
    Splitte die IP so:
    new zahl[4];
    sscanf(ip, "p<.>iiii", zahl[0], zahl[1], zahl[2], zahl[3]);


    Dann hast du dort die einzelnen Zahlen drin stehen und kannst die vergleichen.


    Bei vielen ändern sich übrigens die hinteren beiden Ranges der IP.

    wie würde man dies in R39 auslesen?

    Je nach dem wie genau es aussehen soll, eventuell so:
    mysql_pquery(handle, "SELECT name, version FROM server WHERE id = 1;", "OnServer");


    Und dann in einem extra Public:
    forward OnServer();
    public OnServer()
    {
    if(cache_get_row_count() == 0) return 1;


    new strVersion[64], strGameMode[32];
    cache_get_field_content(0, "name", strGameMode, handle);
    cache_get_field_content(0, "version", strGameMode, handle);
    format(strGameMode, sizeof(strGameMode), "%s %s", strGameMode, strVersion);
    SetGameModeText(strGameMode);
    format(strVersion, sizeof(strVersion), "hostname %s", strGameMode);
    SendRconCommand(strVersion);
    return 1;
    }

    Wäre das dann so?

    Warum willst du die IP eigentlich splitten?

    Nein, du kannst ein Query natürlich auch so schreiben, um alle Spalten auszulesen:

    SQL
    SELECT * FROM tabelle WHERE id = %d;


    Die mysql_Get/Set... Funktionen waren schon in den alten Plugin Versionen das schlechteste an Performance, da die Datenbank viel zu oft unnötig angesprochen wird. Man kann das sich zwar basteln, aber das ist nicht zu empfehlen, da es am Sinn des Plugins vorbei geht. Dann kann man gleich bei der alten Version bleiben, einen Unterschied macht das dann kaum/keinen.

    Es dürfte nach dem Code eigentlich gar nichts in der Datenbank stehen, da das Query falsch ist.
    Das INSERT Query muss so aussehen:
    format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort, Registrierungsdatum) VALUES ('%s', MD5('%s'), '%d.%d.%d')", SpielerName(playerid), passwort, day, month, year);

    Siehe: Autos laden nicht


    ocmd:carkey(playerid,params[])
    {
    new string[512], bool:found, model;
    for(new s = 1; s <= 5; s++)
    {
    found = false;
    for(new i = 0; i < sizeof(cInfo); i++)
    {
    if(cInfo[i][besitzer] == PlayerInfo[playerid][pMySQLID] && cInfo[i][slot] == s)
    {
    found = true;
    model = cInfo[i][carmodel];
    if(model >= 400 && model <= 611) format(string,sizeof(string),"%s{FF0000}%d) %s\n",string, s, getVehicleName(model));
    else format(string,sizeof(string),"%s{00FF0}%d) -Schlüssel frei-\n",string, s);
    break;
    }
    }
    if(!found) format(string,sizeof(string),"%s{00FF0}%d) -Schlüssel frei-\n",string, s);
    }
    ShowPlayerDialog(playerid,DIALOG_CARKEY,DIALOG_STYLE_LIST,"Fahrzeuge",string,"Auswählen","Beenden");
    return 1;
    }

    Das kannst du auch ohne die Datenbank anzusprechen machen.
    Versuche es so:
    ocmd:carkey(playerid,params[])
    {
    new string[512], bool:found, model;
    for(new s = 1; s <= 5; s++)
    {
    found = false;
    for(new i = 0; i < sizeof(cInfo); i++)
    {
    if(cInfo[i][besitzer] == PlayerInfo[playerid][pMySQLID] && cInfo[i][slot] == s)
    {
    found = true;
    model = cInfo[i][carmodel];
    if(model >= 400 && model <= 611) format(string,sizeof(string),"%s{FF0000}%d) %s\n",string, s, getVehicleName(model));
    else format(string,sizeof(string),"%s{00FF00}%d) -Schlüssel frei-\n",string, s);
    break;
    }
    }
    if(!found) format(string,sizeof(string),"%s{00FF00}%d) -Schlüssel frei-\n",string, s);
    }
    ShowPlayerDialog(playerid,DIALOG_CARKEY,DIALOG_STYLE_LIST,"Fahrzeuge",string,"Auswählen","Beenden");
    return 1;
    }

    habe gelesen das Copy & Paste, nix gut ist, und man das lieber nicht machen sollte?

    Wie AirM4X schon sagte, das kannst du machen, wenn du selbst auch daran arbeitest und nicht nur über Copy & Paste arbeitest. Wenn man etwas ausprobieren will und einen Code gefunden hat, dann kann man den natürlich komplett nehmen und testen, man muss sich halt danach damit beschäftigen und die Einzelteile verstehen, sonst lernt man nichts dabei.




    das hilft mir Sehr, nur ein Problem habe ich dennoch, ich kenne sowas wie C++,Java ect. was ist SAMP ?

    http://www.compuphase.com/pawn/pawn.htm
    pawn is a simple, typeless, 32-bit extension language with a C-like syntax. 
    C++ und Java sind objektorientiert, PAWN ist das nicht, daher ähnlich wie C.





    und mir ist bewusst das es Sehr lange dauert, Arbeite somit an meine Größte schwäche wie ich finde, und das wäre Das zu machen wo man Kein Ergebnisse auf kurzer Strecke sieht.

    Je nach dem was man macht, dauert es unterschiedlich lange um entsprechende Ergebnisse zu sehen. Wenn es mal länger dauert sollte dich das aber nicht abhalten, sondern eher anspornen, denn meistens ist die Freude danach noch größer, wenn es endlich klappt.




    (lol, durfte erst in 5.xxx.xxx sec (mio) wieder hier wieder auf ein Thema Antworten?)

    Das kommt, weil du keine zwei Posts hintereinander machen kannst.