Typischer Anfänger braucht kurze Hilfe

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
  • Ich habe mir über alle Seiten hinweg ein Ingame-Autospwn-Script geholt. Das funktioniert soweit so gut allerdings möchte ich 2 dinge machen:
    nummer eins: Ich möchte nach dem spawnen im auto sitzen


    ocmd:newcar(playerid,params[]){ new Float:vehx,Float:vehy,Float:vehz; new vehid,cc1,cc2,string[128]; if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, ROT,"INFO: /newcar [ID] [FARBE 1] [FARBE 2]"); if(IsPlayerAdmin(playerid)) { GetPlayerPos(playerid,vehx,vehy,vehz); SetVehicleNumberPlate(AddStaticVehicleEx(vehid,vehx,vehy,vehz,3,cc1,cc2,-1),"~>Admin<~"); // format(string,sizeof(string),"Du hast ein Fahrzeug gespawnt!",vehid); PutPlayerInVehicle(playerid, vehid, 0); // SendClientMessage(playerid,COLOR_WHITE,string); } else { SendClientMessage(playerid,ROT,"Das darfst du leider nicht."); } return 1;}



    wie ihr seht habe ich den befehl PutPlayerInVehicle schon gefunden und mit rein gemacht. Allerdings passiert folgendes: Ich spawne ein auto (Befehl: /newcar 411 0 0) und befinde mich plötzlich im auto was irgendwo auf der map rumsteht. Mein Auto wird gespawnt aber erst wenn ich das Auto lösche in dem ich mich dann irtümlicherweiße befinde funktioniert der befehl einwandfrei. Wenn ich ein anderes Auto dann spawne das gleiche Problem. Erst komme ich sonst wo raus nach dem löschen der karre komme ich genau da raus wo ich das auto spawne und befinde mich auch auf dem Fahrersitz (wie gewollt) Wie ändere ich den Script so das es gleich und ohne Probleme Geht?




    Mein 2. Problem:
    Ich möchte gern (wie ihr oben seht) auf meinem Nummernschild ~>Admin<~ stehen haben. Das funktioniert mit dem oben stehenden Script wunderbar. Nun möchte ich das wenn ein Admin (IsPlayerAdmin(playerid)) in einem Auto mit dem Nummernschild ~>Admin<~ fährt, beim aussteigen sein Auto gelöscht wird. Normale Spieler können bei mir auch mit Admin - Karren fahren aber dann sollen sie nicht gelöscht werden. DestroyVehicle ist auch klar und derzeit löse ich das autospawn-und-immer-rumsteh-problem mit folgenden Text:


    if(!strcmp(cmdtext, "/delcar", true) && IsPlayerAdmin(playerid)) return DestroyVehicle(GetPlayerVehicleID(playerid));



    das funzt auch soweit ohne Problem aber ich möchte halt das es wenn ein admin in einer admin karre fährt automatisch beim aussteigen gelöscht wird.



    Ich danke euch schon mal für die Hilfe und bitte alle die mir nicht helfen wollen oder nur anmerken wollen das ich ein newbie noob bin hier nicht zu antworten. Ihr habt alle mal angefangen.

  • new vehicle;
    vehicle = SetVehicleNumberPlate(AddStaticVehicleEx(vehid,vehx,vehy,vehz,3,cc1,cc2,-1),"~>Admin<~");
    PutPlayerIntoVehicle(playerid,vehicle,0);


    einfach mit dem SetVehicleNumberPlate(AddStaticVehicleEx(vehid,vehx,vehy,vehz,3,cc1,cc2,-1),"~>Admin<~"); ersetzen


    //EDIT


    Mit dem handy geschrieben keine garantie auf funktion :D

  • warum müssen wir den dann das Fahrzeug respawnen das klappt doch meiner meinung nach auch ohne

  • Also ich glaube so wird das nichts...
    habe mal das mit dem vehicle probiert aber ich habe das selbe problem der setzt mich in ein auto was irgendwo auf der map rumsteht. woran könnte das noch liegen?

  • new vehicle;
    vehicle = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
    SetVehicleNumberPlate(vehicle,"Admin");
    PutPlayerIntoVehicle(playerid,vehicle,0);


    //EDIT


    Versuchs mal so

  • HEY! Year
    Danke genauso funktioniert es...


    Super echt...


    Wenn du noch ne idee für mein 2. Problem hast biste heute mein Held :D

  • Hier nun mal die Lösung für beide Probleme: erstellt durch: ChefCock
    ocmd:newcar(playerid,params[]){ new Float:vehx,Float:vehy,Float:vehz; new vehid,cc1,cc2; if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, ROT,"INFO: /newcar [ID] [FARBE 1] [FARBE 2]"); if(IsPlayerAdmin(playerid)) { GetPlayerPos(playerid,vehx,vehy,vehz); vehicle = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1); SetVehicleNumberPlate(vehicle,"Admin"); PutPlayerInVehicle(playerid, vehicle, 0); } return 1;}


    public OnPlayerExitVehicle(playerid, vehicleid){ if(IsPlayerAdmin(playerid)) { if(vehicleid == vehicle) { DestroyVehicle(vehicle); } } return 1;}


    bitte nicht veressen als Globale variable vehicle einzurichten also einfach
    new vehicle


    Nochmal großes Danke an ChefCock :thumbup:

    Einmal editiert, zuletzt von Takiry ()