Beiträge von Mister.Anonym

    Okay danke den Code habe ich da hingetan. Kannst du mir das bitte auch mit dem KillTimer zeigen.


    public OnPlayerLeaveCheckpoint(playerid)
    {
    if(BusCP[playerid] > 0 && buscd[playerid] > 0)
    {
    SendClientMessage(playerid, ROT, "Du hast die Haltestelle verpasst.");
    }
    return 1;
    }

    Danke aber jetzt habe ich das problem. Er zeigt die Nachricht sofort an wen ich im Checkpoint bin. Ich wollte es aber gerne so machen das wen ich ja einmal im Checkpoint fahre kommt der Text mit den 10 Sekunden aber wen ich schon aus dem Checkpoint rausfahre bevor die 10 Sekunden vorbei sind soll dann die nachricht kommen und der Checkpoint soll bleiben. Und wen ich die 10 Sekunden im Checkpoint bleibe soll es normal weiter gehen. Und ich wollte fragen wie man das macht wen der 10 Sekunden Countdown läuft und ich mich ein stück bewege oder so wie der Countdown dann neu anfängt.

    Hey, ich bräuchte nochmal eure hilfe. Bei meinem Busfahrer Job ist es so das man in einem Checkpoint steht und 10 Sekunden warten muss. Man wird aber nicht gefrezzet. Aber wen man den Checkpoint verlässt soll da stehen "Du hast die Haltestelle verpasst!" und der Checkpoint soll nicht weiter gehen. Ich weiß jetzt aber nicht genau wie man das macht.


    Ich denke mal ich muss es hier mit machen nur das es unter OnPlayerLeaveCheckpoint kommt. Aber ich weiß nicht wie genau ich das machen soll.



    if(Spieler[playerid][Job] == 2)
    {
    new vehicle = GetPlayerVehicleID(playerid);
    for(new i; i != sizeof(buscars); i++)
    {
    if(vehicle == buscars[i])
    {
    if(pCP[playerid] == CHECKPOINT_BUSBERUF && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown[playerid] = SetTimerEx("BusCountdownTimer", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF2 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown2[playerid] = SetTimerEx("BusCountdownTimer2", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF3 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown3[playerid] = SetTimerEx("BusCountdownTimer3", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF4 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown4[playerid] = SetTimerEx("BusCountdownTimer4", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF5 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown5[playerid] = SetTimerEx("BusCountdownTimer5", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF6 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown6[playerid] = SetTimerEx("BusCountdownTimer6", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF7 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown7[playerid] = SetTimerEx("BusCountdownTimer7", 1000, false, "d", playerid);
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF8 && BusCP[playerid] > 0)
    {
    //TogglePlayerControllable(playerid, 0);
    buscd[playerid] = 10;
    GameTextForPlayer(playerid, "~w~haltestelle...~n~~b~10", 1000, 4);
    BusCountdown8[playerid] = SetTimerEx("BusCountdownTimer8", 1000, false, "d", playerid);
    return 1;
    }
    }
    }
    }


    Und hier sind noch die Checkpoints.


    new Float:BusCoordinates[][3] = {
    {1173.1357,-1824.9971,13.8454},
    {1428.5259,-1734.7346,13.8296},
    {1824.1589,-1656.9386,13.8302},
    {2259.4243,-1661.7031,15.7094},
    {1547.1584,-1297.1689,16.7127},
    {1461.6752,-1031.2505,24.1032},
    {1189.0717,-935.9313,43.1936},
    {794.7014,-1368.4231,13.8384},
    {354.6964,-1648.4730,33.3069},
    {1172.7273,-1825.7487,13.8454}
    };


    SetPlayerCheckpoint(playerid, BusCoordinates[0][0], BusCoordinates[0][1], BusCoordinates[0][2], 3);

    Ich habe es jetzt so gemacht und das geht auch. Jetzt habe ich nur noch 2 Probleme. Bei manchen Linien sollen nur 5 Leute fahren. Wen die Linie voll ist soll keiner mehr fahren können. Ich weiß jetzt nicht wie ich die abfrage darein bringe.
    Und ich wollte noch das so machen wen man im Dialog nochmal auf Linie1 klickt das sie beendet wird. Ich habe da schon was ausprobiert das ging aber nicht.


    new string[200];
    format(string, sizeof(string),"{FFFFFF}Linie 1: LS Stadtlinie 1 {00D15A}(%d){FFFFFF}, ab Skill 0\n{FFFFFF}Linie 2: LS Stadtlinie 2 {00D15A}(%d){FFFFFF}, ab Skill 2\n{FFFFFF}Linie 3: LS-SF {00D15A}(%d){FFFFFF}, ab Skill 4\n{FFFFFF}Linie 4: SF-LS {00D15A}(%d){FFFFFF}, ab Skill 4\n{FFFFFF}Linie 5: SF Stadtlinie 1 {00D15A}(%d){FFFFFF}, ab Skill 6", Linie1,Linie2,Linie3,Linie4,Linie5);
    ShowPlayerDialog(playerid, DIALOG_LINIE, DIALOG_STYLE_LIST,"{FFFFFF}Linien Auswahl", string, "Starten", "Abbrechen");
    return 1;



    new p = GetPlayerVehicleID(playerid);
    new anzahl;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && GetPlayerVehicleID(i) == p) anzahl++;
    {
    //printf("%d Spieler ist in Linie 1", anzahl);
    Linie1 = 1;
    }
    }
    buscd[playerid] = 11;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF;
    Bankporter = Create3DTextLabel("Linie 1\nLS Stadtlinie 1",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter, p, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates[0][0], BusCoordinates[0][1], BusCoordinates[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");



    public BusCountdownTimer(playerid)
    {
    if(buscd[playerid] > 1)
    {
    new str[45];
    buscd[playerid]--;
    format(str, sizeof(str), "~w~haltestelle...~n~~b~%i", buscd[playerid]);
    GameTextForPlayer(playerid, str, 1000, 4);
    BusCountdown[playerid] = SetTimerEx("BusCountdownTimer", 1000, false, "d", playerid);
    }
    else
    {
    TogglePlayerControllable(playerid, 1);
    new msg[128];
    if(BusCP[playerid] < 11)
    {
    format(msg, sizeof(msg), "Die nächste Haltestelle wurde dir Makiert!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, msg);
    SetPlayerCheckpoint(playerid, BusCoordinates[BusCP[playerid]-1][0], BusCoordinates[BusCP[playerid]-1][1], BusCoordinates[BusCP[playerid]-1][2], 3);
    BusCP[playerid]++;
    }
    else
    {
    Delete3DTextLabel(Bankporter);
    new exp = random(2)+1;
    format(msg, sizeof(msg), "Die Fahrt ist nun zuende. Dir werden 2900$ am nächsten PayDay hinzugefügt. Erhaltende EXP: %d",exp);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, msg);
    Spieler[playerid][PayDayCash] += 2900;
    DisablePlayerCheckpoint(playerid);
    Spieler[playerid][BusExp] += exp;
    Linie1 = 0;
    BusCP[playerid] = 0;
    if(Spieler[playerid][BusExp] >= Spieler[playerid][BusMaxExp])
    {
    Spieler[playerid][BusExp] = 0;
    Spieler[playerid][BusMaxExp] *=2;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist um 1 Bus Skill aufgestiegen");
    Spieler[playerid][BusSkill] += 1;
    }
    }
    }
    }


    Danke das mit dem Print geht jetzt. Aber mit dem Dialog noch nicht.

    if(dialogid==DIALOG_LINIE)
    {
    if(response)
    {
    if(listitem==0)
    {
    new anzahl;
    for(new i=0; i<MAX_PLAYERS; i++)if(IsPlayerConnected(i) && Spieler[i][BusLinie] == 1) anzahl++;
    printf("%d Spieler sind in Linie 1", anzahl);
    buscd[playerid] = 11;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF;
    new p = GetPlayerVehicleID(playerid);
    Bankporter = Create3DTextLabel("Linie 1\nLS Stadtlinie 1",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter, p, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates[0][0], BusCoordinates[0][1], BusCoordinates[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");
    }
    if(listitem==1)
    {
    if(Spieler[playerid][BusSkill] < 2)
    {
    SendClientMessage(playerid,COLOR_RED,"Du brauchst den Busfahrer Skill 2!");
    return 1;
    }
    buscd[playerid] = 11;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF2;
    new s = GetPlayerVehicleID(playerid);
    Bankporter2 = Create3DTextLabel("Linie 2\nLS Stadtlinie 2",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter2, s, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates2[0][0], BusCoordinates2[0][1], BusCoordinates2[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");
    }
    if(listitem==2)
    {
    if(Spieler[playerid][BusSkill] < 4)
    {
    SendClientMessage(playerid,COLOR_RED,"Du brauchst den Busfahrer Skill 4!");
    return 1;
    }
    buscd[playerid] = 9;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF3;
    new m = GetPlayerVehicleID(playerid);
    Bankporter3 = Create3DTextLabel("Linie 3\nLS-SF",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter3, m, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates3[0][0], BusCoordinates3[0][1], BusCoordinates3[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");
    }
    if(listitem==3)
    {
    if(Spieler[playerid][BusSkill] < 4)
    {
    SendClientMessage(playerid,COLOR_RED,"Du brauchst den Busfahrer Skill 4!");
    return 1;
    }
    buscd[playerid] = 8;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF4;
    new a = GetPlayerVehicleID(playerid);
    Bankporter4 = Create3DTextLabel("Linie 4\nSF-LS",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter4, a, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates4[0][0], BusCoordinates4[0][1], BusCoordinates4[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");
    }
    if(listitem==4)
    {
    if(Spieler[playerid][BusSkill] < 6)
    {
    SendClientMessage(playerid,COLOR_RED,"Du brauchst den Busfahrer Skill 6!");
    return 1;
    }
    buscd[playerid] = 14;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF5;
    new b = GetPlayerVehicleID(playerid);
    Bankporter5 = Create3DTextLabel("Linie 5\nSF Stadtlinie 1",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter5, b, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates5[0][0], BusCoordinates5[0][1], BusCoordinates5[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");
    }
    }
    else
    {
    return 1;
    }

    Leider geht das nicht. Im Print steht immer das 0 Spieler eine Linie fahren. Und im Dialog ist auch eine 0.


    Das ist vom Dialog.


    new anzahl, string[200];
    format(string, sizeof(string),"{FFFFFF}Linie 1: LS Stadtlinie 1{00D15A}(%d){FFFFFF}, ab Skill 0\n{FFFFFF}Linie 2: LS Stadtlinie 2, ab Skill 2\n{FFFFFF}Linie 3: LS-SF, ab Skill 4\n{FFFFFF}Linie 4: SF-LS, ab Skill 4\n{FFFFFF}Linie 5: SF Stadtlinie 1, ab Skill 6", anzahl);
    ShowPlayerDialog(playerid, DIALOG_LINIE, DIALOG_STYLE_LIST,"{FFFFFF}Linien Auswahl", string, "Starten", "Abbrechen");
    return 1;


    Und das wo die Linie startet.


    new anzahl;
    for(new i=0; i<MAX_PLAYERS; i++)if(IsPlayerConnected(i) && Spieler[i][BusLinie] == 1) anzahl++;
    printf("%d Spieler sind in Linie 1", anzahl);
    buscd[playerid] = 11;
    BusCP[playerid] = 2;
    pCP[playerid] = CHECKPOINT_BUSBERUF;
    new p = GetPlayerVehicleID(playerid);
    Bankporter = Create3DTextLabel("Linie 1\nLS Stadtlinie 1",0x00CDFFFF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bankporter, p, 0.0, 0.0, 1.0);
    SetPlayerCheckpoint(playerid, BusCoordinates[0][0], BusCoordinates[0][1], BusCoordinates[0][2], 3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast die Linie Gestartet, Folge nun den Checkpoins!");

    Klammer einmal das hier aus oder lösche es.

    #define Verbindung "127.0.0.1"


    Und klammer das hier aus oder lösche es.


    if(!Connectstring[0] || strcmp(Connectstring,Verbindung,false))
    {
    printf("SERVER: Der Server ist nicht auf der IP '%s' gebinded!",Verbindung);
    print("SERVER: Server wird heruntergefahren Trage unter Verbindung Deine Serverip ein");
    SendRconCommand("exit");
    return 1;
    }

    Guten Abend, ich habe ein Problem wen ich eine NoDM Zone erstelle wird die auf der Karte perfekt angezeigt. Aber es passierd nix in der Zone sobald ich schlage. Aber wen ich eine fremde erstellte Zone einfüge geht alles. Ich verstehe einfach echt nicht was daran falsch ist. Ich hoffe ihr könnt mir helfen.


    Meine erstellte Zone.


    NODMZone2 = GangZoneCreate(1559.7419,-1862.5853,1399.0131,-1742.0469);


    GangZoneShowForPlayer(playerid,NODMZone2, 0xE10000FF);

    if(newkeys == KEY_FIRE)
    {
    if(IsPlayerInArea(playerid,1559.7419,-1862.5853,1399.0131,-1742.0469) || IsPlayerInArea(playerid,1710.9762, -1948.8087, 1812.2341, -1866.5508))
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    new Float:NDMZoneHealt;
    GetPlayerHealth(playerid,NDMZoneHealt);
    SetPlayerHealth(playerid,NDMZoneHealt - 20);
    SendClientMessage(playerid,ROT,"{FF2800}DAS IST EINE NO DM ZONE: {FAFAFA}Schlagen / Schießen / Töten {FF2800}IST VERBOTEN!");
    }
    }
    }

    Hey, ich möchte ein Repair Pickup erstellen. Das heißt wen ein Auto dadurch fährt wird es repariert. Das Funktioniort auch aber dann verschwindet das Pickup es soll aber die ganze zeit dableiben. Ich habe es auch schon hinbekommen das es dableibt aber dann Repairt das Auto nicht mehr. Ich habe schon verschiedene Types für Pickups ausprobiert doch nix hat geklappt. Ich hoffe mir kann einer helfen.

    sapdrep = CreatePickup(3096,1,1597.4547,-1625.9310,13.6382,0);
    fbirep = CreatePickup(3096,1,-1712.9836,976.3098,17.7859,0);

    if(pickupid == fbirep)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    new vIDD = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehicleHealth(vIDD, 1000);
    RepairVehicle(vIDD);
    SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
    return 1;
    }
    }
    }
    if(pickupid == sapdrep)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    new vIDD = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehicleHealth(vIDD, 1000);
    RepairVehicle(vIDD);
    SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
    return 1;
    }
    }
    }

    Guten Morgen, ich brauche eure Hilfe. Ich Scripte momentan an einem Selfmade und lerne mal wieder neue funktionen. Ich habe grade gelernt wie ich ein Tor bewegen lassen kann. Jetzt versteh ich aber noch nicht genau wie ich genau bestimmen kann das es nach unten oder nach oben oder nach links und rechts gehen soll.


    Hier ist ein Tor was nach Links geht aber ich möchte gerne das das es nach Rechts geht. Wie genau macht man das?



    MoveObject(lspdtor3,1584.69629-10, -1638.06104, 12.53330, 3.0);


    Und hier ist ein Tor was nach unten geht wie bekomme ich das nach Oben?


    MoveObject(lspdgate1,249.20000, 72.50000, 1004.40002-10, 3.0);


    Es wäre nett wen ihr mir das erklärt und per Pawn Code zeigt. Damit ich das schnell lerne und es mir merken kann.