Beiträge von Darklight

    Jup, er bricht auf jedenfall nach der query ab.


    Code
    [18:14:22] DEBUG: SELECT Name FROM Accounts WHERE Name = 'darklight'
    [18:14:22] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "Health".
    [18:14:22] DEBUG: SELECT Name FROM Accounts WHERE Name = 'darklight'
    [18:14:22] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "FacingAngle".
    [18:14:22] DEBUG: SELECT Name FROM Accounts WHERE Name = 'darklight'
    [18:14:22] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "PositionZ".
    [18:14:22] DEBUG: SELECT Name FROM Accounts WHERE Name = 'darklight'
    [18:14:22] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "PositionY".
    [18:14:22] DEBUG: SELECT Name FROM Accounts WHERE Name = 'darklight'
    [18:14:22] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "PositionX".

    Die printf's werden anscheinend überhaupt nicht ausgeführt.


    Und noch ein Fehler den ich nicht blicke :(
    Diesmal geht es um MySQL. Da ich in MySQL nicht gerade ein Ass bin, verwende ich das Include 'C-MySQL' von Carlton.
    Nun habe ich aber ein Problem. Sobald ich einen Float aus der MySQL Datenbank auslesen will, bringt er mir den oben genannten Error:

    Code
    [Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "Health".
    [Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "FacingAngle".
    [Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionZ".
    [Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionY".
    [Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionX".


    Zuerst habe ich mir natürlich angeschaut ob ich mich irgendwo verschrieben habe, der Fehler deutet ja daraufhin das er das Feld nicht finden konnte. Dem war aber nicht so. Dann habe ich mir im Include die Funktion für das Auslesen von Float's angesehen, aber auch hier konnte ich keinen Fehler entdecken.
    Deshalb bitte ich (leider) nochmal um eure Hilfe. Der Fehler tritt bei diesem stock auf:
    stock LadeSpieler(playerid)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    SetPlayerScore(playerid,CMySQL_Int(Name,"Level"));
    SetPlayerHealth(playerid,CMySQL_Float(Name,"Health"));
    SetPVarInt(playerid,"Adminlevel",CMySQL_Int(Name,"Adminlevel"));
    SetPVarInt(playerid,"Level",CMySQL_Int(Name,"Level"));
    SetPVarInt(playerid,"Geld",CMySQL_Int(Name,"Geld"));
    SetPVarInt(playerid,"Skin",CMySQL_Int(Name,"Skin"));
    SetPVarInt(playerid,"Kills",CMySQL_Int(Name,"Kills"));
    SetPVarInt(playerid,"Tode",CMySQL_Int(Name,"Tode"));
    SetSpawnInfo(playerid,0,CMySQL_Int(Name,"Skin"),CMySQL_Float(Name,"PositionX"),CMySQL_Float(Name,"PositionY"),CMySQL_Float(Name,"PositionZ"),CMySQL_Float(Name,"FacingAngle"),0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;


    stock Float:CMySQL_Float(Username[], Field[],ThreadID = -1, extraID = -1) {
    mysql_real_escape_string(ACCOUNT_TABLE, SQLEscapeX[0]);
    mysql_real_escape_string(USERNAME_FIELD, SQLEscapeX[1]);
    mysql_real_escape_string(Username, SQLEscapeX[2]);
    mysql_real_escape_string(Field, SQLEscapeX[3]);
    if(ThreadID != -1 && extraID != -1) {
    format(SQLEscapeX[5], 128, "SELECT %s FROM %s WHERE %s = '%s'", SQLEscapeX[1], SQLEscapeX[0], SQLEscapeX[1], SQLEscapeX[2]);
    mysql_query(SQLEscapeX[5], ThreadID, extraID);
    return 0.0;
    }
    format(SQLEscapeX[5], 128, "SELECT %s FROM %s WHERE %s = '%s'", SQLEscapeX[1], SQLEscapeX[0], SQLEscapeX[1], SQLEscapeX[2]);
    mysql_query(SQLEscapeX[5], ThreadID, extraID);
    mysql_store_result();
    new Storage[30];
    #if defined MYSQL_PLUGIN
    mysql_fetch_field_row(Storage, Field);
    #else
    mysql_fetch_field(Field, Storage);
    #endif
    new Float:StoredResult = floatstr(Storage);
    mysql_free_result();
    return StoredResult;
    }
    }


    Ich hoffe das ihr mir helfen könnt. Danke schonmal.

    Ja "." ist schon einstring, den kannst du aber nicht mit 127.0.0.1 vergleichen, es würde immer failen.
    du müsstest den punkt denn schon finden ;)
    deshalb strfind


    Deshalb vergleiche ich ja nicht mit 127.0.0.1 sondern mit Buffer, also einem ebenso aus einer Zahl bestehendem string, was ja wieder sinn machen würde :)



    Deine Funktion war schon richtig. Hab mich bloß ein bisschen blöd ausgedrückt :)
    Danke nochmal.

    Erklärung steht ebenfalls dabei. (Scripting-Übung #1)


    [Scripting-Übung] by INk


    Oh, danke dir :D

    dir ist aber bewusst das du strfind statt strcmp nutzen solltest?^^


    den strcmp vergleicht strings, wie willst du denn bitte punkte vergleichen?


    Naja ich hatte bewusst strcmp benutzt, weil "." ja eigentlich auch ein String ist, oder ?
    Vor allem aber konnte ich bei strfind nicht angeben von wo bis wo er suchen soll.

    Guten Tag,


    momentan versuche ich aus einer IP-Adresse die ersten zwei Zahlen, welche mit einem Punkt getrennt werden, herauszulesen und auszugeben.
    Daran scheitere ich aber gerade und kann den Fehler nicht entdecken. Das ganze sieht so aus:


    stock GetSerial(playerid)
    {
    new buffer[1], ip[8], ClassA[8], ClassB[4], start=0, part=0;
    GetPlayerIp(playerid,ip,sizeof(ip));
    for(new i=0;i<sizeof(ip);i++)
    {
    strmid(buffer,ip,i,i);
    if(!strcmp(buffer,"."))
    {
    if(part == 0)
    {
    strmid(ClassA,ip,start,i);
    printf("ClassA: %s\n",ClassA);
    start = i + 1;
    part = 1;
    }
    else if(part == 1)
    {
    strmid(ClassB,ip,start,i);
    printf("ClassB: %s\n",ClassB);
    strcat(ClassA,ClassB);
    printf("Serial: ",ClassA);
    return 1;
    }
    }
    }
    return 0;
    }


    Ausgegeben wird momentan aber leider gar nichts. Ich hoffe das jemand den Fehler entdeckt, oder jemand eine andere Idee hat.
    Danke euch für eure Mühe.

    Guten Tag,


    ich benutze für meine Scripts eigentlich gerne die foreach-Funktion von Y_Less.
    Aber wenn ich die Include von ihm herunterlade und in meinen Gamemode einbinde kommt folgender Fehler:


    Code
    C:\Users\*******\Desktop\SA-MP Server\pawno\include\foreach.inc(186) : error 017: undefined symbol "_FOREACH_CUR_VERSION"Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    1 Error.



    Weis von euch jemand was da los sein könnte ?