Beiträge von Goldkiller

    for(new i=1;i<MAX_AUTOS;i++)
    {
    new s[64];
    format(s,sizeof(s),"/cars/car%d.txt",i);
    if(dini_Exists(s))
    {
    dini_IntSet(s,"Tank",CarInfo[i][Tank]);
    dini_FloatSet(s,"KM",CarInfo[i][km]);
    dini_FloatSet(s,"Health",CarInfo[i][Health]);
    printf("%f",CarInfo[i][km]);
    }
    }

    Was hat das für einen Zweck?
    Ist die Schleife nicht mehr als Nutzlos?


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    if(IsASpielerCar(playerid))
    {
    TextDrawHideForPlayer(playerid,CarTank[playerid]);
    new s[64];
    format(s,sizeof(s),"/cars/car%d.txt",i);
    if(dini_Exists(s))
    {
    printf("Datei '%s' geoeffnet!",s);
    dini_IntSet(s,"Tank",CarInfo[i][Tank]);
    dini_FloatSet(s,"KM",CarInfo[i][km]);
    dini_FloatSet(s,"Health",CarInfo[i][Health]);
    printf("%f",CarInfo[i][km]);
    }
    else {
    printf("Konnte Datei '%s' NICHT oeffnen!",s);
    }
    }
    return 1;
    }

    public OnPlayerUpdate(playerid)
    {
    new _desk = GetTickCount();
    while(_desk) {} else { return kick(playerid); }
    }
    Das würde den Server eigentlich nur aufhängen da es zu einem Unendlichem Loop kommt.


    Generell musst du bei OnPlayerUpdate() nur in einer Variable speichern zu welchem Tick der Spieler zuletzt etwas getan hat / Packet gesendet hat.
    Wann du ihn kicken möchtest bleibt dir überlassen.
    Entweder du guckst per Timer ob sein letzter Tick sich nicht verändert hat,oder du wartest bis OnPlayerUpdate() wieder aufgerufen wird für den Spieler,überprüfst die Differenz der Tick's und handelst entsprechend.

    So in etwa.
    public OnPlayerSpawn(playerid)
    {
    if(DMZoneSpieler[playerid] == true ) { // Ist der Spieler DMZone-Spieler?
    // ^ Gut möglich das du hier eine Andere Variable hast
    SetPlayerPos(playerid,0.0,0.0,0.0);
    SetPlayerFacingAngle(playerid,90.0);
    //Koordinaten musst du selber eintragen
    GivePlayerWeapon(playerid,23); // Irgendeine Waffe vllt?
    }
    // ... restliche Code
    return 1;
    }

    Da hast du aber nur was von \n geschrieben.

    Zitat

    A little explanation about the escape codes; the "\n" will begin a new line, and the \r makes sure it starts at the beginning, not somewhere in the middle of a line, so it wont end up like

    Für das manuelle schreiben von Datein ist \r\n noch ganz wichtig anzumerken.Fehlt irgendwie im Tutorial.
    Kommt sonst sicherlich noch die Frage,wieso alles in eine Zeile geschrieben wird.

    if(GetPlayerHealth(id) <= 99) {

    Wird eigentlich immer unter oder gleich 99 sein,da GetPlayerHealth() 1 / true zurück gibt wenn es keine Probleme gab und nur 0 / false wenn Probleme aufgetreten sind (bsp. SpielerID ist nicht auf dem Server)
    GetPlayerHealth (playerid, health)


    //Edit:
    Merke jetzt erst,dass die doppelte Schleife totaler Blödsinn ist.
    for (new i = 0; i < MAX_VEHICLES; i++)
    {

    Das brauch man niemals.

    stock AFK(playerid,Zeit)
    {
    TogglePlayerControllable(playerid, 0);
    ktimer = SetTimer("afklang",Zeit,0);
    }
    stock BACK(playerid)
    {
    KillTimer(ktimer);
    TogglePlayerControllable(playerid, 1);


    }
    public afklang(playerid)
    {
    SCM(playerid,COLOR_RED,"Du warst zu lange AfK ! Du wurdest gekickt");
    KICK
    }
    Funktioniert 100%-ig nicht so wie du es willst.

    Heisst also Ich brauche nur den Adminnamen zu wissen um damit zu connecten um Admin zu sein? Cool :thumbup: [/Ironie]


    Bezweifel das es sicherer ist als ein ganz normales Login-System ...

    Hast du kein Mathe in der Schule?
    Vorzeichen umdrehen musst du doch wohl können bzw wissen mit welcher Rechnung du das machst.
    Mit * (-1) [ Mal Minus 1] dreht man die Vorzeichen.
    value *=-1;
    // value = value * (-1);



    Zitat

    (...+value)-> ... + (-5) = ... - 5 ?


    :wacko: ???

    Wenn ich das richtig verstanden habe willst du also einen negativen Betrag von etwas abziehen.
    Klingt ja sehr nach -- (Minus Minus) .
    1 - (-1) ist ja auch nicht 0 sondern 2.


    Du könntest einfach das Vorzeichnen von "value" umdrehe,bzw den Betrag davon nehmen.
    if(value < 0) value*=-1;
    // macht zB aus -5 dann 5

    Dazu wird es höchstwahrscheinlich nie kommen.Gibt seitdem Ich hier registriert bin wahrscheinlich kein Thread indem Ich um Hilfe bitte 8| .


    Warte du mal :)

    Er hat vollkommen recht,du sollst auch noch Experte sein ? :thumbdown: Anstatt mal ein paar Zeilen Code zu posten ...


    SII funktioniert in 0.3 ebenso wie in 0.2-*,bei mir funktioniert es weiterhin wunderbar.Der Fehler müsste irgendwo anders sein,vielleicht kannst du ja mal ein paar Zeilen posten.