Beiträge von Dudalus

    Hallo


    War zuerst sehr geschockt, bin aber dran, es Grad immer besser zu finden. Die Community rückt so ins Zentrum. Könnte man die Beitragszahl im Profil nicht auch ausbleiben. Evt (!) Ein Levelsystem einbauen ?


    dUDALUS

    Hallo


    Mein Server läuft auch auf diesem Gamemode, jedoch habe ich zuerst mal gelöscht bis der Arzt kam. Das Teleportsystem ist nicht verwendbar und undynamisch. Zudem wurden recht viele else if Schleifen benutzt und eine recht grösse Stringlänge (String[256]), wenn man noch die verhältnismässig vielen Bugs fixt, wirds was. Ich sage dies nur, muss aber sagen, dass das Script viel Potenzial hat, in Verbindung mit ein paar gescheiten Systemen. Das Carsystem scheint auch halber fertig zu sein ;)


    Wer Probleme hat, kann mir ja mal ne PN schreiben
    MfG dUDA

    Hallo


    @Mr_T
    Wenn Du evtentuel etwas Ahnung vom Scripten hättest, würdest Du innerhalb von 2 Sekunden realisieren, dass wahrscheinlich in der Zeile 38 folgendes steht:


    #include <GTAWORL/a_samp>


    Im Klartext ist die Include nicht vorhanden oder irgendwie vermurkst, er soll sie also in den richtigen Ordner kopieren und auch das dortige Pawno starten.....Tststs


    dUDA

    Hallo


    Was ich gerne mal sagen würde, ist die Sache mit dem Supporters Club. Bitte liesst zuerst mal alles durch und denkt nicht grad: Oh man heul doch nicht und so !


    Ich weiss, dass es für den Bertrieb einens solchen Forum, vorallem auch in der Grössenordnung, Geld braucht. Ich fühle mich aber verarscht (Jetzt bitte weiterlesen), dass diese User zum Supporters Club können. Es wurde befürchtet, dass sich die Leute im Userrat besser als andere fühlen könnten oder können. Ich finde, dass dies(der Supporters Club), genau dazu beiträgt. Ich finde ausserdem,dass der Name Supporter(s) etwas recht ungünstig gewählt ist.
    Was ich mich auch gewundert habe, das Speeder, ein User, welcher weniger als 50 Beiträge hat, sowas macht. Ich sage nicht, er ist unfähig, denn das, was ich bisher von ihm gesehen habe, tönt vielversprechend. Ich kenne ihn nicht genau/überhaupt nicht und wage mich folglich auch keine Vermutungen anzustellen


    Ich hoffe, dass wir nicht in einem Multiklassen-Forum mit diversen Ständen enden.
    MfG dUDA

    Hallo
    Sorry bin am Handy. Was ich gerne loswerden würde, ist die Tatsache, oder besser mein Empfinden, dass gewisse Nix-Deutsch-Schreiben User mit Samthandschuhen angefasst werden, was ihnen mitteilt, Sie können das nächste Mal genau gleich rumwursteln. Ich wäre auch für eine Entrümpelung und Kontrolle der Servervorstellung/Marktplatz/Sponsorenanfrage
    Wegen dem Einladen: Die untauglich User laden ja dann auch ihresgleichen ein.


    DUDA
    Endlich mal eine sachliche Diskussion

    Hallo Leute


    Eines meiner grössten Probleme ist, dass folgendes MySQL Plugin nach Lust und Laune speichert:


    http://forum.sa-mp.com/showthr…=56564&highlight=function


    Es steht nichts in der MySQL-Log. Teilweise wird ein ganzer User nicht abgespeichert. Ich bin echt am Verzweifeln. Es werdne sicher 10% nicht abgespeichert, und jetzt wo die User auch mit MySQL laufen, gerät das ganze ausser Kontrolle. Ich habe einmal gehört, es gibt ein Callback, um das soeben benutze Query zu checken, ist sowas echt nötig ? Ich finds abartig, das ein solches Plugin so launisch rumspeichert.


    Wäre um ein paar Erfahrungswerte sehr froh
    MfG dUDA


    //Edit
    In der MySQL-Log sind keine Errors auffindbar

    Hallo


    Also so wie ich das sehe, liegt das Problem daran, dass Du die Kills bei OnPlayerDeath nicht mitzählst. Es müsste dann wie folgt etwa aussehen:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    kills[killerid] ++;
    new string[256];
    if(kills[killerid] == 20)
    {
    GetPlayerName(killerid, string, sizeof(string) );
    format(string, sizeof(string), "%s has been promoted to Baby Killer and now has %d kills!!", string, kills[killerid] );
    SendClientMessageToAll(0x993300AA, string);
    pRank[playerid] = 1;
    return 1;
    }
    if(kills[killerid] == 100)
    {
    GetPlayerName(killerid, string, sizeof(string) );
    format(string, sizeof(string), "%s has been promoted to Shooter and now has %d kills!!", string, kills[killerid]);
    SendClientMessageToAll(0x993300AA, string);
    pRank[playerid] = 2;
    return 1;
    }
    return 1;
    }


    MfG dUDA

    Hallo


    Versuch es mal so, schaus mir grad nochmals an.


    if(strcmp(cmd, "/duty", true) == 0)
    {
    if(OnDuty[playerid] == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
    {
    if(IsPlayerInRangeOfPoint(playerid,, 6,253.9974,78.0809,1003.6406) || IsPlayerInRangeOfPoint(playerid,3,199.4482,168.2397,1003.0234) || IsPlayerInRangeOfPoint(playerid,3,199.4482,168.2397,1003.0234)|| PlayerInfo[playerid][pLocal] != 255)
    {
    PreviousSkin[playerid] = GetPlayerSkin(playerid);
    format(string, sizeof(string), "* %s begibt sich nun als Polizist in den Dienst.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    if(PlayerInfo[playerid][pSex] == 1)
    {
    if(PlayerInfo[playerid][pRank] == 1) { SetPlayerSkin(playerid, 71); }
    else if(PlayerInfo[playerid][pRank] == 2) { SetPlayerSkin(playerid, 280); }
    else if(PlayerInfo[playerid][pRank] == 3) { SetPlayerSkin(playerid, 266); }
    else if(PlayerInfo[playerid][pRank] == 4) { SetPlayerSkin(playerid, 266); }
    else if(PlayerInfo[playerid][pRank] == 5) { SetPlayerSkin(playerid, 267); }
    else if(PlayerInfo[playerid][pRank] == 6) { SetPlayerSkin(playerid, 281); }
    else if(PlayerInfo[playerid][pRank] == 7) { SetPlayerSkin(playerid, 265); }
    else if(PlayerInfo[playerid][pRank] == 8) { SetPlayerSkin(playerid, 282); }
    else if(PlayerInfo[playerid][pRank] == 9) { SetPlayerSkin(playerid, 282); }
    else if(PlayerInfo[playerid][pRank] == 10) { SetPlayerSkin(playerid, 288); }
    else if(PlayerInfo[playerid][pRank] == 11) { SetPlayerSkin(playerid, 288); }
    else if(PlayerInfo[playerid][pRank] == 12) { SetPlayerSkin(playerid, 288); }
    }
    else if(PlayerInfo[playerid][pSex] == 2)
    {
    SetPlayerSkin(playerid, 192);
    }
    GivePlayerWeapon(playerid, 3, 1);
    GivePlayerWeapon(playerid, 22, 500);
    GivePlayerWeapon(playerid, 29, 700);
    GivePlayerWeapon(playerid, 25, 250);
    GivePlayerWeapon(playerid, 41, 1500);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    SetPlayerColor(playerid, COLOR_LIGHTBLUE);
    OnDuty[playerid] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
    }
    }
    return 1;
    }
    if(OnDuty[playerid] == 1)
    {
    if (IsPlayerInRangeOfPoint(playerid,3,255.3,77.4,1003.6) || IsPlayerInRangeOfPoint(playerid,3,-1616.1294,681.1594,7.1875) || IsPlayerInRangeOfPoint(playerid,10,234.8921,111.8931,1003.2257) || PlayerInfo[playerid][pLocal] != 255)
    {
    GetPlayerName(playerid, sendername, sizeof(plname));
    format(string, sizeof(string), "* Beamter %s legt Uniform in seinen Spint.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    SetPlayerSkin(playerid, PreviousSkin[playerid]);
    ResetPlayerWeapons(playerid);
    SetPlayerToTeamColor(playerid);
    SetPlayerArmour(playerid, 0);
    OnDuty[playerid] = 0;
    return 1;
    }
    }
    }


    MfG dUDA

    Hallo


    Ich habe, nachdem ich gestern gut aufgeklärt wurde, mich an die Verschlüsselung der Passwörter mit Whirpool gemacht. Ich weiss wie man ein Password encrytet. Ich habe mir ingame einene Befehl gemacht, wo ich einen beliebigen String encrypten kann. Mir ist jedoch aufgefallen, dass diese extrem lang sind, deshalb habe ich die Länge vorsichtshalber auf 256 Bytes gestellt.


    Nun bekomme ich jedoch beim Einspeichern in das MySQL Field "Passwort" eine Error-Meldung. Ich habe daraufhin die Grösse des Fields auf 300 gesetzt, um dies zu testen. Wenn ich das Usersystem mit Whirpool verwende, werden gar keine neuen User in die Datenbank gespeichert, wenn ich es ausbaue, sprich nicht benutze, geht es.


    Hier ist die Tabellenstruktur:
    http://pastebin.com/WxPuDeKe


    Errormeldung:
    http://pastebin.com/ZGxxpcb9



    Codeteile


    Ladecode:
    http://pastebin.com/PsivJptM


    CreateAccountcode
    http://pastebin.com/434VK9R8


    Ich weiss nicht, ob das encryptete Passwort zu lange ist oder ob CreateAccount rumspinnt. Wielange sind solche encryptete Strings, wenn sie maximal 10 Buchstaben/Zeichen vorweisen ?
    MfG dUDALUS


    Edit
    Ich vermute, dass es an dem ` liegen könnte, da er ja wegen einem MySQL Syntax Error meckert.

    Hallo


    maddin
    Ja, das ganze mach ich unter anderem auch wegen der Datensicherheit ;) Benutz jetzt auch Whirlpool, finde es aber ein wenig schade, für so etwas speziel ein Plugin zu laden, aber was tut man nicht alles für die User


    Tion
    Ja, das genau Prinzip und der Sinn ist mir unter der Dusche eingefallen, sonst würde ja das ganze Verschlüsseln überhaupt keinen Sinn haben


    Trooper
    Hatte das Prinzip nicht ganz verstanden, jetzt schon, folglich brauche ich gar keinen Code der in beide Richtungen funktioniert, danke aber ;)


    @[DT]Sinper
    Wurde MD5 nicht geknackt ?


    Benutz jetzt mal Whirlpool, teste es grad, was mir aber nicht klar ist, warum muss ein String mindestens 128, also 129 Bytes lang sein ? Er wird beim Encrypten zwar länger...sind 128 Bytes die Grundlänge und sagen wir ein Passwort mit 56 Bytes wird auf 128 Bytes aufgefüllt und dann encryptet ? Ist mir nicht ganz klar.
    Dank euch aber vielmals für die Mühe


    MfG dUDA
    Nice Weekend


    //Edit
    Ja, habe eben zuerst etwas falsch verstanden, dachte irgendwie, man müsse die encrypteten Strings decrypten, wäre ja aber sinnlos und ein Sicherheitsrisko. Teste jetzt grad Whirlpool. Danke

    Hallo


    Ich setze mich momentan intensiv mit MySQL auseinander und bin nun an einen Punkt gestossen, wo ich nicht mehr weiter weiss: Passwortverschlüsselung


    -Welche Verschlüsselungen sind gut
    -Welche sind sicher, unter anderem in Sinne von zuverlässig
    -Wie entcrypten
    -Wie decrypten


    Mit ist das Ganze nicht ganz klar. Ich habe einfach ein String in einem MySQL Field, den ich bereits beim Erstellen des Accounts encrytet einspeichern will. Wäre um ein paar Ratschläge sher froh, da ich mich nicht mit den Vor- und Nachteilen und besonders der genauen Verwendung auskenne.


    MfG dUDA

    Hallo


    Epicfail, sorry hab grad den falschen Code kopiert -.- Man bin ich wieder mal peinlich............richtig posten sollte man können


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new squery[128];
    format(squery, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(squery);
    return true;
    }


    Eben, warum 2 Mal where ist mir nicht ganz klar
    MfG dUDA

    Hallo


    Ich habe vorhin von RFT folgendes Codestück gesehen, womit ich einen Integer in die Datenbank speichern kann. Mir ist jedoch der hinterste Punkt nicht ganz klar:


    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new squery[128];
    format(squery, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(squery);
    return true;
    }


    Also ich möchte folgende Sachen abspeichern:


    Tabelle: vehicles
    Field: Locked
    Abzuspeichernder Wer: VehicleSystem[IsBuyableCar[vehicleid]][Locked]
    Zeile: vehicleid


    Wofür steht dann aber where, sprich where2 ?
    MfG dUDA

    Hallo


    Das löst zwar das Problem nicht, aber verhindert weiter Folgen. Gebe doch jeder Zeile eine nur einmal vorkommende Zahl, zB fängst Du von 0 an. Ich mag Auto-Increment gar nicht. Habe bei mir jeder Zeile eine einmal gestezte Zahl gegeben. Beim Abspeichern verwende ich diese dann einfach mit WHERE. Du kannst auch eine globale Variable erstellen und die hochcounten, um den aktuellen Stand der Zahl zu erkennen.


    MfG dUDA