Beiträge von [My]Kevin

    mysql_query("SELECT * FROM `Autos`");
    mysql_store_result();
    if(mysql_num_rows())
    {
    new Autos;
    while(mysql_fetch_row(str) && Autos < sizeof(AutoInfo))
    {
    sscanf(str,"dffffddsd",AutoInfo[Autos][vModel],/*...*/);//Direkt in den Enum Laden :P
    if(AutoInfo[Autos][vModel] >= 400 && AutoInfo[Autos][vModel] <= 611){
    //Auto Erstellen ...
    Autos++;
    }
    }
    }
    mysql_free_result();


    Weiß nicht Ob das Funktioniert ...
    Ich schau nochmal nach xD


    MfG Kevin

    Wenn nicht Existiert:
    new Query[255];
    format(Query,sizeof(Query),"INSERT INTO `Fahrzeuge` (`Name`,`cCarid`,`cPos_X`,`cPos_Y`,`cPos_Z`) VALUES ('%s','%d','%f','%f','%f')",DEINE VARS ....);
    mysql_query(Query);
    Denk dran die Carid ist nicht die Fahrzeugid :P


    Hier die abfrage ob es existiert :P
    new Query[255];
    format(Query,sizeof(Query),"SELECT * FROM `Fahrzeuge` WHERE `Name`='%s'",PLAYERNAMEVAR...);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    //Fahrzeug existiert>>>
    new Data[32];
    mysql_fetch_field("cCarid",Data); SpielerFahrzeug[playerid][cCarid] = strval(Data);
    //Usw....
    mysql_free_result();
    return true;
    }
    //Fahrzeug existiert nicht :-(
    mysql_free_result();

    dcmd ist nur ein define:


    #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]== 0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+ 1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2])))))return 1


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(test,4,cmdtext);
    return 1;
    }
    //Irgendwo im Script:
    dcmd_test(playerid,params[])
    {
    new dcmdText[64];
    sscanf(params,"s",dcmdText);
    format(dcmdText,sizeof(dcmdText),"Du hast hinter dem Command (/test) eingegeben: %s",dcmdText);
    SendClientMessage(playerid,0xffffff,dcmdText);
    return true;
    }
    /*
    Dann halt die sscanf funktion: >>>
    Via Plugin oder die Normale stock :P
    */

    Wenn man das richtige Equipment hat, sollte man ein vernünftiges "social-network" aufbauen können, mit dem entsprechenden Wissen & Ideen.


    Aber was braucht so ein "social-network"?


    Tia zum anfang reicht vielleicht ein Leistungsstarker root, oder ein normaler Webspace, aber wenn man zu einem Späterem Zeitpunkt "Millionen" besucher hat, benötigt man mehrere parallel Server.
    Nunja, vom Speicherplatz abgesehn....
    Manche haben bis zu 200 und mehr Fotos hochgeladen ...
    Sagen wir 1,2Mb pro Foto...

    • 240Mb pro Benutzer
    • Bei 2Millionen dieser Benutzer sind das: 480000000Mb / 480TB | Und das ist nicht alles!
    • 5 TB Speicher kosten im Monat bei Strato.de | - 149€
    • Benutzer müssen gespeichert werden.
    • Nachrichten müssen gespeichert werden.
    • Die Logs dürfen nicht fehlen.
    • Das Sicherheitssystem.
    • Ect. ...

    Da kommt schon was auf ein zu wenn das "social-network" was wird.


    Die Sicherheitsvorkehrungen müssen auch bedacht werden, deshlab ja auch parallele Server, falls einer Ausfällt oder unter Hack-Angriffen leidet, ist immer noch der Andere da, der nichts anderes macht als der erste .... oder der dritte?


    Ab den ersten Tausend Benutzern wird der jenige schon merken was da noch auf ein Zu kommt, anzeigen, Anwalts-schreiben.


    Klar, mit Werbung Geld verdienen, blos das muss auch erstmal laufen! Ein startkapital von Rund: 25.000€ sollten reichen, aber mit einem Monatsgehalt von 1,4K Netto kommt man vermutlich nicht weit.


    Nunja, man sollte sich es vorher überlegen, und mit einer 100Mbit's Leitung kommt man da auch nicht weit.

    Geht auch einfacher ....


    public UpdateClock()
    {
    new Hour,Minute,String[32];//Definiert die Symbole
    gettime(Hour,Minute);//Holt sich die aktuelle Zeit (vom Rechner oder Server)
    format(String,sizeof(String),"%02d:%02d",Hour,Minute);
    TextDrawSetString(RealClock,String);//Updatet den TextDraw mit der Aktuellsten Uhrzeit
    SetWorldTime(Hour);
    return 1;
    }
    Wesentlich angenehmer, Ressourcensparender & Spart Zeilen ... :)

    Wenn du Teamviewer hast & evtl. Ein Headset erkläre ich dir es gern in ruhe :D


    Aber ... nach dem hier:
    if(!strcmp(dini_Get(Spielerdatei,"Passwort"),inputtext,false))
    {
    //Richtig! ... hier der Rest vom EInloggen ...
    Anmelden(playerid);
    //Hier nun deine Messages ... "Deine Life of Stunt Akte xD ..."
    SendClientMessage(playerid,COLOR_GREY," ");
    //....
    return true;
    }


    so ....


    Also ich bin sehr schreib faul, deshalb mag ich lieber alles Dynamisch :P
    Aber Teamviewer wäre die bessere Lösung :D


    MfG Kevin


    PS: den Rest musst du eig. selbst hinbekommen, mit dem Wrong PW Dialog usw ...

    Also gut, ...


    if(dialogid == Login)
    {
    if(!response)
    {
    //Hier das hin was geschen soll wenn der Spieler auf den rechten Button drückt!
    return true;
    }
    if(strlen(inputtext))
    {
    //Hier die Anmeldung ... >>>
    new Spielerdatei[64],SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    if(!strcmp(dini_Get(Spielerdatei,"Passwort"),inputtext,false))
    {
    //Richtig! ... hier der Rest vom EInloggen ...
    return true;
    }
    //Ohh leider Falsch ... nochmal pw eingeben :D
    return true;
    }
    else
    {
    //Hier wieder den Dialog zeigen, es wurden keine Zeichen eingegeben...
    return true;
    }
    return true;
    }

    Wo steht es bei der Registration geschrieben das die Daten vertrauenswürdig behandelt werden?
    Hat das D.S.Z - Team irgendetwas unterschrieben? Sorry, wir sind in Deutschland :D


    Also ich persönlich finde es ne Schweinerei!
    Schon zur sicherheit des eigenen Servers & der User würde ich Paswörter von Benutzern immer verschlüsseln.


    Fazit: Passwörter & ect. ändern ^^

    Also von meiner Seite aus finde ich eigentlich besser wenn die Leader den Membern sagen womit man fahren darf, ...


    Aber zu deiner beruhigung mache ich gern ein Update meines: Faction-Car-System's.
    Wo man den auch der Leader die Ränge festlegen kann :P
    Erspart wesentlich viel Arbeit, kommt wahrscheinlich auch ein Gang-/Mafia - Autohaus dazu, Dynamisch versteht sich, müsstest blos ein wenig geduld haben.


    Natürlich nur wenn du willst ...


    Aber ansonsten:


    else if(IsALCNCar(vehicleid))//LCN Fraktion 5
    {
    new tempRang;
    if(vehicleid == LCNCar[0]) tempRang = 2;
    if(vehicleid == LCNCar[1]) tempRang = 6;
    // >>> Hier weiter Jedes Car einzelnt ... Wenn es ab rang 1 fahrbar sein soll, einfach weg lassen :P
    if((SpielerInfo[playerid][sMember] == 5 && SpielerInfo[playerid][pRang] >= tempRang) || (SpielerInfo[playerid][sLeader] == 5 || SpielerInfo[playerid][pAdmin] >= 1339)) { }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du besitzt nicht die richtigen Schlüssel für dieses Fahrzeug...");
    VehSperre[playerid] = vehicleid;
    TogglePlayerControllable(playerid, 0);
    SetTimerEx("Unfreeze", 10, 0, "d", playerid);
    }
    }
    So ist besser, aber ungetestet also falls Fehler erscheint frag einfach :)


    Edit: Fehler entdeckt :P guck dir das nocheinmal an: falls du das schon eingebaut hast ...
    SpielerInfo[playerid][pRang] < tempRang)
    zu: >>
    SpielerInfo[playerid][pRang] >= tempRang)