2/3 Probleme/Fragen! bzl. Autos, tunen, 3D TL.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    Ich habe heute gleich drei Probleme/ Fragen.
    Ich weis bei der ersten Frage wirklich nicht wie ich das machen muss?!
    Also bitte ich um eure Hilfe, nicht irgendtwelches Rumgespamme.

    1.) Autos tunen/ Nitro geht nicht! Kann man es überhaupt so machen?

    new vipcars[24];
    new Nitro;


    Nitro* = vipcars[0]** = AddStaticVehicle(409,1134.6504,-2074.0339,68.7795,358.8385,0,0); //V.i.P. auto position
    * Bezeichnung für das "NEW" d.h. habe ich unten wo man das Tuning machen muss definiert!
    ** Das ist "NEW" vipcars das nur die Premiumleute diese Fahrzeug fahren kann!

    Da ich mir schon sowas gedacht habe
    dass es nicht funktioniert und es kommen Errors,
    das war aber nicht der Fall o.o Keine Erros
    ABER auch kein Nitro bei den Wägen.

    ____________________________________________________________________________________________________________________
    ____________________________________________________________________________________________________________________
    2.) CMD /Vehicle spawen und verschwinden?/nur Admin

    public OnPlayerCommandText(playerid, cmdtext[])


    dcmd(vehicle,7,cmdtext);


    dcmd_vehicle(playerid,params[])
    {
    if(Player[playerid][admin] < 1){
    return SendClientMessage (playerid,WEIS,"SERVER: Unknown command.");
    }
    new veh,color1,color2;
    if(sscanf(params,"ddd",veh,color1,color2)){
    return SendClientMessage(playerid,WEIS,"Usage: /vehicle [vehicleID] [color1] [color2]");
    }
    if(veh < 400){
    return SendClientMessage(playerid,WEIS,"INVALID vehID![400-611]");
    }
    if(veh > 611){
    return SendClientMessage(playerid,WEIS,"INVALID vehID![400-611]");
    }
    if(color1 < 0){
    return SendClientMessage(playerid,WEIS,"INVALID color1ID![0-126]");
    }
    if(color1 > 126){
    return SendClientMessage(playerid,WEIS,"INVALID color1ID![0-126]");
    }
    if(color2 < 0){
    return SendClientMessage(playerid,WEIS,"INVALID color2ID![0-126]");
    }
    if(color2 > 126){
    return SendClientMessage(playerid,WEIS,"INVALID color2ID![0-126]");
    }
    new Float:x , Float:y , Float: z;
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
    return 1;
    }
    Ich habe ein /Vehicle CMD der Autos spawnt.
    Ich möchte das die Autos nur Admins fahren können
    und dass wenn sie nicht genutzt werden nach einiger
    Zeit verschwinden.


    Mit sehr freundl. Grueßen CompleXx :rolleyes:


    /edit1: Letzte Frage gelöscht! /überschrift geändert in "2/3 Probleme/Fragen! bzl. Autos, tunen, 3D TL."

    Einmal editiert, zuletzt von [FCT]CompleXx ()

  • Du bist sicherlich höher als level 1 Admin oder?
    Daher würd ich es so machen
    if(Player[playerid][admin] >= 1)


    /edit bezogen auf frage 3

  • Zu Frage 2:
    Lass dir die VehicleID speichern also variable = CreateVehicle();
    und dann bei onplayerstatechange
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPlayerVehicleID(playerid) == variable)
    {
    if(Player[playerid][admin] <= 0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, 0xF97804FF, "Dies ist ein Admin Vehicle");
    }
    }
    }


    V1rus =)

  • ? okaaay..


    Ich versteh´s i-wie nicht.
    Sry ich hätte ja keine Fragen gestellt wenn ich´s wüsste :) :huh:

  • ? okaaay..


    Ich versteh´s i-wie nicht.
    Sry ich hätte ja keine Fragen gestellt wenn ich´s wüsste :) :huh:


    Also dann erklär ich dir das mal^^
    if(newstate == PLAYER_STATE_DRIVER) // Hier wird abgefragt ob der neue Status von Player A der PLAYER_STATE_DRVIER ist, also ob er Fahrer eines Vehikels ist.
    {
    if(GetPlayerVehicleID(playerid) == variable) // Ist das der Fall, und Player A ist Fahrer eines Vehikels, dann wird geprüft, ob die VehicleID, in der er sich gerade befindet der VehicleID von dem durch /veh erstellen Fahrzeug entspricht.
    {
    if(Player[playerid][admin] <= 0) // Wenn die VehicleID in der er sich befindet, der VehicleID von dem durch /veh erstellen Fahrzeug entspricht, dann wird geprüft ob das Adminlevel des Players 0 oder kleiner ist. ( Für Bugs, wenns irgendwie auf ne negative Zahl gesetzt wird. )
    {
    RemovePlayerFromVehicle(playerid); // Ist das der Fall und Player A ist KEIN Admin, dann wird er aus dem Fahrzeug geschmissen........
    SendClientMessage(playerid, 0xF97804FF, "Dies ist ein Admin Vehicle"); // ........ uuuuuuuuund ihm wird diese Nachricht geschrieben =)
    }
    }
    }


    Hoffe du hasts so verstanden =)

  • Ja das weis ich doch^^
    Ich meine mit der Variable..wo das steht welche Variable soll ich da hinschmeissen.?

  • Ähm grad selber nicht so viel Ahnung^^ Jedenfalls musste nen Array machen. Also nimm nen anderen namen für Varbiable, zum Beispiel AdminVehicle[MAX_PLAYERS];
    und dann AdminVehicle[playerid] = CreateVehicle();
    und dann eben statt if(GetPLayevehicelid(playerid) == variable)
    machste:
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(i == AdminVehicle[playerid])
    {
    if(Player[playerid][admin] <= 0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, 0xF97804FF, "Dies ist ein Admin Vehicle");
    }
    return 1;
    }
    }


    Das playerid in AdminVehicle[playerid] hat NICHTS mit der playerid von irgendnem spieler zutun, sondern is nur dafür da, dass ich Zahlenwerte im array habe ( is scheiße zu erklären xD ). Jedenfalls ist das playerid nicht von bedeutung, man könnte bei new AdminVehicle[MAX_PLAYERS] anstatt dem MAX_PLAYERS auf nen zahlenwert nehmen.

  • siehe Frage 1 -.-" die überschneiden sich.


    Ergebnis:
    __________
    2/3 Fragen noch.