Beiträge von Hagi

    Schau,


    Der Auszug wird warscheinlich durch einen Timer aufgerufen. Liegt dieser Timer beispielsweise bei 1 Sekunde, brauchst du 127 Sekuden, bis man wieder laufen kann, da jede Sekunde der Wert um 1 erhöht wird.


    Möchtest du jetzt aber dass man sich nach 30 Sekunden bewegen kann, setzt du die Abfrage auf 30


    else if(TutTime[i] == 30)


    Allerdings gehen wir in diesem Fall immer von einem 1 Sekunden Takt aus.
    Vergewissere dich also, in welchem Rhytmus der Code ausgeführt wird

    Okai danke, der carrespawn funktioniert.


    Allerdings wollte ich die Autos über eine Schleife laufen lassen, da man ja theoretisch 1000 autos haben kann und nicht für jeden autos ein eigenes if == gemacht werden soll.


    Allerdings kann ich trotzdem mit den Autos fahren


    public IsAdminCar(playerid)
    {
    new carid = GetPlayerVehicleID(playerid);
    for(new i = 0;i<11;i++)
    {
    if(carid == admincar[i])
    {
    return 1;
    }
    else
    {
    return 0;
    }
    }
    return 0;
    }


    @dit: Nachdem ich nun auch die Autos eingetragen habe und getestet habe, muss ich sagen es funktioniert nicht.
    Ich bin mir auch nicht sicher ob man mafiacar[0] als GetPlayerVehicleID Abfragen kann.

    OnPlayerConnect


    new string[100], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"%s hat den Server betreten. [Joining]",name);


    OnPlayerDisconnect


    new string[100], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));


    switch(reason)
    {
    case 0: format(string, sizeof(string), "%s hat den Server verlassen. [Timeout]", name);
    case 1: format(string, sizeof(string), "%s hat den Server verlassen. [Leaving].", name);
    case 2: format(string, sizeof(string), "%s hat den Server verlassen. [Kick/Ban]", name);
    }


    SendClientMessageToAll(grau,string);


    @dir da war ich zu langsam

    Und wenn du mehrer verschiedene Interiors hast, was in einem rl mode zwinget erforderlich ist, machst du halt weitere abfragen mit else if darunter


    Hier so



    if (strcmp("/Enter", cmdtext, true, 10) == 0)
    {
    if(PlayerToPoint(25.0,playerid,207.5627,-103.7291,1005.2578)//wo er stehen muss um den befehl tippen zu können beim ersten ort
    {
    SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);//die koordienaten wo er im interior spawnen soll wenn er im ersten ort /enter gemacht hat
    SetPlayerInterior(playerid, 10);//die interior id zB 10
    }
    else if(PlayerToPoint(25.0,playerid,207.5627,-103.7291,1005.2578)//wo er stehen muss um den befehl tippen zu können beim zweiten ort
    {
    SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);//die koordienaten wo er im interior spawnen soll wenn er im zweiten ort /enter gemacht hat
    SetPlayerInterior(playerid, 10);//die interior id zB 10
    }
    return 1;
    }


    Korrdinaten musst du halt individuel verändern

    Hallo Breadfisher,


    Ich habe zum ersten diese Frage:


    Ein Carrespawn der Nur die Autos respawnt, in denen niemand sitzt.
    Ich habe bisher das hier, funktioniert aber nicht.


    public respawn1()
    {
    for(new car=0; car<CAR_AMOUNT; car++)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerInVehicle(i,car))
    {
    SetVehicleToRespawn(car);
    }
    }
    }
    }




    Außerdem möchte ich wissen wie ich solche autos abfragen kann.
    Ich habe bisher das:


    Ganz oben
    new mafiacar[20];


    OnGameModeInit
    mafiacar[0] = AddStaticVehicleEx(461,-2126.8042,-198.2708,35.1260,178.7568,0,0,120); // PCJ-600
    mafiacar[1] = AddStaticVehicleEx(461,-2123.2434,-198.3822,35.1274,178.0929,0,0,120); // PCJ-600
    mafiacar[2] = AddStaticVehicleEx(461,-2119.2800,-198.4120,34.9782,180.0665,0,0,120); // PCJ-600
    mafiacar[3] = AddStaticVehicleEx(461,-2115.1516,-198.3057,34.9784,180.8700,0,0,120); // PCJ-600


    mafiacar[4] = AddStaticVehicleEx(560,-2110.9583,-198.6398,35.0467,181.0719,0,0,120); // Sultan
    mafiacar[5] = AddStaticVehicleEx(560,-2106.4497,-198.6165,35.0455,179.8409,0,0,120); // Sultan


    mafiacar[6] = AddStaticVehicleEx(565,-2102.7234,-198.2435,34.9448,179.0478,0,0,120); // Flash
    mafiacar[7] = AddStaticVehicleEx(565,-2099.1660,-198.2727,34.9448,179.8367,0,0,120); // Flash


    mafiacar[8] = AddStaticVehicleEx(602,-2146.5298,-185.7304,35.0255,270.2766,0,0,120); // Alpha
    mafiacar[9] = AddStaticVehicleEx(602,-2146.2710,-189.6474,35.0252,270.5887,0,0,120); // Alpha


    mafiacar[10] = AddStaticVehicleEx(559,-2146.2283,-194.0125,34.9766,270.1035,0,0,120); // Jester
    mafiacar[11] = AddStaticVehicleEx(559,-2146.1184,-198.1598,34.9767,270.0538,0,0,120); // Jester


    mafiacar[12] = AddStaticVehicleEx(447,-2108.0471,-248.2785,35.4969,359.5152,0,0,120); // Sparrow
    mafiacar[13] = AddStaticVehicleEx(447,-2119.3010,-248.2973,35.4973,356.4030,0,0,120); // Sparrow


    mafiacar[14] = AddStaticVehicleEx(487,-2107.7427,-228.8056,35.4959,359.7357,0,0,120); // Maverick
    mafiacar[15] = AddStaticVehicleEx(487,-2117.8132,-228.0952,35.4972,359.1709,0,0,120); // Maverick


    mafiacar[16] = AddStaticVehicleEx(589,-2134.6343,-226.7227,35.4439,269.9948,0,0,120); // Club
    mafiacar[17] = AddStaticVehicleEx(589,-2134.4541,-230.8558,35.4404,269.2176,0,0,120); // Club
    mafiacar[18] = AddStaticVehicleEx(589,-2134.3525,-235.0373,35.4408,270.7840,0,0,120); // Club
    mafiacar[19] = AddStaticVehicleEx(589,-2134.0134,-239.1152,35.4415,270.6306,0,0,120); // Club


    OnPlayerStateChange
    for(new pol = 0;pol<27;pol++)
    if(GetPlayerVehicleID(playerid) == policecar[pol])
    {
    if(gTeam[playerid] == TEAM_POLICE || adminlebencheck[playerid] == 1)
    {
    return 1;
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,rot,"Fehler: Du bist nicht Teil der Polizei");
    return 1;
    }
    }


    Es funktioniert nur leider nicht.
    Man kann trotzdem mit jedem Auto fahren.


    Und ich möchte eigentlich nicht direkt über if(vehicleid == xyz) gehn.
    Dachte, so kann man das auch irgentwie lösen.


    Bzw. kann man überhaupt mit einem array[] die vehicle abfragen ?

    Also das kann man da echt nicht wissen.


    Was auf jeden fall klar ist:


    523 = Vehicleid


    -1590.8800,708.7000,-5.6674,270.0000 = Koordinaten x,y,z,rotation


    Bei den anderen weiß ich echt nicht was das sein kann.

    Das sieht nach einem Streamer aus, da im normalen PawnCode dieses Objekt nicht verfügbar ist.


    Dort ist es in etwa AddStaticVehicle


    Also entwerder weißt du welcher Streamer das ist oder du musst alle umschreiben, was aber auch blöd ist, da du nicht weiß was im Streamer welcher Angabe entspricht.


    Man könnte an dieser Stelle jeztz raten

    Hier ein Auzug wie man es machen kann


    if(classid >= 0 && classid <= 2)
    {
    SetPlayerColor(playerid,rot);
    GameTextForPlayer(playerid,"~r~Die Mafia",1000,5);
    }
    else if(classid >= 3 && classid <= 5)
    {
    SetPlayerColor(playerid,weiß);
    GameTextForPlayer(playerid,"~b~Die Polizei",1000,5);
    }


    @dit: Mav war schneller

    MAl so nebenbei:


    Warum machst du das immer mit auslesen der Datei. Einmal reicht volkommen ? Zieht mehr Ressourcen als so
    enum Info
    {
    passwort[128],
    skin,
    admin,
    Team, //
    };
    new PInfo[MAX_PLAYERS][Info]


    SetPlayerTeam(playerid,PInfo[playerid][skin]);


    Und was mir auch aufgefallen ist, du hast im enum kein Money

    Ich geb dir auch 10/10, da mir die BAse sehr gut gefällt.
    Mit Autos wärs noch besser.


    Ansonsten kannst du ja vllt noch nen Interior verbessern