Habe ein Problem mit NPC erstllen!

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
  • Also, mein NPC spawnt zwar aber er steigt nicht in den Bus ein!


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true))
    {
    PutPlayerInVehicle(playerid, npc_bus1, 0);
    }
    }
    return 0;
    }


    public OnGameModeInit()
    {
    ConnectNPC("BUS1","bus1");
    npc_bus1 = CreateVehicle(541, 1000.0,1000.0, 1000.0, 0.0, 10, 1, -1);


    SetGameModeText("JoHo");
    AddPlayerClass(0, 683.29998779297, -1210.9899902344, 19.200000762939, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    #include <a_npc>
    #define RECORDING "bus1"



    public OnRecordingPlaybackEnd()
    {
    StartRecordingPlayback(1, RECORDING);
    }


    public OnNPCEnterVehicle(vehicleid, seatid)
    {
    StartRecordingPlayback(1, RECORDING);
    }
    public OnNPCExitVehicle()
    {
    StopRecordingPlayback();
    }


    Was habe ich falsch gemacht??? :cursing:

  • if(IsPlayerNPC(playerid)) return 1;//Fail? er bricht ab wenn der Spieler ein NPC ist?
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true))
    {
    PutPlayerInVehicle(playerid, npc_bus1, 0);
    }
    return 1;
    }

  • if(IsPlayerNPC(playerid)) return 0;//Fail? er bricht ab wenn der Spieler ein Bot ist?
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true))
    {
    PutPlayerInVehicle(playerid, npc_bus1, 0);
    }
    return 1;
    }
    So?
    Das habe ich gemacht das er spawnt und nicht auf spawn klicken muss.

  • Ehm ja? Sinnlos? OnPlayerSpawn ist nicht um auf Spawn zu klicken, das ist bei OnPlayerRequestClass^^
    Nimm das erste raus?


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true))
    {
    PutPlayerInVehicle(playerid, npc_bus1, 0);
    }
    return 1;
    }

  • nein lass dass weg mach es lieber so

    public OnPlayerSpawn(playerid)
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true))
    {
    return PutPlayerInVehicle(playerid, npc_bus1, 0);
    }
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    return 1;
    }


    MFG Piet

  • dann kann er es gleich so machen
    public OnPlayerSpawn(playerid)
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BUS1", true)) return PutPlayerInVehicle(playerid, npc_bus1, 0);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    return 1;
    }

  • Ganz oben
    new auto1;


    OnGameModeInit
    ConnectNPC("auto1","auto1");
    auto1 = AddStaticVehicle(414,1590.1663, -1607.8331, 13.0825, 180.1199,151,1);


    OnPlayerSpawn
    if(!strcmp(playername,"auto1",true)) {
    SetSpawnInfo(playerid,190,190,1742.1740, -1953.8917, 14.8515, -90.6000, 0, 0, 0, 0, 0, 0 );
    PutPlayerInVehicle(playerid, auto1, 0);
    }


    Das ist die .pwn für den Bot
    #define RECORDING "auto1"
    #define RECORDING_TYPE 1


    #include <a_npc>
    main(){}
    public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);


    #if RECORDING_TYPE == 1
    public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    public OnNPCExitVehicle() StopRecordingPlayback();
    #else
    public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    #endif


    das ist jetzt nen auszug aus meinen Bots. So laufen bei mir insgesammt 26 stück auf meinem Server. vielleicht hilft dir das ja.


    mfg :thumbup:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Hat sich auch ohne deine Version erledigt :)