Kleine Frage IINpc in auto setzen? wie?II

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 hätte da wieder eine kleine frage und zwar will ich ein npc in mein taxi setzen als fahrer;),
    aber ich weiss nicht wie ? , könnt mir wer weiterhelfen hier bei oder ein Command dazu schicken !.)
    bin für jedes script oder antwort oder command dankbar!


    mfg Fishtime9

  • Ich weiß leider nicht was für ein script du verwendest.
    http://wiki.sa-mp.com/wiki/Category:NPC


    Den Bot kannst ganz normal so gesehen behandeln wie jeden User.
    Hier mal der Code der dein Bot in ein auto setzt .

    if(IsPlayerNPC(playerid))
    {
    new bot[MAX_PLAYER_NAME];
    GetPlayerName(playerid, bot, sizeof(bot));
    if(!strcmp(bot, "Taxi", true))
    {
    PutPlayerInVehicle(playerid, taxicar, 0);
    }
    }


    Was passiert hier genau. Also wenn der Spieler ein bot ist und den Namen hier als beispiel taxi besitzt wird er
    in ein Auto hier (taxicar) gesteckt beim Spawnen. Dies solltest du auch deinem Script anpassen . Wie zum beispiel dem Bot den Führerschein zu geben
    sollte er vom fahrzeug entfernt werden , wenn dieser kein Führerschein hat du kannst ihm auch ein skin geben oder im einen "Beruf" sollte dies im script vorhandne sein beispiel taxi fahrer.



    new taxicar;

    musst du oben neu definieren um eine Variabel für das Auto zu erstellen
    das auto wird bei OnGameModeInit eingefügt

    taxicar= CreateVehicle(420, 1000.0,1000.0, 1000.0, 0.0, 10, 1, -1);


    Das wirst ja bestimmt kennen
    taxicar = variabel welche wir oben definiert haben
    CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    ist das native um ein Auto zu erstellen
    Fahrzeugid
    x koordinate
    y koordinate
    z koordinate
    angel( bestimmt die rotation) koordinate
    Farbe 1
    Farbe 2
    Die Verzögerung wann das Fahrzeug ohne Fahrer respawnt


    Dies ist jedoch nicht alles um ein Bot zu erstellen mehr Infos findest du im Wiki oder in tutorials


    - http://www.youtube.com/watch?v=9HB5S3NoQ2w
    - [ SCRIPTING ] Samp 0.3 Bots Erstellen [überarbeitet]
    - http://www.youtube.com/watch?v=2cTtyHqJaGk


    Viel Glück

  • danke , :) das hat sehr geholfen aber jetzt hab ich ein problem mit mein taxiport script , wenn ich das dialog was anklick dann passiert nix obwohl ich alles defeniert habe! .
    hier mein script:
    #include <a_samp>
    //TaxiPortCars defeniert:
    new Taxicar[3];
    //Colors Defeniert:
    #define ROT 0xFFE60000
    #define GREEN 0xFF42D254
    #define GREY 0xFF8E8687
    #define BLUE 0xFF3C27ED
    #define BLACK 0xFF000000
    #define DIALOG_PORTAL 2
    main()
    {


    }


    public OnGameModeInit()
    {
    Taxicar[0]=AddStaticVehicle(420,1220.9696,-872.6297,42.5229,192.9013,31,64); //TaxiPortCar1
    Taxicar[1]=AddStaticVehicle(420,1218.0842,-871.4683,42.8992,191.9862,31,64); //TaxiPortCar2
    Taxicar[2]=AddStaticVehicle(420,1214.6893,-872.6481,42.9069,185.1157,31,64); //TaxiPortCar3

    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {

    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/TaxiCall", cmdtext, true, 10) == 0)
    {
    SetVehiclePos(Taxicar[0],2641.4780,-2003.4609,13.5547);
    SendClientMessage(playerid, GREEN,"Du hast erfolgreich ein Taxi Gerufen!");
    ChangeVehicleColor(Taxicar[0], 166, 166);
    PutPlayerInVehicle(playerid, Taxicar[0], 3);
    ShowPlayerDialog(playerid,DIALOG_PORTAL,DIALOG_STYLE_LIST,"Wähle wohin Der taxi fahrer dich hin bringen Soll!","Bsn(BurgershotNord)(350$)\nPaynSpray(385$)\nAmmuNationShop(260$)","OK","CANCEL")


    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    SendClientMessage(playerid,BLUE,"Viel Spass am Fahren , achte aber bitte an die STVO regeln!");
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    SetVehicleToRespawn(Taxicar[0]);
    SetVehicleToRespawn(Taxicar[1]);
    SetVehicleToRespawn(Taxicar[2]);
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_PORTAL)
    {
    if(response == 1)
    {
    if(listitem == 0)
    {
    //BSN(BurgerShotNord//
    SendClientMessage(playerid,BLUE,"Die Fahrt hat dir 350$ Gekostet!");
    ChangeVehicleColor(Taxicar[1], 166, 166);
    GivePlayerMoney(playerid,-350);
    SetVehiclePos(Taxicar[1],1211.1602,-930.2238,42.3990);
    PutPlayerInVehicle(playerid,Taxicar[1], 3);
    }
    if(listitem == 1)
    {
    //PaynSpray//
    SendClientMessage(playerid,BLUE,"Die Fahrt hat dir 385$Gekostet!");
    ChangeVehicleColor(Taxicar[2], 166, 166);
    GivePlayerMoney(playerid,-385);
    SetVehiclePos(Taxicar[2],1036.4851,-1033.9794,31.3645);
    PutPlayerInVehicle(playerid, Taxicar[2], 3);
    }
    }
    if(response == 0)
    {
    SendClientMessage(playerid,GREEN,"Dann halt nicht!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }