Npc Scripten

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
  • Guten Morgen


    Bin auf der Suche wie man NPCS scripten kann.


    Ich habe mir das ca so vorgestellt:


    Spieler X geht in ein Hotel rein und der Potje bringt ein zur Rezeption .
    Der Npc bei der Rezeption leitet ein Dialog ein.


    Das würde ich dann auch so weit machen das ich sogar Bots erstellen kann.


    Hat da jemand ein Plan von da ich mich mit NPCS nicht auskenne

  • Da bei deinem System nichts wirklich 100% synchron sein muss, kannst du auch einfach folgendes machen:


    Sobald der Spieler das Hotel betritt, erstellst du einen Actor (keinen NPC, die verbrauchen nur CPU & Solts).


    Die Facing Angle von dem Actor setzt du so, dass er zur Rezeption schaut.


    Und dann kannst du ihn ja einfach per Lauf Animation (ApplyActorAnimation(actorid,"ped","WALK_civi",4.1,1,1,1,1,0)) zur Animation laufen lassen.


    Da du keine Positons-Abfrage vom Actor machen kannst, und nicht weißt wo er sich gerade befindet, kannst du aber triggern, wie lang er ca. bis zur Rezeption braucht. Also erstellst du dann einfach einen Timer mit z.B. 8 Sekunden und dann löchst du den Actor, oder setzt ihn an eine bestimmte Position und kannst seine Animation wieder verändern.


    PS: Das funktioniert nur, wenn der Weg den der "Actor / NPC" zurücklegen muss nicht komplex ist, sprich mit Ecken & Kurven...Falls du sowas hast, musst du das Filterscript "npc_record" einfach laden und dann /ofrecord zum aufnehmen und /stoprecord eingeben.
    Bzw schau dir mal ein Tutorial dazu ein: Samp 0.3 Bots Erstellen [überarbeitet]


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mal ne nebenfrage, wie soll man das Regeln wenn 5-10 aufeinmal ins Hotel gehen? Verschiedene Welten etc?

  • Guten Abend.


    Ich versuche immer mit /vrecord und den namen des Bots zu machen aber er sagt mir immer das der befehl nicht existiert?


    Was mache ich falsch?


    habe die amx datei drin aber er lässt mich kein bot erstellen.

  • Wenn du mit Bots arbeiten willst kann ich dir auch nur FCNPC empfehlen, da gibts nen Fork auf GitHub (OPEN-GTO/FCNPC), bei dem das Plugin geupdatet wurde und auch auf Wunsch die einheitlichen virtuellen Welten implementiert. Zudem könntest du bei komplexen Strecken sowas wie einen Pathfinder bauen / aus dem englischen Forum benutzen.


    Sorry dass ich die Links nicht parat habe, bin am Handy, werde sie morgen nachtragen.


    Wegen den Bots: du musst auch in der server.cfg ne maximale Anzahl der Bots einstellen / erhöhen. Falls du das FS eingetragen hast, dann nutzt du vllt den falschen Befehl, wie siehts mit /ofrecord aus?

  • @m4a_X Hier meine Server log datei:


  • Beitrag von Markuslobicher ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Mein Code für mein NPC sieht so aus:


    Ich glaube es geht aber so nicht. @Jeffry so wie alle anderen die Helfen können wäre ich sehr dankbar.



    Nun zum Code:


    OnGameModeInit

    Code
    //NPC/Bots:
    	ConnectNPC("Frank","Busbot");

    OnPlayerConnect:


    Code
    ConnectNPC("Frank","Busbot");


    Ich kann von OnPlayerConnect ja nicht alles Kopieren was da steht daher nur den NPC teil raus kopiert.


    Mehr habe ich leider nicht an Code

  • Mit dem Thema kenne ich mich nicht aus, habe immer FCNPC benutzt und das über Berechnungen gemacht, aber das hier schaut so aus, als ob es zu deinem Problem passt: http://forum.sa-mp.com/showthread.php?t=95034

  • @Jeffry und alle anderen


    Sry aber ich verstehe leider das Tutorial nicht.


    Es ist für mich viel zu kompliziert erklärt worden weil es komisch aufgebaut wurde so das es meines wissen nicht gehen könnte schon alleine wegen:



    So kann kein Pawncode benutzt werden oder verstehe ich es falsch?

  • Habe Folgende Fehler nun drin:

    C
    samplernen.p(470) : error 035: argument type mismatch (argument 1)
    samplernen.p(473) : error 017: undefined symbol "gPlayerLogged"
    samplernen.p(473 -- 474) : warning 215: expression has no effect
    samplernen.p(474) : error 001: expected token: ";", but found "}"
    samplernen.p(523 -- 524) : error 029: invalid expression, assumed zero
    samplernen.p(529) : error 017: undefined symbol "car_Bubot"
    samplernen.p(324) : warning 204: symbol is assigned a value that is never used: "car_Busbot"




    Mein Pawn Code sieht so aus:


    OnGameModeInit: (achtung viel drin)

    OnPlayerConnect: (ka ob es so richtig ist!)

    OnPlayerSpawn: (Habe das retrun 1 schon raus geholt. Falls es wer beheben kann danke)


    Einmal editiert, zuletzt von Markuslobicher () aus folgendem Grund: OnPlayerConnect geändert teileweise!

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