Beiträge von Oskaar1994

    Habe mir vorhin ein einfaches UCP geholt, was auch soweit funktioniert nur habe ich das Problem ich schaffe es nicht die Passwörter zu unhashen(MD5). Im Gamemode war das ganz einfach aber hier bekomme ich es einfach nicht hin. Hier der Code vom Login Script :
    <?php



    include("config.php"); //including our config.php where is connecting to mysql...
    session_start(); //starting session for profile.php (Dunno how to explain better) look little down
    error_reporting(0); //without this we will always get some stupid notice that variable isn't defined....



    $submit = $_POST['submit']; //variable for submit button, in this variable we save button that player press in <input type='submit' name="submit" value='Login' />....
    $username = sanitize($_POST['username']); //variable for username, in this variable we save text that user type in <input type="text" name="username"....
    $password = sanitize($_POST['password']); //variable for password, in this variable we save text that user type in <input type="password" name="password"....



    if($submit) //if he press submit button
    {
    if($username && $password) //if he type both of username and password not just one of them
    {
    $query = mysql_query("SELECT username,password FROM user WHERE username = '$username'"); //selecting user name and password, change it to your field names, chage users to your table name, $username means username that he type...
    if(mysql_num_rows($query) == 1) //if user exists
    {
    while($row = mysql_fetch_assoc($query)) //loop thought table that we select in mysql_query
    {
    $dbusername = $row['username']; //setting dbusername as variable from table, change 'username' to your field!
    $dbpassword = $row['password']; //setting dbpassword as variable from table, change 'password' to your field!
    }
    if($username == $dbusername && $password == $dbpassword) //if username is same as one from table and if password is the same as one from table...
    {
    $_SESSION['username'] = $dbusername; //setting session username to one from table, this is useful if you login, that restart your browser and than you go in url where is your profile.php... Anyway this is useful :D
    echo header('location: profile.php'); //redirecting user to his profile page (profile.php)
    }
    else echo "Wrong password!"; //else if user type wrong password he will get this...
    }
    else echo "Username doesn't exist!"; //if username doesn't exist in table user will get this
    }
    else echo "Type name and password!"; //else if user doesn't type all fields he will get this...
    }



    ?>







    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Basic UCP</title>
    //here you can add your design (Remove this line)
    <form action='login.php' method='POST'>
    <input type="text" name="username" value='<?php echo $username?>'/>
    <input type="password" name="password"/>
    <input type='submit' name="submit" value='Login' />
    </form>
    </head>
    </html>

    Wie schon im Titel steht, ich suche gerade jemanden für unseren
    Flugserver, der uns ein spezielles Speedometer mit besonderen
    Funktionen(die wir die mitteilen werden) designed. Es soll halt speziell
    für Flugzeuge sein, wir werden dir auch ein Beispiel geben an dem du
    dich orientieren kannst. Es wäre auch praktisch wenn er uns bei einem
    bewegenden Textdraw helfen kann. Über die Bezahlung/Belohnung können wir
    dann reden, wenn sich jemand gefunden hat.
    [Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Statt getdate gettime benutzen.
    Obwohl du am besten auch den timestamp einspeicherst und ned das datum als string.
    Das ganze soll ja für den sever moglichst einfach zu verstehen sein und nicht für den user.


    Danke hat funktioniert :)

    Habe jetzt Timestamp to date benutzt und zwar so :
    TimestampToDate(getdate()+dauer*86400, tyear,tmonth,tday,thour,tminute,tsecond,tGMT,2);
    Habe mich für 30 Tage gebannt, aber in der Datenbank zeigt es als Unbandatum den 29.01.1970 an :D

    Könnte mir noch jemand sagen, was ich hier falsch gemacht habe ?

    Habe jetzt Timestamp to date benutzt und zwar so :
    TimestampToDate(getdate()+dauer*86400, tyear,tmonth,tday,thour,tminute,tsecond,tGMT,2);
    Habe mich für 30 Tage gebannt, aber in der Datenbank zeigt es als Unbandatum den 29.01.1970 an :D

    Hey,
    bin gerade dabei mir ein Time Ban System zu machen habe nur noch etwas Probleme mit der Zeit. Ich gebe meine Zeit in Tagen an. Aber ich will das exakte Datum, wann der Spieler entbannt wird in der Datenbank stehen haben. Nur wie bekomme ich dieses Datum ? Habe mir das so ähnlich vorgestellt:
    Days = die Tage die ich für den Ban angegeben habe
    new Date = getdate + Days;
    Ich weiß, dass es so nicht funktionieren wird, aber es müsste doch so ähnlich gehen oder ?

    Habe ein Problem mit meinem AFK Befehl, immer wenn ich z.B /afk test mache erscheinen gleich beide Nachrichten.
    CMD:afk(playerid, params[])
    {
    new afkstring[128];
    new afkmsg[128];
    new afkname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,afkname,sizeof(afkname));
    if(sscanf(params,"s", afkmsg)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /afk [reason]");
    format(afkstring,sizeof(afkstring),"%s is now AFK - %s",afkname,afkmsg);
    SendClientMessageToAll(COLOR_RED,afkstring);
    SetPVarInt(playerid,"Afkvar",2);

    if(GetPVarInt(playerid,"Afkvar") == 2)
    {
    new afkstring1[128];
    new afkname1[MAX_PLAYER_NAME];
    GetPlayerName(playerid,afkname1,sizeof(afkname));
    format(afkstring1,sizeof(afkstring1),"%s is now back from AFK",afkname1);
    SendClientMessageToAll(COLOR_RED,afkstring1);
    SetPVarInt(playerid,"Afkvar",1);
    }
    return 1;
    }
    Und hatte noch eine Frage, muss ich zwingend mit PVars arbeiten, wenn ich eine Variable nur für einen Spieler setzen will ?
    Also wenn ich z.B das mache, dann ist für alle Spieler Missionstarted = 1 ?
    new Missionstarted;
    CMD:test(playerid, params)
    {
    Missionstarted = 1;
    return 1;
    }

    Du setzt einfach das vorherige und das nachkommende Textdraw zu weiß.


    Angenommen Textdraw 3 wird rot, dann setzt du Textdraw 2 und 4 zu weiß.


    Wird 5 rot, dann wird eben nur 4 weiß, 6 gibt es ja nicht.


    Ist mir nur klar, aber wie mache ich es ? Also ich meine , dass es automatisch wechselt. Nur zum Verständniss es soll immer nur eins rot sein, also immer wenn die höhe wechselt, wechselt die Farbe auch.

    Hey,
    habe mir ein Textdraw erstellt, besser gesagt 5. Es basiert auf der Z Achse. Zum Beispiel wenn ich höher als 10 bin wird das Textdraw 'ILS3' rot gefärbt. Und wenn ich danach dann tiefer als 10 bin, wird ILS4 rot.
    Aber ich will es machen, dass wenn sich ein Textdraw zu rot färbt, soll sich das, das vorher rot war, weiß werden. Wie mache ich das ? Hier mein Code :
    public ILS(playerid)
    {
    PlayerTextDrawShow(playerid,ILS1[playerid]);
    PlayerTextDrawShow(playerid,ILS2[playerid]);
    PlayerTextDrawShow(playerid,ILS3[playerid]);
    PlayerTextDrawShow(playerid,ILS4[playerid]);
    PlayerTextDrawShow(playerid,ILS5[playerid]);
    new Float:ilsX,Float:ilsY,Float:ilsZ;
    GetPlayerPos(playerid,ilsX,ilsY,ilsZ);
    if(ilsZ < 30.8203)
    {
    PlayerTextDrawColor(playerid, ILS5[playerid], COLOR_RED);
    return 1;
    }
    else if(ilsZ < 20.8203)
    {
    PlayerTextDrawColor(playerid, ILS4[playerid], COLOR_RED);
    return 1;
    }
    else if(ilsZ < 10.8203)
    {
    PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_RED);
    return 1;
    }
    else if(ilsZ > 9.8203)
    {
    PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_RED);
    return 1;
    }
    else if(ilsZ > 8.8203)
    {
    PlayerTextDrawColor(playerid, ILS1[playerid], COLOR_RED);
    return 1;
    }
    return 1;
    }
    CMD:ils(playerid, params)
    {
    SetTimer("ILS",500,1);
    return 1;
    }

    Hey,
    bin gerade am überlegen wie ich es mache, abzufragen ob ein Spieler höher als eine bestimmte Z Koordinate ist.
    Habe mir das in etwa so vorgestellt, kann das Funktionieren ?
    stock ILS(playerid)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(Z > 10.0)
    {
    SendClientMessage(playerid,COLOR_RED,"Test1");
    }
    if(Z > 12.0)
    {
    SendClientMessage(playerid,COLOR_RED,"Test2");
    }
    return 1;
    }


    *edit* Habe es gerade einmal ausprobiert, nur habe ich ein Problem. Wenn ich höher als 12.0 zeigt es beide Nachrichten, ich will aber, dass dann nur die zweite angezeigt wird. Wie geht das ?

    Mach doch ein Array und Speicher da die jeweiligen Flughäfen - LV 2x / LS 1x / SF 1x - und deren Luftraum bzw. Zone ab.
    Gehst in einer Schleife das Array durch, checkt in oder ob du über haupt in einer Zone / einem Luftraum bist und listest den jeweiligen Flughafen den du im Array deklariert hast an.


    Aber ich kann mir es trotzdem irgendwie recht schwer vorstellen wie ich es machen soll,dass keine leere Spalte im Dialog ist. Das Problem ist halt ich hab viele Lufträume/Zonen weil ich viele eigen gemappte Flughäfen habe. Könntest du mir ein Beispiel machen wie du es machen würdest ?

    Habe vorhin aus dem Internet eine Stock in mein Script eingefügt und zwar IsPlayerInArea
    IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
    {
    new Float:X, Float:Y, Float:Z;


    GetPlayerPos(playerid, X, Y, Z);
    if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
    return 1;
    }
    return 0;
    }
    Habe jetzt einen Befehl erstellt, der mir immer die Airports in dessen Luftraum ich bin, in einem List Dialog anzeigen soll. Ich weiß nur nicht so recht wie ich es angehen soll den Dialog mit meiner Abfrage zu verbinden.
    Die Abfrage mache ich so:
    if(IsPlayerInArea(playerid,558.9034,402.9891,1963.8745,2086.6130))//Las Venturas Airport Airspace
    {

    }
    Ich weiß zwar wie ich es mache wenn ich nur in einem Luftraum bin, aber ich weiß nicht wie ich es mache wenn sich z.B 4 Lufträume kreuzen.

    Kannst ja mal den Query über die Konsole ausgeben und schauen was raus kommt...
    Gibt es errors von Mysql her? (mysql_debug(1);)


    Sollte eigentlich alles ordnungsgemäß ausgeführt werden, aber in der Datenbank tut sich nichts.
    [15:10:35] [DEBUG] mysql_format - connection: 1, len: 128, format: "UPDATE `vehicles` SET `x` = '%f',`y` = '%f',`z` = '%f',`a` = '%f' WHERE `id` = '%i'"
    [15:10:35] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `vehicles` SET `x` = '1384.882690',`y` = '1422.364258',`z", callback: "(null)", format: "(null)"
    [15:10:35] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
    [15:10:35] [DEBUG] mysql_tquery - scheduling query "UPDATE `vehicles` SET `x` = '1384.882690',`y` = '1422.364258',`z` = '10.831353',`a` = '349.597290' WHERE `id` = '0'"..
    [15:10:35] [DEBUG] CMySQLQuery::Execute[()] - starting query execution
    [15:10:35] [DEBUG] CMySQLQuery::Execute[()] - query was successful
    [15:10:35] [DEBUG] CMySQLQuery::Execute[()] - no callback specified, skipping result saving
    [15:10:35] [DEBUG] CMySQLQuery::Execute[()] - data being passed to ProcessCallbacks()
    [15:10:35] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called

    *edit' Habe jetzt herausgefunden das Problem liegt hier dran : VehInfo[vehicleID][myID]
    Wenn ich stattdessen eine ID aus der Datenbank angebe geht es, ich wüsste leider nicht wie ich das Problem lösen könnte.

    Hey habe mir einen Fahrzeugpositionsspeicher Stock gemacht, aber leider speichert die Position nicht, was habe ich falsch gemacht ?
    stock SaveVehicle(vehicleID) {
    new Float:saveX,Float:saveY,Float:saveZ,Float:saveA;
    new save1,save2;
    GetVehicleColor(vehicleID,save1,save2);
    GetVehiclePos(vehicleID,saveX,saveY,saveZ);
    GetVehicleZAngle(vehicleID,saveA);
    //
    new query[128];
    mysql_format(dbhandle, query, sizeof(query), "UPDATE `vehicles` SET `x` = '%f',`y` = '%f',`z` = '%f',`a` = '%f' WHERE `id` = '%i'",saveX,saveY,saveZ,saveA,VehInfo[vehicleID][myID]);
    mysql_function_query(dbhandle, query, false, "", "", "");
    return 1;
    }
    Mit diesem Befehl nutze ich die Funktion dann :
    CMD:park(playerid, params[])
    {
    new saveID;
    saveID = GetPlayerVehicleID(playerid);
    SaveVehicle(saveID);
    SendClientMessage(playerid,COLOR_GREEN,"Vehicle parked!");
    return 1;
    }


    Oh ja also muss ich dann strval benutzen ?