Beiträge von reaL.

    [12/02/2015 19:48:29] aktiv: 1
    [12/02/2015 19:48:29] checkpoint: 0
    [12/02/2015 19:48:29] Setze random checkpoint
    [12/02/2015 19:48:35] aktiv: 1
    [12/02/2015 19:48:35] checkpoint: 0


    wenn ich das so mache kann ich trotzdem ich zufuß bin in den 1 Cp und in den Random cp auch
    aber wenn ich in den Random Cp gehe passiert nichts mehr aber wieso ?
    if(Postinfo[playerid][post_Checkpoint] == 0)
    wenn ich das auf 1 lasse passiert dort schon nichts mehr wenn ich das auf 1 setze wird der Random Cp gesetzt
    printf("aktiv: %d", Postinfo[playerid][post_bAktiv]);
    if(Postinfo[playerid][post_bAktiv])
    {
    printf("checkpoint: %d", Postinfo[playerid][post_Checkpoint]);
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 0;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 1;
    printf("post: %i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze checkpoint hinter Fahrzeug.");
    new veh = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z;
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }

    [12/02/2015 19:36:04] aktiv: 1
    [12/02/2015 19:36:04] checkpoint: 0


    habe auf == 0 geändert aber 1 kann ich in den 1 Cp ohne car rein und 2 wenn ich den Random cp betrete auch ohne car passiert nichts mehr ?

    beim LSPD guken in der Garage Wände von oben durch
    oder soll man daunten nicht rein ?
    387NewborN:


    und bei der Stadthalle läd alles nur wenn man fast direkt davor steht auch wenn ich nur die stadthalle drinne habe aber wieso ?
    habe es mit CreateDynamicObejct gemacht und die Draw/Stream distanc auf 400 aber trotzdem nicht

    Passiert immernoch nichts


    hier z.b wie ich es bei Müllmann gemacht habe


    if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Muellfuhr_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Muellmann[playerid][pmi_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new String[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Muellfuhr_Stationen));
    SendClientMessage(playerid,IGELB,String);
    SetPlayerCheckpoint(playerid,Muellfuhr_Stationen[playercp][M_fx],Muellfuhr_Stationen[playercp][M_fy],Muellfuhr_Stationen[playercp][M_fz],Muellfuhr_Stationen[playercp][M_fRad]);
    }
    return 1;
    }

    schon gut


    es ist so wenn ich in den 1 Cp fahr geht er weg Passiert aber nichts weiter aber wieso ?


    playerinfo
    post,
    Float:postx,
    Float:posty,
    Float:postz



    oben im Script


    enum e_Post
    {
    Float:P_fx,
    Float:P_fy,
    Float:P_fz,
    Float:P_fRad
    }


    enum e_PlayerPostInfo
    {
    bool:post_bAktiv,
    post_Checkpoint
    }


    new Post[MAX_PLAYERS][e_PlayerPostInfo];


    new Postfuhr_Stationen[][e_Post] =
    {
    {2200.8418,-2302.9058,14.7647,5.0},
    {2181.8735,-2300.1912,13.5469,5.0}
    };


    new Float:RandomSpawn1[][4] =
    {
    // Positions, (X, Y, Z and Facing Angle)
    {2227.2026,-2270.1094,14.7647,5.0},
    {2231.3899,-2269.3999,14.7647,5.0},
    {2239.1406,-2264.8552,14.7647,5.0},
    {2242.1814,-2263.8989,14.7647,5.0}
    };



    beim starten der Route


    Post[playerid][post_Checkpoint]=0;
    Post[playerid][post_bAktiv]=true;
    SetPlayerCheckpoint(playerid,Postfuhr_Stationen[0][P_fx],Postfuhr_Stationen[0][P_fy],Postfuhr_Stationen[0][P_fz],Postfuhr_Stationen[0][P_fRad]);



    OnPlayerEnterCheckpoint


    if(Post[playerid][post_bAktiv])
    {
    if(Post[playerid][post_Checkpoint] == 1)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    new Float:x,Float:y,Float:z;
    new veh = GetPlayerVehicleID(playerid);
    Post[playerid][post_Checkpoint] = 0;
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Post[playerid][post_Checkpoint] = 1;
    printf("%i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }

    das ist aber find ich unübersichtlich wollte


    Player kriegt 1 cp
    dann
    Random => Hinten => Random => Hinten =>
    10x das
    und wenn er den dann fertig hat soll er wieder normale cp bekommen damit er dann die Packete ausliefert
    kann ich das wie ganz oben machen oder muss ich das so machen ?



    public OnPlayerEnterCheckpoint(playerid) {
    new trinkgeld = random(85); // Betrag für das Trinkgeld, lässt sich beliebig ändern! ( Zufalls Betrag )
    new string[256];
    if(Checkpoint[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, -89.2432,-1189.7782,2.3241, 5.0);
    Checkpoint[playerid] = 2;
    }
    else if(Checkpoint[playerid] == 2)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, -63.3734,-1588.5732,3.1782, 5.0);
    Checkpoint[playerid] = 3;
    }
    else if(Checkpoint[playerid] == 3)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, 220.8943,-1393.5308,52.1264, 5.0);
    Checkpoint[playerid] = 4;
    }
    else if(Checkpoint[playerid] == 4)
    {
    ...
    }

    Hallo com,
    ich habe eine Kleine frage zum Neon System sollte man abfragen in welchen Car er sitzt und die Neon stangen für Jedes Car selber machen sprich mit dem Editor Ingame für
    Insernus
    Turismo......
    und die anderen Cars speichern oder reicht es wenn man das an ein Car macht und das dann einfach an Jedes Car Klatscht ?

    jaa


    also für den 1 cp muss man in ein postcar sein
    und für den Random cp und den cp hinter dem car muss man in ein forklift sein dafür die schleifen oder sind die unnötig ?

    naja ich will die pos hinter dem car herrausfinden


    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;


    oder wie kann ich das besser machen ?
    und wenn er dann ein Randomcp betritt den cp hinter dem car erstellen

    wiso wird da immer +1 gemacht bis 10 ?
    oder wie kann ich abfragen ob ich den Random CP betrete ?
    Jeffry:
    if(Post[playerid][post_bAktiv])
    {
    new rand = random(sizeof(RandomSpawn));
    for(new i = 0; i < sizeof(postcar); i++)
    {
    for(new f = 0; f < sizeof(forklift); f++)
    {
    switch(Post[playerid][post_Checkpoint])
    {
    case 0:
    {
    if(IsPlayerInVehicle(playerid,postcar[i]))
    {
    new Float:x,Float:y,Float:z;
    new veh = GetPlayerVehicleID(playerid);
    Post[playerid][post_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2],5.0);
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    return 1;
    }
    else
    {
    }
    }
    default:// hier frage ich mit ab ob er den Random CP betritt
    {
    if(IsPlayerInVehicle(playerid,forklift[f]))
    {
    sInfo[playerid][post] += ;
    printf("%i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);//wenn ich den hier setzt und in den rein fahre wird sInfo[playerid][post bis auf 10 hochgezählt
    return 1;
    }
    }
    else
    {
    }
    }
    }
    }
    }
    }

    wiso geht das nicht ?


    for(new i = 0; i < sizeof(postcar); i++)
    {
    for(new f = 0; f < sizeof(forklift); f++)
    {
    switch(Post[playerid][post_Checkpoint])
    {
    case 0:
    {
    if(IsPlayerInVehicle(playerid, i))
    {
    Post[playerid][post_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2],5.0);
    return 1;
    }
    else
    {
    }
    }

    also so ?
    und die abfrage kann dann so bleiben ? dann wird der Checkpoint bei der abfrage auch genommen ?
    if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Muellfuhr_Stationen))
    {
    new veh = GetPlayerVehicleID(playerid);
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    SendClientMessage(playerid,EGRÜN,"Du hast deine Arbeit Erledigt!");
    Muellmann[playerid][pmi_bAktiv]=false;
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    }
    else
    {
    new neuerCP = random(sizeof(Muellfuhr_Stationen));
    SetPlayerCheckpoint(playerid,Muellfuhr_Stationen[neuerCP][M_fx],Muellfuhr_Stationen[neuerCP][M_fy],Muellfuhr_Stationen[neuerCP][M_fz],Muellfuhr_Stationen[neuerCP][M_fRad]);
    }
    return 1;
    }

    ich brauche ja die Random Checkpoint's
    also er soll in den 1 Fahren dann soll ein Random CP kommen dann hinter dem Car und dann 10x
    und dann halt die Strecke kann mann da hier drinne dann machen ?


    new Muellfuhr_Stationen[][e_Muell] =
    {
    {2091.2129,-2106.8862,13.3175,5.0},
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    // Randomcp
    // Hinter Car CP
    {1927.7747,-2163.7195,13.3828,5.0}
    };

    Oke danke
    Und wie erstelle ich hinder dem Car ein cp ?


    kann ich hier auch 3 random cp's einbauen ?
    new Muellfuhr_Stationen[][e_Muell] =
    {
    {2091.2129,-2106.8862,13.3175,5.0},
    hier dann z.b 3 mal random cp
    {1927.7747,-2163.7195,13.3828,5.0}
    };

    ja habe ich wenn er in das Car einsteigt dann erstelle ich so den ersten Checkpoint


    Muellmann[playerid][pmi_Checkpoint]=0;
    Muellmann[playerid][pmi_bAktiv]=true;
    SetPlayerCheckpoint(playerid,Muellfuhr_Stationen[0][M_fx],Muellfuhr_Stationen[0][M_fy],Muellfuhr_Stationen[0][M_fz],Muellfuhr_Stationen[0][M_fRad]);
    SendClientMessage(playerid,GELB,"Du hast den Dienst als Müllman begonnen!");
    SendClientMessage(playerid,GELB,"Fahre nun die Checkpoint's ab!");

    enum e_Muell
    {
    Float:M_fx,
    Float:M_fy,
    Float:M_fz,
    Float:M_fRad
    }


    enum e_PlayerMuellInfo
    {
    bool:pmi_bAktiv,
    pmi_Checkpoint
    }


    new Muellmann[MAX_PLAYERS][e_PlayerMuellInfo];


    new Muellfuhr_Stationen[][e_Muell] =
    {
    {2091.2129,-2106.8862,13.3175,5.0},
    // 1
    // 2
    {1927.7747,-2163.7195,13.3828,5.0}
    };



    Also man Fährt in den 1 Checkpoint und der soll nur mit dem Fahrzeug Boxville gehen
    Dann soll man in ein Gabestabler steigen und dann soll ein Random Checkpoint gesetzt werden // 1 und den soll man nur mit dem Forklift machen dürfen und dann soll hinter dem Boxville ein Cp Gesetzt werden // 2


    https://m.youtube.com/watch?v=PuluZ_MyafQ


    //
    Edit Code
    Edit Erklärung verbessert
    Edit Link eingefügt

    Oben
    New MuallCars[6];


    Und überall
    MuellCars[0] = AddStatic..
    MuellCars[1] = AddStatic..
    MuellCars[2] = AddStatic..


    Und beim einsteigen
    Schleife durch alle MuellCars und dann abfragen ob vehicleid == i ist
    Dann halt abfragen ob er den Job hat und dann anzeigen lassen
    Wenn nicht dann ausm Fahrzeug schmeißen