Beiträge von Simon

    Guten Tag,


    Ich bin am verzweifeln. ich möchte das wenn einer ins Taxi steigt dem taxifahrer geld giebt. also der taxifahrer fährt rum und nimmt anrufe engegen, was auch bisher ohne probleme klappt.
    nun weiß ich nicht wie ich das machen muss, das wenn ein Kunde einsteigt das sich das Geld "sammelt" (pro 10 sekundne kommen $1,49 dazu) und sobald er das taxi verlässt dem taxifahrer das geld übergiebt. könnte mir da einer helfen? Wenn ihr teile aus meinen script braucht, schicke ich es. Hier wie ich die Autos für die Taxifahrer habe:


    new taxiauto[30];


    public OnGameModeInit()
    {
    //autos:
    taxiauto[0] = AddStaticVehicle(438,-2184.2031,306.3790,35.1450,359.8963,6,76); // sf taxi 1
    taxiauto[1] = AddStaticVehicle(438,-2175.7793,306.3790,35.1453,359.4155,6,76); // sf taxi 2
    taxiauto[2] = AddStaticVehicle(438,-2167.2241,306.3790,35.1445,0.2097,6,76); // sf taxi 3
    taxiauto[3] = AddStaticVehicle(438,-2159.2292,306.3790,35.1447,359.1295,6,76); // sf taxi 4
    taxiauto[4] = AddStaticVehicle(438,-2159.3430,293.5873,35.1450,180.1490,6,76); // sf taxi 5
    taxiauto[5] = AddStaticVehicle(438,-2167.4221,293.5873,35.1456,178.9186,6,76); // sf taxi 6
    taxiauto[6] = AddStaticVehicle(438,-2175.7351,293.5873,35.1449,179.5545,6,76); // sf taxi 7
    taxiauto[7] = AddStaticVehicle(438,-2184.1580,293.5873,35.1449,179.2379,6,76); // sf taxi 8
    taxiauto[8] = AddStaticVehicle(438,-2192.8640,293.5873,35.1448,180.1918,6,76); // sf taxi 9
    taxiauto[9] = AddStaticVehicle(438,-2201.4214,293.5873,35.1450,179.0793,6,76); // sf taxi 10
    taxiauto[10] = AddStaticVehicle(438,-2210.1338,293.5873,35.1452,180.6180,6,76); // sf taxi 11
    taxiauto[11] = AddStaticVehicle(438,-2218.6157,293.5873,35.1451,179.8199,6,76); // sf taxi 12
    taxiauto[12] = AddStaticVehicle(438,-2227.2312,293.5873,35.1450,179.8439,6,76); // sf taxi 13
    taxiauto[13] = AddStaticVehicle(438,-2235.6106,293.5873,35.1449,178.4133,6,76); // sf taxi 14
    taxiauto[14] = AddStaticVehicle(438,-2235.4609,306.3790,35.1452,359.6193,6,76); // sf taxi 15
    taxiauto[15] = AddStaticVehicle(438,-2226.8684,306.3790,35.1445,0.3725,6,76); // sf taxi 16
    taxiauto[16] = AddStaticVehicle(438,-2218.3547,306.3790,35.1451,359.8901,6,76); // sf taxi 17
    taxiauto[17] = AddStaticVehicle(420,1777.1293,-1886.0105,13.1680,90.0721,6,1); // ls taxi 1
    taxiauto[18] = AddStaticVehicle(420,1777.1293,-1890.0105,13.1660,90.1538,6,1); // ls taxi 2
    taxiauto[19] = AddStaticVehicle(420,1777.1293,-1894.0105,13.1731,89.4291,6,1); // ls taxi 3
    taxiauto[20] = AddStaticVehicle(420,1777.1293,-1898.0105,13.1649,89.1020,6,1); // ls taxi 4
    taxiauto[21] = AddStaticVehicle(420,1777.1293,-1902.0105,13.1976,89.7102,6,1); // ls taxi 5
    taxiauto[22] = AddStaticVehicle(420,1777.1293,-1906.0105,13.1642,89.5825,6,1); // ls taxi 6
    taxiauto[23] = AddStaticVehicle(420,1777.1293,-1910.0105,13.1655,91.0562,6,1); // ls taxi 7
    taxiauto[24] = AddStaticVehicle(420,1777.1293,-1914.0105,13.1650,89.2689,6,1); // ls taxi 8
    taxiauto[25] = AddStaticVehicle(420,1777.1293,-1918.0105,13.1620,89.9900,6,1); // ls taxi 9
    taxiauto[26] = AddStaticVehicle(420,1777.1293,-1922.0105,13.1652,89.8097,6,1); // ls taxi 10
    taxiauto[27] = AddStaticVehicle(420,1777.1293,-1926.0105,13.1754,90.8608,6,1); // ls taxi 11
    taxiauto[28] = AddStaticVehicle(420,1777.1293,-1930.0105,13.1731,90.5852,6,1); // ls taxi 12
    taxiauto[29] = AddStaticVehicle(420,1777.1293,-1934.0105,13.1731,90.5852,6,1); // ls taxi 13
    return 1;
    }



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(ispassenger == 0) //wenn er als fahrer einsteigt
    {
    for(new j = 0;j<sizeof taxiauto;j++)
    {
    if(vehicleid == taxiauto[j]) //wenn er in ein taxi steigt
    {
    if(gTeam[playerid] == Team_Taxi) //wenn er taxi fahrer ist passiert nichts
    {
    }
    else //ansonsten
    {
    TogglePlayerControllable(playerid,1); //vorgang wird gestoppt
    }
    }
    }
    }
    return 1;
    }

    Guten Tag. Ich suche schon ganze Zeit ein Pickup. Un zwar so einen roten Kanister. So ein Kanister wo man Benzin rein füllen kann meine ich.
    Außerdem wollte ich fragen ob man pickups nur für bestimmte Spieler anzeigen lassen kann?

    also ich habe da auch lange gesucht und habs nicht gefunden, ich bin mir nicht sicher, aber ich glaube man kann die nicht ändern.. ich weiß es aber nicht genau..

    lade dir 9999 antivir programme runter um festzustellen das du nicht einen klitzekleinen virus hast. man kannst ganz einfach anfordern.. und es giebt auch sicher programme dafür, die jedoch nicht auf dein rechner zugreifen...

    ähhmm nein, du kannst ein neues passwort von icq anfordern, du kannst dabei jede email addy angeben. wichtig ist nur das die antwort auf die Sicherheitsfrage, die du beim erstellen deines accounts gemacht hast richtig ist. und wie du schon gesagt hast, kennen viele die antwort... also ist es ein kinderspiel in dein icq zu kommen ohne programme ohne großen aufwand..

    dir nützen keine programme etwas!!!


    der weiß die antwort auf deine sicherheitsfrage. somit fordert er einfach ein neues pw von icq an. lösch alle deine kontakte und mach nen neuen account und diesmal nehm ne andere sicherheitsfrage und antwort

    naya hacken wirds nicht sein, hatte das problem auch. sobald du von icq.com ein neues pw anforderst, musst du deine icq nummer angeben, der der dich "hacken" will, giebt dann deine an.
    dann muss er eine sicherheitsfrage beantworten und seine email addy hinschreiben. die antwort auf die sicherheitsfrage weiß er wohl und schickt immer ein neues passwort an seine email und loggt sich genütlich ein.


    was kann man machen?


    alle kontakte löschenund informieren >> neuen icq account >> kontakte wieder adden


    diesmal würde ich mir ne bessere sicherheitsfrage ausdenken..

    achso.. du willst das ganze auch noch inder ini speicher. ja kla kanst du das. hast du ein public, wo die ini überschrieben wird? also bei den meisten heißt es Update oder Playerupdate oder Spielerupdate oder sowas in der art, was so aussieht:


    public Update(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",SpielerName);
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"AdminLevel",Spieler[playerid][Admin]);
    dini_IntSet(Spielerdatei,"Score",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Wanteds",Spieler[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Spawn",Spieler[playerid][Spawn]);
    dini_IntSet(Spielerdatei,"Team",gTeam[playerid]);
    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    dini_Set(Spielerdatei,"IP",plrIP);
    return 1;
    }


    und dann benötige ich noch das von dir, wo es definiert wird, so in der art:


    enum Sinfo
    {
    Passwort[256],
    Geld,
    Score,
    Admin,
    Geschlecht,
    Alter,
    Wanteds,
    Skin,
    Team,
    Spawn,
    IP[128]
    }
    new Spieler[MAX_PLAYERS][Sinfo];


    Dann kann ich es einbauen

    achsoo :D ja gut weiß ich bescheid... auch wieder stumpf sowas, 2 gleise und nur eins geht...


    dankeschön

    du musst 3 floats machen: new Float:x, Float:y, Float:z.
    die musste oben zu den news hinschreiben.
    dann beim sscanf: "ufff", pID, x, y, z


    und dann SetSpawnInfo halt anpassen

    jo bei suchen bist du hier aber nicht richtig. Benutze die SuFu(Suchfunktion) um etwas zu finden. du kannst das dann ja editieren oder uns nochmal fragen wenn es probleme giebt..

    Guten Tag


    Ich hatte auf meinem Alten script ein Speedo, und möchte auch diesmal wieder ein machen, diesmal soll es aber selfmade werden. Es wurde der Ort angezeigt, die mit koordinaten festgelegt worden sind. außerdem wurde noch etwas festgelegt, was ich aber nicht verstehe:


    enum zoneinfo {
    zone_name[27], //wie kommt man hier auf die 27? sind es nicht mehr als 27 Orte? oder ist damit die Länge des Zonennamens gemeint?
    Float:zone_minx,
    Float:zone_miny,
    Float:zone_minz,
    Float:zone_maxx,
    Float:zone_maxy,
    Float:zone_maxz
    }


    new zones[][zoneinfo] = {
    { "'The Big Ear'", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00},
    { "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00},
    { "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00},
    { "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00},
    { "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00},
    { "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00},
    { "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00},
    { "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10},
    { "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10},
    { "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70},
    { "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00},
    { "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00},
    { "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00},
    { "Bayside Marina", -2353.10, 2275.70, 0.00, -2153.10, 2475.70, 200.00},
    //ander orte die ich aufgrunf max. Zeichen nicht posten kann
    // Main Zones
    { "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00},
    { "Las Venturas", 869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00},
    { "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00},
    { "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00},
    { "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00},
    { "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00},
    { "Red County", -1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00},
    { "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00},
    { "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115

    Guten Tag. Ich arbeite gerade an einem Nebenjob: Taxifahrer. Ich bin da schon sehr weit gekommen: Man kann sich den Job "Taxifahrer" am Arbeitsamt aussuchen und muss ihn dann am HQ des jeweiligen Jobs, also hier: Taxihq, annehmen. dann kann man in die Taxis rein, und muss mit /taxi in dienst gehen. Mit /service öffnet sich eine dialog list wo bisher nur Taxi steht. man kann nun wemm man taxi auswählt ein Taxi rufen. Wenn man nun Taxifahrer ist und im dienst ist und /taxiannehmen Id eingiebt, dann kann man den anruf entgegenehmen und es wird ein Checkpoint erstellt. Man hat nun 3 Minuten Zeit dort hinzufahren. alles wunderbar, läuft die Zeit ab, ist der Marker weg. wenn man nun angekommen ist, und den Kunden fahren möchte, soll es ja nicht Kostenlos sein. Doch ich weiß nicht wie ich das nun Machen kann, das nach einer bestimmten Zeit das Geld steigt solange man im Taxi ist und sobald er das Taxi verlässt ihm das Geld abgezogen und dem Taxifahrer das gegeben wird. Hier mein Taxisystem wie ich es bisher habe:


    #define DIALOG_JOB 4
    #define DIALOG_SERVICE 5
    #define DIALOG_CANCEL 6


    #define Team_Taxi 1


    new taxiauto[30];
    new ptaxi[MAX_PLAYERS];//ob er als Taxifahrer unterwegs ist
    new needtaxi[MAX_PLAYERS];//ob er ein Taxi gerufen hat.
    new taxicheck[MAX_PLAYERS];//taxicheckpoint
    new taxicount[MAX_PLAYERS];//die 180 sekunden die ablaufen


    forward taxicountdown(playerid);


    public OnGameModeInit()
    {
    //autos:
    taxiauto[0] = AddStaticVehicle(438,-2184.2031,306.3790,35.1450,359.8963,6,76); // sf taxi 1
    taxiauto[1] = AddStaticVehicle(438,-2175.7793,306.3790,35.1453,359.4155,6,76); // sf taxi 2
    taxiauto[2] = AddStaticVehicle(438,-2167.2241,306.3790,35.1445,0.2097,6,76); // sf taxi 3
    taxiauto[3] = AddStaticVehicle(438,-2159.2292,306.3790,35.1447,359.1295,6,76); // sf taxi 4
    taxiauto[4] = AddStaticVehicle(438,-2159.3430,293.5873,35.1450,180.1490,6,76); // sf taxi 5
    taxiauto[5] = AddStaticVehicle(438,-2167.4221,293.5873,35.1456,178.9186,6,76); // sf taxi 6
    taxiauto[6] = AddStaticVehicle(438,-2175.7351,293.5873,35.1449,179.5545,6,76); // sf taxi 7
    taxiauto[7] = AddStaticVehicle(438,-2184.1580,293.5873,35.1449,179.2379,6,76); // sf taxi 8
    taxiauto[8] = AddStaticVehicle(438,-2192.8640,293.5873,35.1448,180.1918,6,76); // sf taxi 9
    taxiauto[9] = AddStaticVehicle(438,-2201.4214,293.5873,35.1450,179.0793,6,76); // sf taxi 10
    taxiauto[10] = AddStaticVehicle(438,-2210.1338,293.5873,35.1452,180.6180,6,76); // sf taxi 11
    taxiauto[11] = AddStaticVehicle(438,-2218.6157,293.5873,35.1451,179.8199,6,76); // sf taxi 12
    taxiauto[12] = AddStaticVehicle(438,-2227.2312,293.5873,35.1450,179.8439,6,76); // sf taxi 13
    taxiauto[13] = AddStaticVehicle(438,-2235.6106,293.5873,35.1449,178.4133,6,76); // sf taxi 14
    taxiauto[14] = AddStaticVehicle(438,-2235.4609,306.3790,35.1452,359.6193,6,76); // sf taxi 15
    taxiauto[15] = AddStaticVehicle(438,-2226.8684,306.3790,35.1445,0.3725,6,76); // sf taxi 16
    taxiauto[16] = AddStaticVehicle(438,-2218.3547,306.3790,35.1451,359.8901,6,76); // sf taxi 17
    taxiauto[17] = AddStaticVehicle(420,1777.1293,-1886.0105,13.1680,90.0721,6,1); // ls taxi 1
    taxiauto[18] = AddStaticVehicle(420,1777.1293,-1890.0105,13.1660,90.1538,6,1); // ls taxi 2
    taxiauto[19] = AddStaticVehicle(420,1777.1293,-1894.0105,13.1731,89.4291,6,1); // ls taxi 3
    taxiauto[20] = AddStaticVehicle(420,1777.1293,-1898.0105,13.1649,89.1020,6,1); // ls taxi 4
    taxiauto[21] = AddStaticVehicle(420,1777.1293,-1902.0105,13.1976,89.7102,6,1); // ls taxi 5
    taxiauto[22] = AddStaticVehicle(420,1777.1293,-1906.0105,13.1642,89.5825,6,1); // ls taxi 6
    taxiauto[23] = AddStaticVehicle(420,1777.1293,-1910.0105,13.1655,91.0562,6,1); // ls taxi 7
    taxiauto[24] = AddStaticVehicle(420,1777.1293,-1914.0105,13.1650,89.2689,6,1); // ls taxi 8
    taxiauto[25] = AddStaticVehicle(420,1777.1293,-1918.0105,13.1620,89.9900,6,1); // ls taxi 9
    taxiauto[26] = AddStaticVehicle(420,1777.1293,-1922.0105,13.1652,89.8097,6,1); // ls taxi 10
    taxiauto[27] = AddStaticVehicle(420,1777.1293,-1926.0105,13.1754,90.8608,6,1); // ls taxi 11
    taxiauto[28] = AddStaticVehicle(420,1777.1293,-1930.0105,13.1731,90.5852,6,1); // ls taxi 12
    taxiauto[29] = AddStaticVehicle(420,1777.1293,-1934.0105,13.1731,90.5852,6,1); // ls taxi 13
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/taxi", cmdtext, true, 10) == 0)
    {
    if(gTeam[playerid] == 1)
    {
    for(new j = 0;j<sizeof taxiauto;j++)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(vehicleid == taxiauto[j])
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(ptaxi[playerid] == 0)
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du Kannst nun Taxianrufe mit /taxiannehmen entgegennehmen!");
    ptaxi[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du kannst nun keine Taxianrufe mehr engegennehmen!");
    ptaxi[playerid] = 0;
    }
    }
    }
    }
    }
    }
    if(strcmp("/service", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_SERVICE,DIALOG_STYLE_LIST,"Service","Taxi","Wählen","Abbrechen");
    }
    if(strcmp("/cancel", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_CANCEL,DIALOG_STYLE_LIST,"Was Wollen sie Canceln?","Taxi","Wählen","Abbrechen");
    }
    if(strcmp("/job", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,-2169.5828, 252.3392, 35.3327))
    {
    if(gTeam[playerid] == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_JOB,DIALOG_STYLE_LIST,"Wähle Dein Job","Taxifahrer\nBusfahrer\nZugführer","Okay","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,türkis,"Du hast gekündigt, mit /job kannst du dir einen neuen Job aussuchen!");
    gTeam[playerid] = 0;
    Update(playerid);
    }
    }
    }
    return 1;
    }


    dcmd_taxiannehmen(playerid,params[])
    {
    new pID;
    if(sscanf(params, "u", pID))
    {
    return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /taxiannehmen [ID]");
    }
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,0xFF0000FF,"Ungültige Id!");
    }
    if(needtaxi[pID] == 0)
    {
    return SendClientMessage(playerid,0xFF0000FF,"Dieser Spieler benötigt kein Taxi!");
    }
    if(ptaxi[playerid] == 0)
    {
    return SendClientMessage(playerid,0xFF0000FF,"Du musst /taxi benutzten um Anrufe anzunehmen!");
    }
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
    return SendClientMessage(playerid,0xFF0000FF,"Du musst der Fahrer eines Taxi´s sein!");
    }
    if(taxicheck[playerid] == 1)
    {
    return SendClientMessage(playerid,0xFF0000FF,"Du hast bereits ein Anruf angenommen!");
    }
    else
    {
    new aname[MAX_PLAYER_NAME],bname[MAX_PLAYER_NAME],str1[256],str2[256];
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,bname,sizeof(bname));
    format(str1,sizeof(str1),"Sie haben den Anruf von %s (%d) angenommen, sie haben 3 Minuten Zeit!",bname, pID);
    format(str2,sizeof(str2),"%s (%d) hat ihren Anruf angenommen und wird in kürze Eintreffen!",aname, playerid);
    SendClientMessage(playerid,türkis,str1);
    SendClientMessage(pID,türkis,str2);
    needtaxi[pID] = 0;
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID,x,y,z);
    SetPlayerCheckpoint(playerid,x,y,z,5);
    taxicheck[playerid] = 1;
    taxicount[playerid] = 181;
    taxicountdown(playerid);
    }
    return 1;
    }


    public taxicountdown(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    taxicount[i]--;
    if(taxicount[i] >= 2)
    {
    new str1[256];
    format(str1,sizeof(str1),"~y~%d",taxicount[i]);
    GameTextForPlayer(i,str1,1000,6);
    SetTimer("taxicountdown",1000,0);
    }
    else
    {
    taxicheck[i] = 0;
    DisablePlayerCheckpoint(i);
    }
    }
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    if(ptaxi[playerid] == 1)
    {
    ptaxi[playerid] = 0;
    SendClientMessage(playerid,0xFFFFFFFF,"Sie können nun keine Anrufe mehr entgegennehmen!");
    }
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(taxicheck[playerid] == 1)
    {
    taxicheck[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,0x00FF00FF,"Sie haben das Ziel erreicht!");
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_JOB)
    {
    if(response)
    {
    if(listitem == 0)
    {
    jobcheck[playerid] = 1;
    SendClientMessage(playerid,türkis,"Begebe dich zu der markierten Postion um den Job Taxifahrer anzunehmen!");
    SetPlayerCheckpoint(playerid,1761.8593,-1894.6744,13.5612,5);
    }
    if(listitem == 1)
    {
    jobcheck[playerid] = 2;
    SendClientMessage(playerid,türkis,"Begebe dich zu der markierten Postion um den Job Busfahrer anzunehmen!");
    SetPlayerCheckpoint(playerid,1209.6779,-1748.6970,13.5937,5);
    }
    if(listitem == 2)
    {
    jobcheck[playerid] = 3;
    SendClientMessage(playerid,türkis,"Begebe dich zu der markierten Postion um den Job Zugführer anzunehmen!");
    SetPlayerCheckpoint(playerid,1432.7725,2620.2307,11.3926,5);
    }
    }
    }
    if(dialogid == DIALOG_SERVICE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(needtaxi[playerid] == 0)
    {
    new str1[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str1,sizeof(str1),"%s (%d) Benötigt ein Taxi nahe %s. Benutzt /taxiannehmen, um den Anruf engenenzunehmen!",name, playerid ,ReturnPlayerZone(playerid));
    needtaxi[playerid] = 1;
    SendClientMessage(playerid,türkis,"Sie haben ein Taxi geruden, warten sie auf eine Antwort!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gTeam[i] == 1)
    {
    SendClientMessage(i,0x0000FFFF,str1);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Sie haben bereits ein Taxi gerufen!");
    }
    }
    }
    }
    if(dialogid == DIALOG_CANCEL)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Taxianfrage gecancelt!");
    needtaxi[playerid] = 0;
    }
    }
    }
    return 1;
    }

    unter OnGameMode Init:


    LimitGlobalChatRadius(70.0);


    Die 70 steht für den Abstand, musste mal austesten, 70 ist aber ganz gut, wenn du weniger willst musst du weniger machen.

    Guten Tag, Ich arbeite zurzeit an einer von 3 zuglienen. die eine startet in ls, die 2. ins sf und die 3. in lv. ich bin nun bei der 1. in ls angefangen und es treten schon bugs auf, obwohl ich erst 2 stationen drinne habe. und zwar läuft alles perfekt wenn ein spieler /zug macht, bei 2en werden die timer iwie vermischt und nichts klappt mehr:


    new zuglinie[MAX_PLAYERS];//welche zugliene er nimmt, muss abgefragt werden um zu wissen welcher checkpoint als nächstes kommt
    new zugcheck[MAX_PLAYERS]; //checkpoint, jeder checkpoint hat seine id, bsp: hbf ls ist: checkpoint[playerid] = 1;
    new countdown[MAX_PLAYERS]; //countdown, der von 10 runter läugt, wenn er abgelaufen ist fragt er linie und checkpoint ab. jenachdem wird dann der nächste checkpoint gesetzt
    new zugstart[MAX_PLAYERS];//man kann in ls,sf,und ls starten, wenn man einma rum ist und wieder in ls ankommt dann soll die linie vorüber sein, hier wird abgefragt ob er das 2. mal diese haltestelle ls/sf/lv durchquerrt.


    new zugauto[10];//die züge


    public OnGameModeInit()
    {
    zugauto[0] = AddStaticVehicle(538,-1946.7235,172.2434,25.7186,355.8037,0,0);//sf zug 1
    zugauto[1] = AddStaticVehicle(538,-1946.7235,172.2434,25.7186,355.8037,0,0);//sf zug 2
    zugauto[2] = AddStaticVehicle(538,1700.4728,-1953.6523,14.8756,269.8264,126,126); //ls zug 1
    zugauto[3] = AddStaticVehicle(538,1700.4728,-1953.6523,14.8756,269.8264,126,126); //ls zug 2
    zugauto[4] = AddStaticVehicle(538,1443.5802,2632.6489,10.8203,268.6442,7,7); //lv zug 1
    zugauto[5] = AddStaticVehicle(538,1443.5802,2632.6489,10.8203,268.6442,7,7); //lv zug 2
    zugauto[6] = AddStaticVehicle(538,132.6992,1272.2493,23.4863,251.4290,86,86); //zug fort carson
    zugauto[7] = AddStaticVehicle(538,2864.4336,1270.4689,10.8203,183.4454,1,1); // zug east lv
    zugauto[8] = AddStaticVehicle(538,2284.9429,-1316.2509,24.0000,181.2755,3,3); //zug east ls
    zugauto[9] = AddStaticVehicle(538,2096.9131,-1953.7500,15.1256,270.0000,5,5); //zug willowfield
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/zug", cmdtext, true, 10) == 0)
    {
    if(gTeam[playerid] == 3) //ob er job zug hat
    {
    for(new j = 0;j<sizeof zugauto;j++)
    {
    if(IsPlayerInVehicle(playerid,zugauto[j])) //ob er in einem zugsitzt
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,1700.4728,-1953.6523,14.8756)) //ob er in ls ist, bisher nur ls linie verfügbar
    {
    zuglinie[playerid] = 1; //die zuglinie wurde gestartet, wenn er wieder ls hbf ankommt wird sie auf 0 gesetzt und die linie beendet
    zugcheck[playerid] = 0; //checkpoint id
    SendClientMessage(playerid,türkis,"Los Santos Hauptbahnhof");
    SetPlayerCheckpoint(playerid, 1702.0000,-1953.6553,14.8756,5);
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du kannst deine Zuglinie nur am Ls, Sf oder LV HBF starten!");
    }
    }
    }
    }
    }
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(zugcheck[playerid] == 0)//wenn er durch ls hbf checkpoint fährt
    {
    countdown[playerid] = 11; //countdown auf 11 sekunden gesetzt
    countdown1(playerid); //public countdown1(playerid) wird aktiviert
    }
    if(zugcheck[playerid] == 1)//wenn er durch checkpoint nummer 1(2. checkpoint >> market station) fährt.
    {
    countdown[playerid] = 11; //das selbe wie oben, mit einer nachricht
    SendClientMessage(playerid,türkis,"Market Station Los Santos, Ausstieg: Rechts!");
    countdown1(playerid);
    }
    return 1;
    }


    public countdown1(playerid)
    {
    if(countdown[playerid] >= 2) //wenn countdown zeit über 2 ist, das heißt die letzte sekunde ist 1, bei 0 wird nächster marker gesetzt
    {
    new str1[256];
    countdown[playerid]--; //countdown wird um 1 veringert, also beim 1. mal auf 10
    format(str1,sizeof(str1),"~r~%d",countdown[playerid]); //die zeit läuft ab, von 10-1 und bei 0 ist nächster checkpoint da
    GameTextForPlayer(playerid,str1,1000,6);
    SetTimer("countdown1",1000,0); //nach einer sekunde wird selbes public aktiviert, countdown wird wiede rum eine sekunde verringert und ist nun auf 9, usw..
    }
    else //nach 10 sekunden etwa:
    {
    if(zugcheck[playerid] == 0)//wenn checkpoint in ls hbf ist
    {
    if(IsPlayerInRangeOfPoint(playerid,6.5,1702.0000,-1953.6553,14.8756)) // wenn er immernoch im bereich des checkpoints ist
    {
    if(zugstart[playerid] == 0) //zugliene beginnt, also wird sie gleich auf 1 gesetzt, damit beim nächsten antreffen am ls hbf die linie beendet wird
    {
    SetPlayerCheckpoint(playerid,787.3265,-1341.9502,-0.1244,5);
    SendClientMessage(playerid,türkis,"Nächster halt: Market Station (Los Santos)!");
    zugcheck[playerid] = 1;
    }
    if(zugstart[playerid] == 1) //wenn sie nun ,1 ist und es die linie "LS" ist wird die linie beendet
    {
    SendClientMessage(playerid,0x00FF00FF,"Du hast die Linie erfolgreich beendet!");
    zugstart[playerid] = 0;
    }
    }
    else //falls er net mehr im bereich des checkpoints ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Haltestelle verpasst!");
    }
    }
    }
    return 1;
    }



    bisher nur 1 line von 3, und in dieser einen linie auch nur 2 checkpoints, die anfangs: ls hbf und die darauffolgende market station..
    und buggy wie sau, habs bestimmt viel zu kompliziert undresaurcen verschwenderisch gemacht, war nun das 1. mal das ich das gemacht habe.


    bug nochmal erklärt: Die timer spielen verück und somit auch die checkpoints wenn bereits 2 Spieler zur selben zeit zugfahren.


    Könntet ihr mir bitte helfen, wäre echt nett, danke:D


    MfG
    Simon