Beiträge von aytef

    Hey, ich bin gerade dabei ein Wahlsystem für Parteien zu machen.
    Leider ist mir ein Fehler unterlaufen:
    Im Dialog, wenn ich eine Partei wählen möchte, kann ich immer nur die Partei mit der ID 1 wählen. Und das ist egal, welches ich anklicke.
    Jeffry: :love:
    Befehl:



    COMMAND:wahl(playerid,params[])
    {
    #pragma unused params
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pFriedhof] == 1)return SendClientMessage(playerid,GRAU,"Du bist Tot.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    if(WahlenOffen == 0)return SendClientMessage(playerid, GRAU, "Es sind keine Wahlen offen.");
    new string[612],count;
    for(new p=1;p<MAX_PARTEI;p++)
    {
    if(PartInfo[p][ParteiCreatet] != 0 && PartInfo[p][ParteiAusgeschlossen] == 0)
    {
    format(string,sizeof(string),"Partei: %s | Gründer: %s\n%s",PartInfo[p][ParteiName],PartInfo[p][ParteiOwner],string);
    ShowPlayerDialog(playerid,DIALOG_PARTEIWAEHLEN,DIALOG_STYLE_LIST,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Parteien",string,"Verlassen","");
    count++;
    }
    }
    if(count == 0)return SendClientMessage(playerid, GRAU, "Es existieren keine Parteien zum wählen.");
    return 1;
    }



    Dialog:

    case DIALOG_PARTEIWAEHLEN:
    {
    new string[128], query[128];
    if(response == 0)
    {
    return 1;
    }
    else
    {
    for(new p=1;p<MAX_PARTEI;p++)
    {
    if(Spieler[playerid][pParteiGewaehlt] == 1)return SendClientMessage(playerid, GRAU, "Du hast bereits eine Partei gewählt.");
    Spieler[playerid][pParteiGewaehlt] = 1;
    PartInfo[p][ParteiStimmen]++;
    format(string,sizeof(string),"Du hast für die Partei '%s' gewählt.",PartInfo[p][ParteiName]);
    SendClientMessage(playerid,WEISS,string);
    format(query,sizeof(query),"UPDATE "#SQL_TAG"_partei SET ParteiStimmen = %d WHERE ParteiName= '%s'",PartInfo[p][ParteiStimmen],PartInfo[p][ParteiName]);
    mysql_function_query(MySqlConnection,query,false,"","");
    return 1;
    }
    }
    return 1;
    }

    Hey, ich bin gerade dabei ein Wahlsystem für Parteien zu machen.
    Leider ist mir ein Fehler unterlaufen:
    Im Dialog, wenn ich eine Partei wählen möchte, kann ich immer nur die Partei mit der ID 1 wählen. Und das ist egal, welches ich anklicke.
    Jeffry: :love:
    Befehl:



    COMMAND:wahl(playerid,params[])
    {
    #pragma unused params
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pFriedhof] == 1)return SendClientMessage(playerid,GRAU,"Du bist Tot.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    if(WahlenOffen == 0)return SendClientMessage(playerid, GRAU, "Es sind keine Wahlen offen.");
    new string[612],count;
    for(new p=1;p<MAX_PARTEI;p++)
    {
    if(PartInfo[p][ParteiCreatet] != 0 && PartInfo[p][ParteiAusgeschlossen] == 0)
    {
    format(string,sizeof(string),"Partei: %s | Gründer: %s\n%s",PartInfo[p][ParteiName],PartInfo[p][ParteiOwner],string);
    ShowPlayerDialog(playerid,DIALOG_PARTEIWAEHLEN,DIALOG_STYLE_LIST,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Parteien",string,"Verlassen","");
    count++;
    }
    }
    if(count == 0)return SendClientMessage(playerid, GRAU, "Es existieren keine Parteien zum wählen.");
    return 1;
    }



    Dialog:

    case DIALOG_PARTEIWAEHLEN:
    {
    new string[128], query[128];
    if(response == 0)
    {
    return 1;
    }
    else
    {
    for(new p=1;p<MAX_PARTEI;p++)
    {
    if(Spieler[playerid][pParteiGewaehlt] == 1)return SendClientMessage(playerid, GRAU, "Du hast bereits eine Partei gewählt.");
    Spieler[playerid][pParteiGewaehlt] = 1;
    PartInfo[p][ParteiStimmen]++;
    format(string,sizeof(string),"Du hast für die Partei '%s' gewählt.",PartInfo[p][ParteiName]);
    SendClientMessage(playerid,WEISS,string);
    format(query,sizeof(query),"UPDATE "#SQL_TAG"_partei SET ParteiStimmen = %d WHERE ParteiName= '%s'",PartInfo[p][ParteiStimmen],PartInfo[p][ParteiName]);
    mysql_function_query(MySqlConnection,query,false,"","");
    return 1;
    }
    }
    return 1;
    }

    Hab mich mal mit einem CS:GO Edit gewagt! :]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    "Ohne Fleiß, kein (P)reis"
    Im englischem sowie deutschem SA:MP Forum wirst du deine nötigen Ressourcen finden. :)
    Und wenn es um MySQL oder sowas geht, dann guck' einfach in den Includes nach. Dort befindet sich auch öfters die Version von den Plugins usw.

    Okay, der Fehler tretet bis jetzt nicht mehr auf. Eins würde ich aber noch fragen:
    "Ansonsten solltest du die Länge des Debug Ausgabe im MySQL Plugin erhöhen [...]" Wie soll das gehen, wenn ich fragen darf?

    Ich Idiot, gerade germerkt, dass ich auch noch was vergessen habe... :D


    Es trat ein neuer Fehler auf, @Mencent:

    Code
    CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE UID = '0'' at line 1
     CMySQLResult::GetRowDataByName() - invalid row index ('0')
     cache_get_field_content_int - invalid datatype

    Hey, ich habe in meinen MySQL Logs folgendes gefunden und wollte wissen, was das Problem ist..:

    SQL
    [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [ERROR] cache_get_field_content_int - invalid datatype
    
    
    oder 
    [14:50:08] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Owned = 0,Locked = 0,Price = 0,PosX = 0.000000,PosY = 0.000000,PosZ = 0.000000,I' at line 1


    Hier schon mal die UPDATE server_properties_furnitures

    Folgende Warnings:


    Code
    warning 219: local variable "modelid" shadows a variable at a preceding level
    warning 219: local variable "modelid" shadows a variable at a preceding level


    Zeilen

    public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
    public OnPlayerSelectDynamicObject(playerid, objectid, modelid, Float:x, Float:y, Float:z)

    Schon wieder n' kleines Problem.
    Der Name im Label wird nicht angezeigt..



    3DLabel
    -
    format(ltext,128,"Garage von "#SERVERFARBE"%s "#HTML_WHITE"\nStatus: %s",SpielerName(gInfo[gid][Owner]),GetLockedStatus(gInfo[gid][Locked]));
    garageLabel[gid] = CreateDynamic3DTextLabel(ltext, WEISS, gInfo[gid][PosX],gInfo[gid][PosY],gInfo[gid][PosZ]+0.1,DD);


    SpielerName
    -
    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Wo Owner steht:
    -
    enum garageInfo{
    Owner[24],
    ...
    }


    Und wie der Name geladen wird:
    -
    for(new i = 0; i <= rows; i++)
    {
    gInfo[i][Owner] = cache_get_field_content(i,"Owner",gInfo[i][Owner],MySqlConnection);
    ...
    }

    Kleenes Problem.. wieder.. :D
    Ich wüsste jetzt nicht, was das Problem wäre.. D:




    Der Fehler:
    C:\Users\Atef Aloui\Desktop\Westside Stories\Serverskript\gamemodes\ws_selfmade.pwn(5187) : error 035: argument type mismatch (argument 3)


    Die Zeile:
    gInfo[i][Owner] = cache_get_field_content(i, "Owner",MySqlConnection);


    //Owner ist eine Spalte, wo der Name gespeichert bzw. geladen wird. Ich sah, dass "cache_get_field_content_int" dort stand. Aber es ist ja kein Integer sondern ein Name. Also Textausgabe.

    Öh, kleines Problem.
    Ich kriege einen Print etwa hundert mal ausgegeben, obwohl ich den eig. nur einmal brauche..



    public LoadGarages()
    {
    garageCount = 0;
    new rows, fields;
    cache_get_data(rows, fields);
    for(new i = 0; i <= rows; i++)
    {
    gInfo[i][Owner] = cache_get_field_content(i, "Owner",gInfo[i][Owner],MySqlConnection);
    gInfo[i][Owned] = cache_get_field_content_int(i, "Owned", MySqlConnection);
    ---
    }
    printf("SERVER » Garagen geladen %d/%i",garageCount-1,MAX_GARAGES);
    return 1;
    }


    Wo ich denke, was das Problem verursacht:
    for(new i = 0; i<MAX_GARAGES; i++){
    mysql_function_query(MySqlConnection, "SELECT * FROM `"#SQL_TAG"_garages` ORDER BY UID ASC", true, "LoadGarages", "", "");
    }