Beiträge von KazutoSensei

    Also, hier mein Feedback.
    Ich komme auf den "Blog" *hust*, klicke Neuigkeiten an und werde auf einer Seite mit folgenden weitergeleitet.

    Zitat

    skdlsldkkfl

    Dann geh ich nochmal zurück und lese mich durch deine Informationen.
    Also ich mache Leute deshalb eig nicht schlecht, da ich selber in Rechtschreibung nicht die Nummer 1 bin,
    aber erkläre mir mal das bitte >.>

    Zitat

    Heute zeige ich euch wie ihr Vermeidet das ihr einen Alltägigen Server erstellt.

    oder auch hier ergibt der Satz nur Sinn, wenn man ihn sich richtig vorstellt.

    Zitat

    Achte bitte darauf das ihr, falls ihr auf einer Plattform Werbt, achtet auf eine gute Werbung.


    Zitat

    Ein Server zu leiten kann Teuer werden, bei vieler benutzung kann es bestimmt auf 100€ / Monat sich belaufen.

    Also ich weiß, dass ein Server teuer werden kann, aber 100€ ???
    Ich glaube mehr brauche ich nicht schreiben, die Idee ist zwar sehr nett, doch ist das nicht mehr normal. Ich bin da wie oben erwähnt eig nicht so, aber das? Ne, danke, trotzdem viel Glück.

    1549.5000000,-1627.5999800,15.3200600-13 Da ist dein Fehler, mit -13 an der z-Koordinate versetzt du es nach unten,
    wenn du aber -13 an der y-Koordinate setzt, dann sollte es sich nach Links bewegen. Also so.
    1549.5000000,-1627.5999800-13,15.3200600

    Das würde auch nicht gehen. Denn das LSPD Tor ist ja nicht gleich GateID -> 1.
    Also müsste ich ja das Tor erst als GateID -> 1 abspeichern, das würde aber als Datenbank verbrauch enden
    oder verstehe ich gerade was falsch?

    Hallo, ich möchte gerne, dass das Tor sich nach 5 Sekunden schließt, das funktioniert auch,
    doch ich denke, dass es eine einfachere Lösung dafür gibt, als jedem mal ein public + forward zu erstellen.
    Weiß einer von euch, wie man dies noch einfacher gestalten kann?


    So sieht mein Code bisher aus.
    forward CloseLspdTor();
    public CloseLspdTor()
    {
    MoveObject(tor[0],1587.5, -1637.9, 14.9,3);
    }
    tor[0]=CreateObject(2990, 1587.5, -1637.9, 14.9, 0, 0, 180); // Tor
    ocmd:lspdg(playerid,params[])
    {
    if(SpielerInfo[playerid][Fraktion]>0 && SpielerInfo[playerid][Fraktion]<4) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(!IsPlayerInRangeOfPoint(playerid,10,1587.5, -1637.9, 14.9)) return SendClientMessage(playerid,Grey,"Du bist nicht in der Reichweite des LSPD Tores.");
    MoveObject(tor[0],1587.5, -1637.9, 14.9-10,5);
    SendClientMessage(playerid,-1,"Das Tor schließt in 5 Sekunden automatisch.");
    SetTimer("CloseLspdTor",5000,0); // CloseLspdTor
    return 1;
    }

    Ich bitte euch mich für sein Thread hier zu entschuldigen.
    Er hat bezüglich eines Missverständnisses dieses Thread geöffnet,
    da er helfen wollte, ich bitte euch dieses Thread einfach abzuhacken.


    Mit freundlichen grüßen
    Panzerkampfwagen Tiger

    Wir suchen derzeit keinen Scripter mehr, doch sollte dennoch die Interesse bestehen,
    scheut euch nicht euch bei uns zu melden. TeamSpeak sind wir zu 99% erreichbar.
    Des weiteren würden wir uns über Feedback bezüglich der Anfrage freuen.


    PS: Im TeamSpeak seht ihr nichts sofort, wartet also bis ich euch ziehe und schreibt mir hier eine PN.

    // MySQL
    #define db_host "127.0.0.1"
    #define db_user "root"
    #define db_pass ""
    #define db_data "abc"


    new dbhandle;
    forward OnUserCheck(playerid);
    forward OnPasswordResponse(playerid);
    // MySQL


    enum SpielerDaten
    {
    sID,
    sLevel,
    sGeld,
    EXP,
    Job,
    JobSkill,
    Fraktion,
    FraktionRank,
    Adminlevel,
    Banned,
    TimeBan,
    isLoggedIn,
    };


    new SpielerInfo[MAX_PLAYERS][SpielerDaten];


    public OnGameModeInit()
    {
    UsePlayerPedAnims();
    DisableInteriorEnterExits();


    SetGameModeText("Old School Roleplay v.0.1");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

    // MySQL
    dbhandle = mysql_connect(db_host,db_user,db_data,db_pass);
    return 1;
    }


    public OnGameModeExit()
    {
    mysql_close(dbhandle);
    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);


    new query[256];
    format(query,sizeof(query),"SELECT id FROM accounts WHERE username='%s'",pName(playerid));
    mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    ResetPlayer(playerid);
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new query[256], passwort[28];
    if(strlen(inputtext)>3)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO accounts (username,password) VALUES ('%s','%s')",pName(playerid),passwort);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid,LightGreen,"Ihr Passwort wurde akzeptiert, bitte merken Sie es sich gut.");
    SpielerInfo[playerid][sLevel] = 1;
    SetPlayerScore(playerid,SpielerInfo[playerid][sLevel]);
    SpielerInfo[playerid][sGeld] = 10000;
    GivePlayerMoney(playerid,SpielerInfo[playerid][sGeld]);
    SpawnPlayer(playerid);
    }
    else
    {
    SendClientMessage(playerid,Red,"Ihr Passwort ist nicht lang genug, bitte verwenden Sie min. 4 Zeichen.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Bitte geben Sie Ihr Passwort ein.","Registration","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    new query[256], passwort[28];
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM accounts WHERE username='%s' AND password='%s'",pName(playerid),passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswortResponse","i",playerid);
    SendClientMessage(playerid,LightGreen,"Ihr Passwort wurde akzeptiert, Sie wurde nun eingeloggt.");
    SpawnPlayer(playerid);
    }
    else
    {
    SendClientMessage(playerid,Red,"Sie haben ein falsches Passwort eingegeben, bitte versuchen sie es erneut.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte geben Sie Ihr Passwort ein.","Login","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }


    public OnUserCheck(playerid)
    {
    new num_rows, num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Bitte geben Sie Ihr Passwort ein.","Registration","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte geben Sie Ihr Passwort ein.","Login","Abbrechen");
    }
    return 1;
    }


    public OnPasswordResponse(playerid)
    {
    new num_rows, num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    SpielerInfo[playerid][isLoggedIn] = 1;
    SpielerInfo[playerid][sLevel] = cache_get_field_content_int(0,"level",dbhandle);
    SetPlayerScore(playerid,SpielerInfo[playerid][sLevel]);
    SpielerInfo[playerid][sGeld] = cache_get_field_content_int(0,"geld",dbhandle);
    SetPlayerMoney(playerid,SpielerInfo[playerid][sGeld]);
    SpielerInfo[playerid][EXP] = cache_get_field_content_int(0,"exp",dbhandle);
    SpielerInfo[playerid][Job] = cache_get_field_content_int(0,"job",dbhandle);
    SpielerInfo[playerid][JobSkill] = cache_get_field_content_int(0,"jobskill",dbhandle);
    SpielerInfo[playerid][Fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
    SpielerInfo[playerid][FraktionRank] = cache_get_field_content_int(0,"fraktionrank",dbhandle);
    SpielerInfo[playerid][Adminlevel] = cache_get_field_content_int(0,"adminlevel",dbhandle);
    SpielerInfo[playerid][Banned] = cache_get_field_content_int(0,"banned",dbhandle);
    }
    else
    {
    SendClientMessage(playerid,Red,"Sie haben ein falsches Passwort eingegeben, bitte versuchen sie es erneut.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte geben Sie Ihr Passwort ein.","Login","Abbrechen");
    }
    return 1;
    }


    stock ResetPlayer(playerid)
    {
    SpielerInfo[playerid][sLevel] = 0;
    SpielerInfo[playerid][sGeld] = 0;
    SpielerInfo[playerid][EXP] = 0;
    SpielerInfo[playerid][Job] = 0;
    SpielerInfo[playerid][JobSkill] = 0;
    SpielerInfo[playerid][Fraktion] = 0;
    SpielerInfo[playerid][FraktionRank] = 0;
    SpielerInfo[playerid][Adminlevel] = 0;
    SpielerInfo[playerid][Banned] = 0;
    SpielerInfo[playerid][TimeBan] = 0;
    return 1;
    }


    stock SavePlayer(playerid)
    {
    new query[256];
    format(query,sizeof(query),"UPDATE accounts SET level='%i', geld='%i', exp='%i', job='%i', fraktion='%i', fraktionrank='%i', adminlevel='%i', banned='%i', timeban='%i' WHERE username='%s'",SpielerInfo[playerid][sLevel],SpielerInfo[playerid][sGeld],SpielerInfo[playerid ][EXP],SpielerInfo[playerid][Job],SpielerInfo[playerid][Fraktion],SpielerInfo[playerid][FraktionRank],SpielerInfo[playerid][Adminlevel],SpielerInfo[playerid][Banned],SpielerInfo[playerid][TimeBan],pName(playerid));
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    Mein Problem ist, dass das Passowrt z.B. 123456 nicht ausgelesen wird, ich kann nach dem erstellen und neu connecten 123 eingeben und es geht trotzdem und selbst wenn ich es richtig eingebe lädt er nicht alles aus was gespeichert wurde.
    Ich habe mehrmals rüber geschaut und vieles versucht, doch es klappt einfach nicht. MySQL.log git auch keine Errors wieder, er lädt einfach nur nicht richtig.


    MfG


    Das zweite [3] sorgt dafür, damit wird die Länge einer Reihe definiert. Sprich 3 Einträge X,Y und Z wäre das in diesem Fall.


    Eine neue Position, kannst du einfach darunter schreiben in der Variable, so wie ich es gemacht habe ^^


    mfg. :thumbup:


    Meinst du das?


    Wenn ja, dann denke ich, dass ich es verstanden habe, die [3] <-- steht für x, y, z die dann dort mit [i][0] 1 mal [i][1] 2 mal usw. abgerufen werden, richtig?


    Wie definiere ich die Koordinaten und was ist das 2te [] ? die Zahl da drinne?

    Ich habe 3 Tankstellen in LV zum Beispiel, doch damit ich nicht tausend mal /tanken machen muss oder den Befehl vollspamme,
    will ich sie vorher definieren, das /tanken alle diese Koordinaten erreicht und abruft, verstehst du, dass so gesehen an all diesen Punkten /tanken geht.

    enum TankKoordinaten
    {
    2114.4126,928.6173,10.5474,
    2115.1919,922.9832,10.5474,
    2114.7725,917.8232,10.5474,
    2115.0771,911.6562,10.5474,
    2639.7839,1098.0349,10.5474,
    2639.5811,1103.5743,10.5474,
    2639.9871,1108.9187,10.5474,
    2639.6855,1114.6630,10.5474,
    2194.1582,2474.6921,11.0082,
    2199.8157,2475.2302,11.0145,
    2205.0735,2474.8633,11.0137,
    2210.7324,2475.4531,11.0077
    };


    new TankKords[MAX_PLAYERS][TankKoordinaten];Ich will die Tankstellen Punkte zum tanken abspeichern damit ich sie leicht abrufen kann, geht das nicht über enum?
    Die Errors sind hier drunter zu finden.
    (59) : error 001: expected token: "-identifier-", but found "-rational value-"
    (71) : error 010: invalid function or declaration
    (1224) : warning 203: symbol is never used: "TankKords"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Bei mir speichert er auch nicht X(
    stock SavePlayer(playerid)
    {
    new query[128];
    format(query,128,"UPDATE `accounts` SET `level`='%i', `geld`='%i', `exp`='%i', `job`='%i', `fraktion`='%i', `fraktionrank`='%i', `adminlevel`='%i', `banned`='%i', `timeban`='%i' WHERE name = '%s'",SpielerInfo[playerid][sLevel],SpielerInfo[playerid][sGeld],SpielerInfo[playerid][EXP],SpielerInfo[playerid][Job],SpielerInfo[playerid][Fraktion],SpielerInfo[playerid][FraktionRank],SpielerInfo[playerid][Adminlevel],SpielerInfo[playerid][Banned],SpielerInfo[playerid][TimeBan],pName(playerid));
    return mysql_function_query(dbhandle,query,false,"","");
    }
    mysql.log
    [20:54:42] [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 '' at line 1
    [20:55:42] [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 '' at line 1

    Das ist sehr hilfreich.
    So sieht mein Code gerade aus.
    ocmd:admins(playerid,params[])
    {
    new text[128];
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    format(text,sizeof(text),"%s\n%s ID -> %i",text,pName(SpielerInfo[i][Adminlevel]>0),i);
    ShowPlayerDialog(playerid,DIALOG_SHOWADMINS,DIALOG_STYLE_MSGBOX,"Alle verfügbaren Admins",text,"Fertig","");
    }
    return 1;
    }
    Ich kann Screen machen bei bedarf, da er mich 8 mal wieder holt, da sieht dann so aus.


    ID -> 0
    Tiger ID -> 1
    Tiger ID -> 2
    Tiger ID -> 3
    Tiger ID -> 4
    Tiger ID -> 5
    Tiger ID -> 6
    Tiger ID -> 7
    Tiger ID -> 8

    Da wiederholt er mich 8 mal und setzt immer eine ID + 1