Beiträge von Bubelbub

    Ach Quatsch.
    MD5(Passwort) musst du extra "deaktivieren".
    Standartmäßig ist ein anderer Algorhytmus aktiviert.


    Ich kann dir morgen ein paar Beispiele geben....
    ... wie Suchty112 bereits gesagt hat nutzen wir das auf GTA: WC auch.
    Sha1, MD5 und Salt.


    Das Sicherste überhaupt ^^



    Ich gebe dir (bis morgen) mal den Tipp:
    Lass MySQL für dich arbeiten!
    -> md5, sha1


    (bin erstma off und gebe dir dann weitere "Schnipsel")

    if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if(gTeam[playerid] == 2 || IsACop(playerid)) { if(IsAFK[giveplayerid] == 1) { SendClientMessage(playerid,COLOR_RED," Der Spieler ist AFK!"); return 1; } if (ProxDetectorS(8.0, playerid, giveplayerid)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Du hast %s seinen Führerschein abgenommen.", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* Polizist %s hat dir deinen Führerschein abgenommen.", sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); SpielerInfo[giveplayerid][pCarLic] = 0; } else { SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht in deiner Nähe !"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist Offline !"); return 1; } } }

    if(IsPlayerConnected(giveplayerid))
    if(giveplayerid != INVALID_PLAYER_ID)
    if(gTeam[playerid] == 2 || IsACop(playerid))
    {
    if(IsAFK[giveplayerid] == 1)
    return SendClientMessage(playerid,COLOR_RED," Der Spieler ist AFK!");
    if(ProxDetectorS(8.0, playerid, giveplayerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s seinen Führerschein abgenommen.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Polizist %s hat dir deinen Führerschein abgenommen.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    SpielerInfo[giveplayerid][pCarLic] = 0;
    }
    else
    {
    return SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht in deiner Nähe !");
    }
    }
    else
    return SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist kein Cop!");
    Du fragst bei allem ab, ob er Polizist ist.
    Das wird der Fehler sein.


    Undzwar wünsche ich mir das wenn ich /startlesson eingebe das der Spieler
    die Fraktions Cars fahren kann bis man wieder /stoplesson eingibt.


    Mach das mal bei "OnPlayerStateChange" rein.
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(1 < 2) // Ist "GetPlayerVehicleID(playerid)" ein Fahrschulauto?
    if(!TakingLesson[playerid])
    {
    RemovePlayerFromVehicle(playerid);
    return SendClientMessage(playerid, 0xFF3A3AFF, "Ein Fahrlehrer muss dir eine Fahrstunde starten!");
    }
    }
    Ersetze bei meinem // einfach das 1 < 2 durch die Abfrage ob das Auto ein Fahrschulauto ist.


    SendClientMessage(playerid, COLOR_GRAD1,"/regeln /stats /showlicenses /clothes /drink /music"); SendClientMessage(playerid, COLOR_GRAD2,"/pay /spenden /time /buy /givekey /switchkey /id /bank"); SendClientMessage(playerid, COLOR_GRAD2,"/buygun /lock /licenses /lotto /spawnchange NEU: /auto"); SendClientMessage(playerid, COLOR_GRAD2,"/report /cancel /accept /eject /usedrugs /contract /fill /serverinfo"); SendClientMessage(playerid, COLOR_GRAD3,"/call (/s)hout (/c)lose (/l)ocal (/b) /ad (/f)amily /me /togfam /togom");


    new ShowString[1000];
    format(ShowString, 1000, "/regeln /stats /showlicenses /clothes /drink /music\n");
    format(ShowString, 1000, "%s/pay /spenden /time /buy /givekey /switchkey /id /bank\n", ShowString);
    format(ShowString, 1000, "%s/buygun /lock /licenses /lotto /spawnchange NEU: /auto\n", ShowString);
    format(ShowString, 1000, "%s/report /cancel /accept /eject /usedrugs /contract /fill /serverinfo\n", ShowString);
    format(ShowString, 1000, "%s/call (/s)hout (/c)lose (/l)ocal (/b) /ad (/f)amily /me /togfam /togom", ShowString);
    ShowPlayerDialog(playerid, 218341, DIALOG_STYLE_LIST, "Befehle", ShowString, "Okay", "Okay");
    So ähnlich eben ^^

    public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 0 || classid == 1 || classid == 2)
    {
    if(SpielerStats[playerid][frak] == 1)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~FortCarson~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    else if(classid == 3 || classid == 4 || classid == 5)
    {
    if(SpielerStats[playerid][frak] == 2)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~BlueBerry~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    return 1;
    }


    Oder du returnst einfach nach den GamemodeTexten

    enum TankstellenEnum
    {
    Float:TankeX,
    Float:TankeY,
    Float:TankeZ
    };


    new Tankstellen[1][TankstellenEnum]=
    {
    {-2029.5878, 156.6723, 28.8359}
    };


    ocmd:fill(playerid,paramas[])
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    for(new i = 0; i < sizeof Tankstellen; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15.0, Tankstellen[i][TankeX], Tankstellen[i][TankeY], Tankstellen[i][TankeZ]))
    {
    new Wagen = GetPlayerVehicleID(playerid),
    msg[128],
    Full = 100 - Tankmenge[Wagen],
    Kosten = Full * PREIS;
    format(msg, sizeof msg, "Du hast %d Liter für %d$ getankt.", Full, Kosten);
    SendClientMessage(playerid, ORANGE, msg);
    Tankmenge[Wagen] = 100;
    return 1;
    }
    else
    return SendClientMessage(playerid, ORANGE, "Du bist nicht an der Tankstelle!");
    }
    }
    else
    return SendClientMessage(playerid, ORANGE, "Du bist in keinem Fahrzeug!");
    return 1;
    }


    So schafft mein Script das ganze.

    if(!SpielerInfo[playerid][Carschein])
    {
    new vehiclemodel = GetVehicleModel(vehicleid);
    if(vehiclemodel == 462 || vehiclemodel == 510 || vehiclemodel == 509 || vehiclemodel == 448 || vehiclemodel == 481 )
    return SendClientMessage(playerid, grau, "Dieses Fahrzeug darfst du ohne Führerschein fahren.");
    else
    return SendClientMessage(playerid, COLOR_RED, "Du hast keinen Führerschein! Pass auf, dass die Cops dich nicht erwischen!");
    }

    new waffenscheinsymbol = CreatePickup(1239,1,217.5414,78.1651,1005.0391,-1);


    dann wäre das in allen virtuellen welten.
    Ich weiß nich warum der dann Crasht.
    Versuch mal:
    new waffenscheinsymbol = AddStaticPickup(1239,1,217.5414,78.1651,1005.0391,-1);

    Ich dachte mir, da deine Error Meldung ja lautet "Du hast keine Kettensäge dabei", dass du dann ja nicht die aktive Waffe abfragen musst sondern alle :O


    new haveKettensaege = 0,
    weapons[2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
    if(weapons[0] == 9)
    haveKettensaege = 1;
    }
    if(!haveKettensaege) return SendClientMessage(playerid,0xFF0000FF, "Du hast keine Kettensaege dabei.");

    public SaveZones()
    {
    new str[128];
    for(new z = 0; z < ZONEN_ANZAHL; z++)
    {
    format(str, sizeof str, "%s\n%d", str, Zonen[z][CurrentOwner]);
    }
    new File:file = fopen(OWNER_DATEI, io_write);
    fwrite(file, str);
    fclose(file);
    return 1;
    }
    Ist schwer zu sagen woran es da liegt.
    Lade mal die OWNER_DATEI hoch ^^


    for(new x, x < MAX_PLAYERS; x++)
    if(GetPlayerFrac(x) == Zonen[pzone][CurrentOwner])


    und vielleicht, da da ein Warning kommt, einfach noch:


    /* for(new x, x < MAX_PLAYERS; x++)
    if(GetPlayerFrac(x) == Zonen[pzone][CurrentOwner])*/