Beiträge von Goldkiller

    Erklär mir mal was es bringt,denn Bangrund in der PVar zu speichern.
    Du glaubst doch nicht,dass die PVars bestehen, wenn der Spieler den Server verlässt 0o.


    Den Grund musst du irgendwo extern speichern. Sprich, irgendwo in den "scriptfiles" oder ähnliches.

    Oder auch nicht.
    Der String ist viel zu klein um über format alles abzuspeichern..

    Zitat

    [15:21:05] CMySQLHandler::Query(INSERT INTO hauser (Besitzer, ax, ay, az, ix, iy, iz, interior, virtual_world, kosten, nicht_zum_kauf, verschlossen, Heal, Armour) VALUES ('Keiner', '1497.109008', '-687.997863', '95.563308', '225.662399', '1022.534484', '1084.014526', '7', '100', '100000) - An error has occured. (Error ID: 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 ''100000' at line 1)


    Du siehst dort 10 Werte.
    VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d')
    Du willst aber 14 speichern.

    Oh man, Grundlagen ?
    CreateHaus(Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour]);


    Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour]
    Das sind bestimmt keine Arrays / Strings. Ich nehme an entweder Float-Werte oder normale Integers.
    Im Funktionskopf sind bei dir aber ALLES Arrays / Strings.
    stock CreateHaus(besitzer2[], ax2[], ay2[], az2[], ix2[], iy2[], iz2[], interior2[], vw2[], kosten2[], nichtzumkauf2[], verschlossen2[], heal2[], armour2[])

    Zitat

    Include a_mysql von gstylezz


    Du meinst wohl das Plugin ... Include alleine bringt ja wohl nix.


    Es gibt zu den MySQL Plugins gute Dokumenationen und Beispielscripte, da sollte man schon mal reinschauen,wenn man Hilfe brauch.
    http://wiki.sa-mp.com/wiki/MySQL#mysql_fetch_row_format


    mysql_query("SELECT * FROM players WHERE name='Myname'");
    mysql_store_result(); new resultline[200];

    if(mysql_fetch_row_format(resultline))
    //you can now use sscanf, explode, split or strtok to split result
    sscanf(resultline,"p<|>dds",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pRandomString]);
    }
    else SendClientMessage(playerid,0xFFFFFF,"Not in database!");

    mysql_free_result();
    Zusammen mit http://wiki.sa-mp.com/wiki/MySQL#mysql_retrieve_row
    mysql_query("SELECT * FROM houses");
    mysql_ store_result();

    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
    }

    mysql_free_result();
    Das Beispiel ist selbsterklärend.

    Meinst du es wäre nicht von Vorteil für dich zu sagen,welches MySQL Plugin du benutzt?


    Was du brauchst ist eine Funktion,die immer in die nächste Zeile deiner Datenbank Tabelle springt und sie falls vorhanden ausließt.
    Dafür dürfte mysql_fetch_row( <store_string> ) sehr nützlich.

    Bevor ich es wieder vergesse, hier eine kleine Änderung zu gPM.


    Zitat

    * Changelog:
    * 1.2 :
    * - Userschutz hinzugefügt
    * - Texte komplett in Deutsch geändert
    * - Diverse Kleinigkeiten


    Nenneswert ist eigentlich nur der Userschutz. Das Menu öffnet sich jetzt nur noch,falls der Spieler auch mit dem Useraccount eingeloggt wurde.
    Das einloggen wird von eurem Script verwaltet, gPM ruft lediglich eine Funktion in eurem Script auf,die ihr allerdings zuerst noch einfügen müsst.
    Ich zitier einfach mal aus der readme.txt.


    Also einfach an euer Script anpassen und neu kompilieren.


    Download gibts hier, ansonsten auch alles im Ersten Post:
    gPM.zip




    //Edit:


    Eine Sache die ich für mich von Anfang an einfügen wollte es aber bisher nicht gemacht hatte, kommt demnächst. Wahrscheinlich nicht so spannend für die meisten, aber trotzdem einen Blick wert :P.

    Versenden von Nachrichten an mehrere Benutzer gleichzeitig.

    ICh würde sowas ungern über ein Bot lösen ein Bouncer könnte man sich noch vorstellen doch ist dann die IP frage ungeklärt. Es schaut noch für mcih so aus das da kein eigenständiger Client includet ist sondern eher nur die Kommunikation zwischen Bot und Ingame ermöglicht wird.


    So ist es ja auch.

    Zitat

    Wo ich nicht all zu doll begeistert bin. Es wäre interesannter wenn man sa-mp mit einem IRC Client ausstatten könnte und so die Komunikation zu ermöglichen


    Was willst du denn über den IRC anstellen ? Ich kann mir nicht vorstellen,was ich über das IRC Plugin nicht machen könnte.

    Ist natürlich auch möglich.
    Müsstest nur schauen,ob es Ingame ebenfalls einen Spieler gibt,der so heisst. Dann könntest mit dieser Funktion von ihm aus dem IRC eine INGAME Nachrichten senden.
    SendPlayerMessageToAll


    Zitat

    Bot:<username> <nachricht>


    Der Bot selber schreibt nix Ingame. Er ist nur im IRC, man könnte ihn mit SendClientMessage imitieren.

    Zitat

    Doch mal angenommen das wir mehr wie 5 leute haben die das IRC nutzen, welche IP kommt beim IRC an, die des Servers oder die des Clients?


    Ehm... die des Clients. Die Frage kommt mir aber etwas komisch formuliert vor. Der Client schreibt die Nachricht und sendet sie an den IRC Channel. Im Channel ist der Bot.
    Der Bot bzw das IRC Plugin registriert,welcher Username den Text geschrieben hat.Es ist nur ein Name aus dem IRC Channel. Das Plugin registriert nur was im IRC Channel vor sich geht, Änderung usw.
    Dadurch dass du z.B. eine Änderung kennst,z.B. dass eine Nachricht geschrieben wurde, kannst du sie weiter geben an den SA:MP Chat.
    Nach dem Motto.
    OnIRCText( name[] , channel[] , nachricht[] ) {
    SendClientMessageToAll( COLOR_WHITE , " <name> : <nachricht>");
    }


    Zitat

    Ach und verschieb das mal in den Smaltalk :D hier wird denke ich eh kein pawn code kommen


    Quatsch :P Lassen wir hier. Macht sich besser zwischen den vielen "27 Errors" Themen ;D.

    Zitat

    So wie ich das da nun verstanden habe wäre dies nur per Bot möglich. Die Bridge müsste ja mich auch Ingame anmelden damit ich auch vom IRC den Ingamechat erreiche


    Dich Ingame anmelden ? Wäre auch möglich,musst es halt nur scripten.
    Das Plugin verbindet ja nur den IRC Server mit dem SA:MP Server indem dort ein Bot eintritt. Was du damit anstellen kannst,bleibt dir überlassen.


    Zitat

    Also wäre damit das Chatten zwischen IRC und Game möglich auch wenn der User nur im IRC Online ist?


    Klar. Verwende sowas schon seit Jahren, beispielweise um auch aus dem IRC zu kicken / bannen :P.

    Was soll uns die Log sagen ? Nichts.
    Füg doch mal Debugnachrichten bei OnPlayerConnect ein,um zu sehen,bis wo das Script läuft.
    public OnPlayerConnect(playerid) {
    printf("GAMEMODE OnPlayerConnect #1");
    // Anweisungen
    printf("GAMEMODE OnPlayerConnect #2");
    // Anweisungen
    printf("GAMEMODE OnPlayerConnect #3")
    // Anweisungen
    printf("GAMEMODE OnPlayerConnect #4");
    // Anweisungen
    return 1;
    }
    Du musst nach und nach den Fehler suchen. Wenn du das gemacht hast,zeigst die Log + den Quellcode zu OnPlayerConnect. Eigentlich solltest du damit den Fehler schnell selber finden.

    Selbst wenn dort was steht,

    Zitat

    UPDATE `accounts` SET `id`='id' WHERE `id`='%d'


    Das macht auch gar keinen Sinn.
    Schreibe in die Spalte die "ID" Heisst den Wert "ID" , dort wo "ID" die Zahl <X> ist .
    MYSQL Lesen ...


    //Edit:
    Ich glaube du kannst auch kaum in die Spalte "ID" selber schreiben,wenn sie sowieso ein auto_increment hat.

    Wie müsste

    Zitat

    UPDATE `Haus` SET `Blub`='Miep' WHERE `ID`='%d'

    bei dir aussehen ?
    Keine Ahnung,du hast hier nicht gepostet,wie deine Tabellenstruktur ist. Da wird hier auch kein SQL Forum sind und du anscheindend nicht sooo den Überblick über SQL hast,schau dir lieber mal Anleitungen zu SQL oder MYSQL an.



    UPDATE `Haus` // Welche Tabelle ? Haus
    SET `Blub`='Miep' // Welche Tabellenspalte auf was setzen ? Spalte 'Blub' wo 'Miep' setzen
    WHERE `ID`='%d' // Und in welcher Zeile wollen wir das ganze machen ? Dort wo ID <X> ist.

    Nicht verstanden ? Auch kein Problem, es gibt genug Foren die sich mit SQL bzw MYSQL beschäftigen ;).

    Die Beispiele stimmen nicht :p.


    SetInfo(Player[playerid][A_LEVEL], ADMIN, true); // ADMIN-Bit auf 1 (0x1 == 1)
    SetInfo(Player[playerid][A_LEVEL], SMOD, true); // SMOD-Bit auf 1 (0x10 == 1)
    SetInfo(Player[playerid][A_LEVEL], MOD, true); // MOD-Bit auf 1 (0x11 == 1)
    0x11 ist nicht 0b11.
    0x11 ist Hexadezimal und die Zahl 17.
    0b11 ist Binäir und die Zahl 3.


    http://pastebin.com/nk1fpCLT
    Wieso kann man bei 32 Bits nur 31 Bits für Ja/Nein benutzen :\ ?


    Irgendwie glaub ich dir deswegen auch nicht wirklich,dass die Funktionieren von dir kommen^^.
    Trotzdem nett :P.

    Jop.


    Das hab ich so genommen, als wenn du willst, das da was steht


    Sätze ließt man bis zum Ende,damit man den kompletten Zusammenhang dahinter versteht.
    Schade das du keine Stellung zu "Also etwas von Pawn sollt man schon verstehen befor man son isst postet " nimmst,aber das ist ja dir überlassen.


    Jop.


    Richtig erfasst :)


    Die sind immernoch vorhanden, behoben hast du sie vllt bei dir,die verlinkten Quellcodes sind immernoch Fehlerhaft.


    Zitat

    Hast du ne Idee was ich noch so kleines Machen könnt?


    Weitere Fehler fixen.Ich geb dir mal einen Tipp wo noch ein Fehler ist:
    Erstellst du eine neue Frage,werden die alten Votes mitgezählt.

    Zitat

    Also etwas von Pawn sollt man schon verstehen befor man son isst postet


    Dann würde ich dir empfehlen,den Thread sofort zu löschen. Dreist sowas zu schreiben wenn du doch derjenige bist,der die offensichtlichen Fehler macht.


    Zitat

    Sonderzeichen:
    DIALOG_VSTATS zeigt ja nur an wieoft ja und wieoft nein gedrückt wurde! Da muss nix in OnDialogResponse rein!


    Hab nichts Anderes behauptet.

    Zitat

    Goldkiller:
    Es gibt zu DIALOG_VSTATS keine Abfrage in OnDialogResponse,daher ist der Text falsch.Zusätzlich noch Rechtschreibfehler "Frae"


    Zitat

    Sonderzeichen:
    Aso: Zu ongamemodeexit. Ich arbeite so. Ich hab mir ne VOrlage gemacht. Und ich mache nicht alles für einen kleinen Mann der hier extrawünsche hat anders. Da ist definiert: #define FILTERSCRIPT und dann if defined filterscript dann OnFilterscriptInit und exit. Wenn nicht das auslasen und dafür ongamemodeinit und exit nehmen!


    Das stimmt soweit,nur musst du dann auch die Bereiche richtig markieren ...


    #define FILTERSCRIPT
    #if defined FILTERSCRIPT <---------------------------------------------------------


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Votingsystem by Sonderzeichen");
    print("--------------------------------------\n");
    return 1;
    }

    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public OnFilterScriptExit()
    {
    return 1;
    }

    #else <---------------------------------------------------------

    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }

    #endif <---------------------------------------------------------
    // Alles ab hier wird IMMER kompiliert.
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public OnGameModeInit()
    {
    //Du darfst das hier nicht benutzen, wenn du ein Filterscript erstellst!
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }

    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public OnGameModeExit()
    {
    return 1;
    }

    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }



    Spar dir also dein "Also etwas von Pawn sollt man schon verstehen befor man son isst postet" das nächste mal, wenn du meinst mich mit sowas zu belehren 0o.