Beiträge von Meta

    public OnPlayerDeath(playerid, killerid, reason)
    {
    //...
    if(robtimer[playerid])
    {
    SendClientMessage(..., ..., "Der Bankräuber ist gestorben!");
    }
    //...
    KillTimer(robtimer[playerid]);
    robtimer[playerid] = 0;
    //...
    }
    Die Punkte mit dem ausfüllen, was eben richtig ist.

    Achja :D
    Aber dass er einfach spawnt?
    Wahrscheinlich einfach kein AddPlayerClass verwendet.


    Genaueres weiß ich da nicht, weil ich bisher immer eigene Skinauswahlen hatte ;D

    Lass die ID des Textes in einer Variable speichern und update den Text, anstatt ihn neu zu erstellen.
    Update3DTextLabelText(Text3D:id, color, text[]);

    Ja, gut, das stimmt schon.


    Um mal zum Thema zurückzukommen, ich kenn eine Mod, die aber nicht sehr beliebt sein wird :o
    Ist aber nicht zu empfehlen, da kann es leicht vorkommen, dass du mal per Taste woanders stehst, mehr will ich dazu nich sagen :/

    aber wenn man stirbt ist man tot

    Sehr geistreich ...


    Nimm oben die 0.0 raus.
    Also änderSetPlayerCheckpoint(playerid, -1700.1160,1034.4993,45.2109,0.0, 8.0);zuSetPlayerCheckpoint(playerid, -1700.1160,1034.4993,45.2109,8.0);

    Zuallererst wird das so garnicht Funktionieren, da beim Timer kein Spieler eingetragen ist.
    Mach das mal so:
    //====[ FORWARDS ]====//
    forward robbanktimer(playerid,i);


    //====[ VARIABLEN ]======//
    new robtimer[MAX_PLAYERS];


    //====[ COLORS ]======//
    #define rob_message 0x0000C1FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_RED 0xE10000FF
    #define COLOR_LIGHTBLUE 0x33CCFFAA


    // hab das als ocmd befehl gemacht, da ich glaub leichter ist
    ocmd:robbank(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,15,2309.4956,-8.3965,26.7422)) // Die koordinaten. Denke 15 meter reichen xP
    {
    TogglePlayerControllable(playerid, false);
    robtimer[playerid] = SetTimerEx("robbanktimer", 60000, 0, "d", playerid);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du hast die Bank überfallen, die Polizei wurde Alarmiert!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Der überfall dauert 1 Minute!");
    SetPlayerWantedLevel(playerid,4);


    if(isPlayerInFrakt(playerid,1) || isPlayerInFrakt(playerid,4)) // Frak 1 LSPD | Frak 4 ist FBI
    {
    SendClientMessageToAll(rob_message,"HQ: An alle Einheiten, die Bank von LS wird überfallen!");
    }
    }
    else SendClientMessage(playerid,COLOR_GREY,"Zurzeit befindes du dich nicht in der Bank von LS!");
    return 1;
    }


    // Der Public wegm Timer =D
    public robbanktimer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    SendClientMessage(playerid,ROT,"* Du hast die Bank erfolgreich Überfallen!");
    GivePlayerMoney(playerid,16000);
    return 1;
    }
    Erklärungen:
    new robtimer[MAX_PLAYERS]; // Timevariable für die Spieler erstellen
    robtimer[playerid] = SetTimerEx("robbanktimer", 60000, 0, "d", playerid); // Timer für den Spieler einstellen.


    Und um den Bankraub dann abzubrechen, nimmst du das:
    KillTimer(robtimer[playerid]);

    Leider nein, per Touchscreen ist das zu schwer, da das schon einige Zeilen Code wären :o


    Mal sehen, wenn später mein PC wieder geht und bis dahin keiner helfen konnte, schreib ich ein bisschen was ;)

    Eine Datenbank in die du Daten schreiben und auslesen kannst. Das kann man so vergleichen, als wenn du bei Windows dich anmeldest und per cmd.exe in einem Ordner eine Datei öffnest und deren Inhalt für etwas verwendest, nur ist MySQL eben nicht ganz so leicht :)


    Ich weiß, das ist ein komisches Beispiel D:

    Sofern du weißt, wie MySQL funktioniert, könntest du ja eine for-Schleife machen, die einen SQL-Befehl ausführt und dort jeweils nach der nächsten ID sucht und gegebenenfalls die Koordinaten ausliest. Du könntest aber die Anzahl auch seperat auslesen und die for-Schleife dann auf die Menge beschränken.