Pawn: Actor Spawnen :(

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 Leute,
    ich bin recht neu in Pawn und brauche eure Hilfe.


    Zum ersten möchte ich 3 Actors beim Starten des Servers Spawnen, die aber Killbar sind und danach respawnen.
    Zum zweiten möchte ich, dass man per Befehl "/bot" einen Actor neben sich Spawnen und töten kann. Nach dem Tot des Actors muss man sich einen neuen Spawnen.


    Ich habe es so weit geschafft:

    Code
    ocmd:bot(playerid,params[])
    {
        new pid;
        if(sscanf(params,"u",pid)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /spawnbot [Spielername oder id]");
        new Float:x; new Float:y; new Float:z;
        GetPlayerPos(pid,x,y,z);
        CreateActor(36, x+2,y,z);
        return 1;
    }


    Aber der Actor/Bot ist unsterblich.



    Die Actors beim Spawn sind auch unsterblich.
    In "OnGameModeInit" habe ich dies reingepackt:

    Was kann ich tun ? ;(


  • Versuchs mal so:



    ocmd:bot(playerid,params[])
    {
    new pid, nactor;
    if(sscanf(params,"u",pid)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /spawnbot [Spielername oder id]");
    new Float:x; new Float:y; new Float:z;
    GetPlayerPos(pid,x,y,z);
    nactor = CreateActor(36, 0.0, 0.0, 0.0);
    SetActorPos(nactor, x+2, y+2, z);
    SetActorInvulnerable(nactor, false);
    return 1;
    }

  • Schreibe bei OnGameModeInit mal bitte dies:



    Nach dem du das ins Script eingefügt hast, starte den Server erneut und schaue ob du in deiner Konsole etwas findest mit verwundbar oder unverwundbar.


    Mit freundlichen Grüßen
    German_ScripterHD

  • Versuchs mal so:


    ocmd:bot(playerid,params[]){new pid, nactor;if(sscanf(params,"u",pid)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /spawnbot [Spielername oder id]");new Float:x; new Float:y; new Float:z;GetPlayerPos(pid,x,y,z);nactor = CreateActor(36, 0.0, 0.0, 0.0);SetActorPos(nactor, x+2, y+2, z);SetActorInvulnerable(nactor, false);return 1;}

    : warning 202: number of arguments does not match definition
    Kommt bei -> nactor = CreateActor(36, 0.0, 0.0, 0.0);


    Schreibe bei OnGameModeInit mal bitte dies:



    Nach dem du das ins Script eingefügt hast, starte den Server erneut und schaue ob du in deiner Konsole etwas findest mit verwundbar oder unverwundbar.

    [15:23:05] ServerActor[0]: verwundbar (0)
    [15:23:05] ServerActor[1]: verwundbar (0)
    [15:23:05] ServerActor[2]: verwundbar (0)


    Die sterben nicht ..

  • Ne, eine Healthbar ist nicht möglich.
    Welchen Actor schießt du ab, den der bei OnGameModeInit erstellt wird oder den, der via Befehl erstellt wird?


    Ändere mal außerdem die Reihenfolge, also zuerst ActorInvulnerable und dann SetActorHealth.


    Setz das auch wieder auf 0, habe eben nachgeschaut.


    0 = verwundbar
    1= unverwundbar


    //Handy


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Hier hast ein kleines Beispiel, wie sowas funktioniert:



    Die Animationen müssen preloaden für den Actor und um dem Actor schaden zu geben musst du das über OnPlayerGiveDamageActor machen und bei 0 Leben die totes animation abspielen.