Beiträge von Headscracher

    Setzt einfach für jeden Rang ein Integer fest. Bei dem /f Befehl zb. frägst du diesen bei dem Spieler ab und beim invite wird er einfach automatisch auf 1 gesetzt

    Also bei deinem 1. Teil würde ich das else if versuchen mal wegzumachen immerhin ist der Bot ja nicht online sollte dementsprechend au nix geschickt bekommen. Auserdem würde ich bei dem for(.... anstatt GetMaxPlayers() MAX_PLAYERS einbauen. Zum 2. Probl: Wo haste denn eingebaut wann der Bot joinen soll?

    Warum eine komplett neue Map? Immerhin kannst du sie Erweitern und einfach die Spieler hin und her tpn. Aber nun gut wenn du ne neue map haben willst würde ich ein Filterscript erstellen und unter OnFilterScriptInit die ganzen Objects. In den Gamemode dann nurnoch wann welches FS geladen werden soll zb. SendRconCommand("loadfs test1");

    Das hier könnte dein Fehler sein:

    if(fexist(KriegOrdner))
    {
    Anzahlfrak[Spieler[playerid][Fraktion]][gestartet] = dini_Int(KriegOrdner,"gestartet");
    Anzahlfrak[Spieler[playerid][Fraktion]][kills] = dini_Int(KriegOrdner,"kills");
    }


    Durch das fexist gehe ich davon aus, dass du damit speichern möchtest, aber der Befehl den du dabei verwendest ist die Abfrage.
    dini_IntSet(ort, "name", integer);

    Wenns ein Filterscript ist einfach in den FS ordner und löschen. Ansonsten guck mal unter OnPlayerEnterVehicle oder OnPlayerStateChange. Bei einem komplett neun Carsystem solltest du eig. alles von OnPlayerEnterVehicle rausnehmen können und bei OnPlayerStateChange alles in dieser Abfrage if(oldstate == PLaYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER). Ansonsten ist was unter OnPlayerKeyStateChange if(newkey == KEY_SECONDARY_ATTACK
    )


    !!!!!!!!Backup nicht vergessen !!!!!!!!!!!
    ( falls ich doch mal falsch liege XD)

    2 mal Definiert. Lösch alles raus womit du das bisher Difiniert hast und benutz einfach das:

    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Mit nem sekunden Timer könnte das n bisschen laggen ist aber eine option. Du könntest natürlich auch die Leben von deinem Auto enorm hochschrauben(wäre dann aber nicht unzerstörbar). Sprich mit SetVehicleHealth die Leben vom Auto erhöhen. Musst aber aufpassen ab nem gewissen Betrag fängt das Auto an zu brennen.

    Also ich finde das ja n bisschen komisch geschrieben auserdem kann ich da keinen Befehl finden wo der Spieler rausgeworfen wird.
    Ich hab dir jetzt maln kleines Bsp. geschrieben. Musst es aber noch abändern und öffter verwenden ;) Achja wo das ganze rein soll sollteste eig. wissen



    forward IstDeinAuto(auto);


    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    vehid = GetPlayerVehicleID(playerid);
    if(IstDeinAuto(vehid))
    {
    if(!PlayerState[playerid][pMember] == 1 || !PlayerInfo[playerid][pLeader] == 1)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid, x, y, z+5);
    SendClientMessage(playerid, COLOR_RED, "Du darfst dieses Auto nicht fahren");
    return 1;
    }
    }
    }



    public IstDeinAuto(auto)
    {
    for(new i; i < sizeof(DeinAuto))
    {
    if(auto == DeinAuto[i]) return 1;

    }
    return 0;
    }