Beiträge von Kaliber

    Ja, mehrere Sachen, schreib das so:


    Tore[0][TorID][0] = CreateObject(987, -1522.80005, 482.5, 6.2, 0, 0, 180);//Army Oben
    Tore[1][TorID][1] = CreateObject(980, -1631.7, 688.20001, 8.5, 0, 0, 0); //SFPD


    //Dann das so schreiben:
    if(newkeys & KEY_CROUCH) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    if(!IsPlayerInRangeOfPoint(playerid,20.0, Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ])) continue;
    if(SpielerInfo[playerid][pTeam] != Tore[Gateid][Gateteam]) break;
    MoveObject(Tore[Gateid][TorID], Tore[Gateid][OpenX], Tore[Gateid][OpenY], Tore[Gateid][OpenZ], 5);
    SendClientMessage(playerid,tortext, Tore[Gateid][Text]);
    SetTimer("CloseTor", 8000, 0);
    }
    }


    mfg. :thumbup:

    Muss ich da nicht noch was machen?


    Ja, einfach so:


    public OnPlayerEnterDynamicArea(playerid, areaid) {
    if(areaid == ADAC[0])
    {
    SendClientMessage(playerid,-1,"Zone betreten");
    }
    return 1;
    }


    Solange du nur 1ne Zone hast, kannst du es lassen, aber wenn du mehrere Zonen hast wo unterschiedliche Regeln gelten, dann so :)


    mfg. :thumbup:

    Welches Speicherungssystem du verwendest ist eigentlich irrelevant.


    Schau mal, wenn du willst, dass ein PayDay jede Stunde (nicht volle) stattfindet:


    //Unter OnGameModeInit
    SetTimer("PayDay",1000*60*60,1);


    forward PayDay();
    public PayDay() {
    for(new playerid; playerid<MAX_PLAYERS; playerid++) {
    if(!IsPlayerConnected(playerid)) continue;
    GivePlayerMoney(playerid, 1000);
    SpielerInfo[playerid][Respektpunkt] += 1; // (ein Beispiel)
    /* Hier kommt alles zum PayDay rein */
    }
    return 1;
    }


    Und da du auf vorhandene Variablen für den Spieler zugreifst, speichert er diese doch eh schon ;)


    mfg. :thumbup:

    Du musst das erstmal in einer Variable erstellen und dann alles auf einmal anzeigen lassen:



    //Edit:
    PS: Lass die Schleife bei 0 anfangen und erhöhe lieber da wo du es brauchst den Wert um +1 ;)


    mfg. :thumbup:

    Wusste gar nicht, dass es so schwer ist Code zu kopieren :|


    So schreiben:


    ocmd:roller(playerid, params[])
    {
    if(GetPlayerScore(playerid) != 1) return SendClientMessage(playerid,-1,"Sie sind nicht Level 1!");
    if(!roller[playerid])
    {
    new Float:p[4];
    GetPlayerPos(playerid,p[0],p[1],p[2]),GetPlayerFacingAngle(playerid,p[3]);
    roller[playerid] = CreateVehicle(462,p[0],p[1],p[2],p[3],146,146,-1);
    return PutPlayerInVehicle(playerid,roller[playerid],0);
    }
    DestroyVehicle(roller[playerid]),roller[playerid]=0;
    return SendClientMessage(playerid, COLOR_RED, "Du hast dein Roller zerstört");
    }


    mfg. :rolleyes:

    Ich will ein Befehl erstellen. /roller für den Neuling (Level 1)


    Wenn er /roller eingibt soll ein Pinker Faggio mit dem Kennzeichen >Neuling< Spawnen wo er direkt draufsitzt.
    Ebenfalls soll man den Roller mit /roller wieder löschen.


    Naja hier mal paar Ansätze:


    new roller[MAX_PLAYERS];


    //unter OnPlayerDisconnect
    if(roller[playerid]) DestroyVehicle(roller[playerid]),roller[playerid]=0;


    //Beim Roller mieten
    if(GetPlayerScore(playerid) != 1) return SendClientMessage(playerid,-1,"Sie sind nicht Level 1!");
    if(roller[playerid]) return SendClientMessage(playerid,-1,"Sie haben bereits einen Roller erstellt!");
    new Float:p[4];
    GetPlayerPos(playerid,p[0],p[1],p[2]),GetPlayerFacingAngle(playerid,p[3]);
    roller[playerid] = CreateVehicle(462,p[0],p[1],p[2],p[3],146,146,-1);
    PutPlayerInVehicle(playerid,roller[playerid],0);


    //Beim Roller zerstören
    if(!roller[playerid]) return SendClientMessage(playerid,-1,"Sie besitzen keinen Roller!");
    return DestroyVehicle(roller[playerid]),roller[playerid]=0;


    mfg. :thumbup: