Beiträge von Housefrau

    Naja den halben Script umzuwerfen war jetzt weniger mein Plan :D


    Kommt man noch an die alten Plugins und Includes ran? Ich würde den Server nämlich gerne unter Linux nutzen.



    // Über die SuFu kommt man an einige Mirrors dran. Script lässt sich wieder kompilieren. Hoffe nur das ich noch das richtige Plugin für Linux finde. :rolleyes:


    Danke an lovelins12!

    Mahlzeit,


    ich habe eben die neuesten Plugins und Includes des MySQL-Plugins von BlueG heruntergeladen.


    Nachdem ich meinen Script neu kompilieren wollte, springen mir diese Fehler ins Gesicht:


    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(646) : error 025: function heading differs from prototype
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1790) : error 035: argument type mismatch (argument 1)
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1791) : error 017: undefined symbol "mysql_store_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1792) : error 017: undefined symbol "mysql_retrieve_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1794) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1795) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1798) : error 017: undefined symbol "mysql_free_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1919) : error 035: argument type mismatch (argument 1)
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1920) : error 017: undefined symbol "mysql_store_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1921) : error 017: undefined symbol "mysql_retrieve_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1923) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1926) : error 017: undefined symbol "mysql_free_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1934) : error 035: argument type mismatch (argument 1)
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1935) : error 017: undefined symbol "mysql_store_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1936) : error 017: undefined symbol "mysql_retrieve_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1938) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1941) : error 017: undefined symbol "mysql_free_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1974) : error 035: argument type mismatch (argument 1)
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1975) : error 017: undefined symbol "mysql_store_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1976) : error 017: undefined symbol "mysql_retrieve_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1978) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1979) : error 017: undefined symbol "mysql_fetch_field_row"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(1982) : error 017: undefined symbol "mysql_free_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(2967) : error 035: argument type mismatch (argument 1)
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(2968) : error 017: undefined symbol "mysql_store_result"
    D:\SA-MP 0.3d\gamemodes\Medic4.pwn(2969) : error 017: undefined symbol "mysql_retrieve_row"


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    26 Errors.


    Ich habe sonst nichts an dem Script verändert. Leider kann ich mir beim besten Willen nicht erklären, warum er mir diese Meldungen raushaut.



    Hoffe ihr könnt mir helfen.




    PS: Man sollte vielleicht noch erwähnen, dass die bisher genutzten Includes und Plugins noch vor mindestens 1 Jahr stammen. :rolleyes:

    Ich weiß nicht genau wie du dir das vorstellst.


    Du musst abfragen, in welches Auto du einsteigst (GetPlayerVehicleID) und dann überprüfen ob der Name zur ID passt.


    Vorher musst du logischerweise festlegen, welches Auto welche ID hat und welche ID zu welchen Namen zugeordnet werden soll.

    Mach mal SpawnPlayer(playerid); vor die Abfrage.


    // Sprich:



    new Spawn[256];
    format(Spawn,sizeof Spawn,"hspawn.ini");
    new Float:X, Float:Y, Float:Z;
    X = dini_Float(Spawn, "hspawnx");
    Y = dini_Float(Spawn, "hspawny");
    Z = dini_Float(Spawn, "hspawnz");
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, X, Y, Z);
    SetCameraBehindPlayer(playerid);
    //SetPlayerPos(playerid,hspawnx,hspawny,hspawnz);
    SetPlayerInterior(playerid,0);
    Playerinfo[playerid][pInt] = 0;
    SetPlayerVirtualWorld(playerid,0);
    GivePlayerWeapon(playerid,24,500);
    GivePlayerWeapon(playerid,34,500);
    GivePlayerWeapon(playerid,4, 1);

    Goldkiller:


    Vielen vielen vielen Dank, es geht endlich!


    Ja, hatte bisher nur einen Account in der Tabelle (zum testen eben), aber es funktioniert (auch mit mehreren Accounts).



    Du hast mir echt sehr geholfen, und das System mit dem OnQueryError werd' ich dann auch ab sofort nutzen bevor ich hier anfange zu posten. :)



    Also nochmals Danke!

    // EDIT:


    Hab' eben 'nen ziemlich blöden Fehler entdeckt, bei mysql_query gehört nicht "SELECT Name FROM samp" sondern "SELECT Name FROM accounts" .. :sleeping:



    Jetzt steht im Log folgendes:


    Code
    [11:45:00] debug 1
    [11:45:00] debug 2
    [11:45:00] debug 3
    [11:45:00] debug 4
    [11:45:00]


    Der Dialog wird angezeigt, nur ist der Inhalt leer.

    Dann habe ich wohl die Frage falsch vertanden..
    Er möchte Abfragen ob sich User bei ihm registriert haben und sie sollen gleichzeitig eingeloggt sein oder wie?


    Nein ^^


    Er soll mir einfach nur alle vorhandenen Accounts in der Datenbank auflisten, damit ich diese per Dialog löschen kann etc.



    Leider funktioniert der Code von @Josh_Hunter: auch nicht .. :/

    Hast du einen stock der mysql_CheckAccount heißt?


    Ja;


    stock mysql_CheckAccount(playerid)
    {
    new Query[128],Name[MAX_PLAYER_NAME],count;
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name, Name);
    format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
    mysql_query(Query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    return count;
    }

    @Music4You:


    Es geht ums Prinzip, dass er seinen Gamemode als "Selfmade" ausgegeben hat, obwohl einige viele Teile nur kopiert worden sind.


    Es spricht natürlich nichts dagegen Dinge zu kopieren, aber dann sollte man wenigstens so fair sein und noch dazuschreiben, dass sich kopierte Codes in diesem Script befinden.

    Ich stell' mich irgendwie zu blöd an. Hab' einfach mal alles mögliche probiert und versucht, bis am Ende sowas rauskam:


    mysql_query("SELECT Name FROM samp");
    mysql_store_result();
    new result[512];
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(result,"Name");
    }
    mysql_free_result();
    ShowPlayerDialog(playerid,temp,DIALOG_STYLE_MSGBOX,"Hi",result,"Ok","");


    Leider wird der Dialog nicht angezeigt.. Will mir jemand nochmal einen Denkanstoß geben, damit ich wieder in Ruhe schlafen kann? :sleeping:

    Ich glaub bei Dini geht es nicht, aber bei MySQL könntest du eine While schleife machen.
    z.B
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    //you can use mysql_fetch_field and mysql_fetch_field_row here
    }


    Und daran erkennt man wieder das ich bei MySQL noch ein Einsteiger bin :whistling:


    Hab mich mal durch's Wiki gesucht, aber das mit dem Verstehen hat da doch nich so ganz funktioniert..


    Man muss doch bei [ while(mysql_retrieve_row()) ] bestimmt noch irgendwas hinzufügen oder? Und soll ich dann [ mysql_fetch_field ] oder [ mysql_fetch_field_row ] benutzen?

    Morgen zusammen,


    wollte mal fragen wie ich es am besten löse, dass vorhande Accounts (egal ob über MySQL oder Dini) in einem Dialog aufgelistet werden und man diese seperat für weitere Aktionen auswählen kann (löschen etc.).



    Danke im Voraus.