Beiträge von PermanenT

    Hey,
    für Neulinge sicherlich ganz gut,
    kannst du das mit der Synchro nochmal genauer erklären? Da ich in deinem Script nichts kompliziertes sehe.


    Dazu verstehe ich nicht was das "new failed = 0;" bei "/fdeliver" bringt.
    Es ist im Befehl und wird immer wieder auf null gesetzt wenn du den Befehl nützt. Sprich es geht doch nie auf 20?!?! Oder habe ich da was übersehen?


    Ansonsten gut gemacht. Übersichtlich und gut.
    10/10 Punkten

    stock pLaden(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    format(Spieler[playerid][pPasswort],26,"%s",dini_Get(pfad,"Passwort"));
    Spieler[playerid][pLevel] = dini_Int(pfad,"Level");
    Spieler[playerid][pKleidung] = dini_Int(pfad,"Kleidung");
    Spieler[playerid][pGeld] = dini_Int(pfad,"Geld");
    Spieler[playerid][pAdmin] = dini_Int(pfad,"Adminlevel");
    Spieler[playerid][pPremium] = dini_Int(pfad,"PremiumZeit");
    Spieler[playerid][pJob] = dini_Int(pfad,"Beruf");
    Spieler[playerid][pKills] = dini_Int(pfad,"Kills");
    Spieler[playerid][pTode] = dini_Int(pfad,"Tode");
    Spieler[playerid][pFraktion] = dini_Int(pfad,"Fraktion");
    Spieler[playerid][pLeader] = dini_Int(pfad,"Leader");
    Spieler[playerid][pMember] = dini_Int(pfad,"Member");
    Spieler[playerid][pRang] = dini_Int(pfad,"Rang");


    SetPlayerScore(playerid,Spieler[playerid][pLevel]);
    SetPlayerSkin(playerid,Spieler[playerid][pKleidung]);
    GivePlayerMoney(playerid,Spieler[playerid][pGeld]);

    /* Textdraw */
    TextDrawHideForPlayer(playerid,LOGINSCREEN);
    return SpawnPlayer(playerid),SpielerSpawn(playerid);
    }


    Steht in der ini Datei denn alles richtig drinnen

    stock pLogin(playerid,key[])
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    if(!dini_Exists(pfad))return Kick(playerid);
    if(!strcmp(key,dini_Get(pfad,"Passwort"),false)) //Versuch es mal soo?
    {
    pLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Passwort war falsch. Du wirst nun gekickt.");
    Kick(playerid);
    }
    return 1;
    }


    stock pSpeichern(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    dini_Set(pfad,"Passwort",Spieler[playerid][pPasswort]);
    dini_IntSet(pfad,"Level",GetPlayerScore(playerid)); //Playerid nicht irgendwas anderes :P
    dini_IntSet(pfad,"Kleidung",GetPlayerSkin(playerid));
    dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
    Spieler[playerid][pLevel] = GetPlayerScore(playerid);
    Spieler[playerid][pKleidung] = GetPlayerSkin(playerid);
    Spieler[playerid][pGeld] = GetPlayerMoney(playerid);
    dini_IntSet(pfad,"Adminlevel",Spieler[playerid][pAdmin]);
    dini_IntSet(pfad,"PremiumZeit",Spieler[playerid][pPremium]);
    dini_IntSet(pfad,"Beruf",Spieler[playerid][pJob]);
    dini_IntSet(pfad,"Kills",Spieler[playerid][pKills]);
    dini_IntSet(pfad,"Tode",Spieler[playerid][pTode]);
    dini_IntSet(pfad,"Fraktion",Spieler[playerid][pFraktion]);
    dini_IntSet(pfad,"Leader",Spieler[playerid][pLeader]);
    dini_IntSet(pfad,"Member",Spieler[playerid][pMember]);
    dini_IntSet(pfad,"Rang",Spieler[playerid][pRang]);
    return 1;
    }

    Hey,
    public sekunde()
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    Bergarbeiter[i][aufladez]++;
    if((gettime()-Bergarbeiter[i][aufladez]) == 7)
    {
    SetPlayerCheckpoint(i,Bergabfuhr_Stationen[berg_Checkpoint][B_fX],Bergabfuhr_Stationen[berg_Checkpoint][B_fY],Bergabfuhr_Stationen[berg_Checkpoint][B_fZ],Bergabfuhr_Stationen[berg_Checkpoint][B_fRad]);
    SendClientMessage(i,GRÜN,"Eisenerz abgeliefert!");
    }
    Bergarbeiter[i][aufladez]=0;
    }
    return 1;
    }


    Dazu musst du den timer bei OnPlayerKey raus nehmen

    Hey,
    dieser Timer wird ja nur gestartet wenn er die Taste dann drückt sprich du solltest den Timer dann am Ende wieder löschen oder du erstellst einen Globalen der durchgehen durchläuft und setzt da den Code rein

    if(!IsPlayerInRangeOfPoint(1,3422.0671,-1810.0132,11.9972))
    Dir fehlt die Range in dem Abgefragt wird ob er in der nähe ist.
    Sagen wir mal 5.0
    Dazu musst du statt 1 playerid nutzen da sonst nur ID 1 in das Interior kommen würde
    if(!IsPlayerInRangeOfPoint(playerid,5.0,3422.0671,-1810.0132,11.9972))

    Hey,
    die schleife ist doch total ünnötig?


    ocmd:kdefuse(playerid,params[])
    {
    if(IsACop(playerid))return SCM(playerid,ROT,"Du bist kein Beamter!");
    if(pInfo[playerid][pRang] < 4) return SCM(playerid,ROT,"Du brauchst mind. Rang 4!");
    if(IsPlayerInRangeOfPoint(playerid,9.0,KofferInfo[i][KofferX],KofferInfo[i][KofferY],KofferInfo[i][KofferZ]))
    {
    SCM(playerid,COLOR_YELLOW,"Du entschärfst die Bombe...");
    SetTimerEx("kdefuse",3000,0,"i",playerid);
    ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 1.0, 0, 0, 0, 0, 0);
    return 1;
    }
    return SCM(playerid,ROT,"Du bist nicht in der Nähe einer Kofferbombe!");;
    }