[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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 mal eine frage unswa ist das bei LoG so das alles erst nach Connectet to Life of German - Die Zeitfabrik
    meine frage ist davor kommt ja Connectet. Joining the Game wo muss ich das eingeben was zwischen
    Connectet. Joining the Game
    und
    Connectet to.....


    sprich das erst der Login Textdraw nach Connectet to kommt und nicht direkt bei Connectet Joining the Game

  • Kann mir vielleicht jemand sagen, warum der Skin des Spielers partu nicht gesetzt wird ?


    Die Variable mit der SkinID ist aufjedenfall befüllt, das hab ich bereits mehrmals überprüft, aber wenn der Spieler spawnt, bzw. die Kamera hinter dem Spieler ist, hab ich die SkinID 0.


    Hier könnt ihr das Script einsehen.
    https://github.com/Reclusior/Open-Pawn
    Evtl. hat es mit dem Skip der Classselection zu tun.
    Finden kann man das hier
    https://github.com/Reclusior/O…include/Systems/Login.inc


    Ihr könnt gerne ein pullrequest senden oder den Fehler evtl. so aufzeigen

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Jeffry:


    Habe mal selbst die Health Textdraws erstellt und ohne Funktion habe ich keine Probleme. Benötige denke ich nur ein anderen Weg um die Funktion einzubauen, kannst mir da helfen?


    Spoiler anzeigen

    #include <a_samp>

    Spoiler anzeigen
    new Text:Textdraw0;
    new Text:Textdraw1;

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    // Create the textdraws:
    Textdraw0 = TextDrawCreate(569.000000, 44.000000, "100");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 2);
    TextDrawLetterSize(Textdraw0, 0.220000, 0.899999);
    TextDrawColor(Textdraw0, -65281);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetShadow(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, 0);

    Spoiler anzeigen
    Textdraw1 = TextDrawCreate(569.000000, 66.000000, "100");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 2);
    TextDrawLetterSize(Textdraw1, 0.220000, 0.899999);
    TextDrawColor(Textdraw1, -65281);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, 0);

    Spoiler anzeigen
    for(new i; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i))
    {
    TextDrawShowForPlayer(i, Textdraw0);
    TextDrawShowForPlayer(i, Textdraw1);
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public OnFilterScriptExit()
    {
    TextDrawHideForAll(Textdraw0);
    TextDrawDestroy(Textdraw0);
    TextDrawHideForAll(Textdraw1);
    TextDrawDestroy(Textdraw1);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • So wie du es jetzt hast wird es nur funktionieren, wenn du einen Spieler online hast.
    Nutze die Variante mit den PlayerTextdraws, wie ich es dir gesagt habe.


    - Erstelle das Textdraw bei OnPlayerConnect (CreatePlayerTextDraw + Einstellungen).
    - Zeige dem Spieler das Textdraw bei OnPlayerSpawn.
    - Lösche das Textdraw bei OnPlayerDisconnect.

  • Jeffry:


    Ich glaube ich habe ein Problem die zu definieren, sieht zurzeit so aus:


    Spoiler anzeigen

    #include <a_samp>

    Spoiler anzeigen
    new Text:Textdraw0;
    new Text:Textdraw1;

    Spoiler anzeigen
    //new PlayerText:Textdraw0[MAX_PLAYERS];
    //new PlayerText:Textdraw1[MAX_PLAYERS];

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {

    Spoiler anzeigen
    // Create the textdraws:
    Textdraw0[playerid] = CreatePlayerTextDraw(playerid,569.0, 44.0, "100");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 2);
    TextDrawLetterSize(Textdraw0, 0.220000, 0.899999);
    TextDrawColor(Textdraw0, -65281);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetShadow(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, 0);

    Spoiler anzeigen
    Textdraw1[playerid] = CreatePlayerTextDraw(playerid,569.0, 66.0, "100");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 2);
    TextDrawLetterSize(Textdraw1, 0.220000, 0.899999);
    TextDrawColor(Textdraw1, -65281);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, 0);

    return 1;

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid)
    {
    TextDrawHideForAll(Textdraw0);
    TextDrawDestroy(Textdraw0);
    TextDrawHideForAll(Textdraw1);
    TextDrawDestroy(Textdraw1);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForPlayer(i, Textdraw0);
    TextDrawShowForPlayer(i, Textdraw1);
    return 1;


    Errors:


    C:\Users\Dave\Desktop\HealthBar.pwn(13) : error 028: invalid subscript (not an array or too many subscripts): "Textdraw0"
    C:\Users\Dave\Desktop\HealthBar.pwn(13) : warning 215: expression has no effect
    C:\Users\Dave\Desktop\HealthBar.pwn(13) : error 001: expected token: ";", but found "]"
    C:\Users\Dave\Desktop\HealthBar.pwn(13) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\HealthBar.pwn(13) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Jeffry: Das kommt dabei raus, habe alles von deinem Link entnommen und es so übernommen bzw. angepasst.


    Spoiler anzeigen

    #include <a_samp>

    Spoiler anzeigen
    new PlayerText:Textdraw0[MAX_PLAYERS];
    new PlayerText:Textdraw1[MAX_PLAYERS];

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {

    Spoiler anzeigen
    // Create the textdraws:
    Textdraw0[playerid] = CreatePlayerTextDraw(playerid,569.0, 44.0, "100");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 2);
    TextDrawLetterSize(Textdraw0, 0.220000, 0.899999);
    TextDrawColor(Textdraw0, -65281);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetShadow(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, 0);

    Spoiler anzeigen
    Textdraw1[playerid] = CreatePlayerTextDraw(playerid,569.0, 66.0, "100");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 2);
    TextDrawLetterSize(Textdraw1, 0.220000, 0.899999);
    TextDrawColor(Textdraw1, -65281);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, 0);

    return 1;

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid)
    {
    TextDrawHideForAll(Textdraw0);
    TextDrawDestroy(Textdraw0);
    TextDrawHideForAll(Textdraw1);
    TextDrawDestroy(Textdraw1);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    PlayerTextDrawShow(playerid, Textdraw0[playerid]);
    PlayerTextDrawShow(playerid, Textdraw1[playerid]);
    return 1;


    C:\Users\Dave\Desktop\HealthBar.pwn(12) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(13) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(14) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(15) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(16) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(17) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(18) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(19) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(22) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(23) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(24) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(25) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(26) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(27) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(28) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(29) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(38) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(39) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(40) : error 035: argument type mismatch (argument 1)
    C:\Users\Dave\Desktop\HealthBar.pwn(41) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    20 Errors.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Das ist noch genau so wie davor.


    Zum Beispiel:
    TextDrawBackgroundColor
    Das wird für Textdraws verwendet, die mit TextDrawCreate erstellt worden sind. Findest du das in dem Link? Nein.
    Du musst also PlayerTextDrawBackgroundColor verwenden, das findest du in dem Link (ganz unten stehen alle Funktionen).


    Das natürlich bei allen Funktionen.


    Außerdem musst du anstatt Textdraw0 folgendes schreiben: Textdraw0[playerid]



    EDIT: @[LnD]JustMe.77:
    Hier, bitteschön:

    Spoiler anzeigen
    #include <a_samp>

    Spoiler anzeigen
    new PlayerText:Textdraw0[MAX_PLAYERS];
    new PlayerText:Textdraw1[MAX_PLAYERS];

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    // Create the textdraws:
    Textdraw0[playerid] = CreatePlayerTextDraw(playerid,569.0, 44.0, "100");
    PlayerTextDrawBackgroundColor(playerid, Textdraw0[playerid], 255);
    PlayerTextDrawFont(playerid, Textdraw0[playerid], 2);
    PlayerTextDrawLetterSize(playerid, Textdraw0[playerid], 0.220000, 0.899999);
    PlayerTextDrawColor(playerid, Textdraw0[playerid], -65281);
    PlayerTextDrawSetOutline(playerid, Textdraw0[playerid], 0);
    PlayerTextDrawSetProportional(playerid, Textdraw0[playerid], 1);
    PlayerTextDrawSetShadow(playerid, Textdraw0[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, Textdraw0[playerid], 0);

    Spoiler anzeigen
    Textdraw1[playerid] = CreatePlayerTextDraw(playerid,569.0, 66.0, "100");
    PlayerTextDrawBackgroundColor(playerid, Textdraw1[playerid], 255);
    PlayerTextDrawFont(playerid, Textdraw1[playerid], 2);
    PlayerTextDrawLetterSize(playerid, Textdraw1[playerid], 0.220000, 0.899999);
    PlayerTextDrawColor(playerid, Textdraw1[playerid], -65281);
    PlayerTextDrawSetOutline(playerid, Textdraw1[playerid], 0);
    PlayerTextDrawSetProportional(playerid, Textdraw1[playerid], 1);
    PlayerTextDrawSetShadow(playerid, Textdraw1[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, Textdraw1[playerid], 0);

    Spoiler anzeigen
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid)
    {
    PlayerTextDrawDestroy(playerid, Textdraw0[playerid]);
    PlayerTextDrawDestroy(playerid, Textdraw1[playerid]);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    PlayerTextDrawShow(playerid, Textdraw0[playerid]);
    PlayerTextDrawShow(playerid, Textdraw1[playerid]);
    return 1;
    }

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Ich habe mal eine frage unswa ist das bei LoG so das alles erst nach Connectet to Life of German - Die Zeitfabrik
    meine frage ist davor kommt ja Connectet. Joining the Game wo muss ich das eingeben was zwischen
    Connectet. Joining the Game
    und
    Connectet to.....


    sprich das erst der Login Textdraw nach Connectet to kommt und nicht direkt bei Connectet Joining the Game


    Jeffry:
    weiß das wer ?
    weil bei mir wird alles angezeigt sobald das Connectet. Joining the Game kommt aber erst wenn
    Connectet to Test Server kommt kann ich was auswählen und so

  • Jeffry:


    Bevor ich dein Beispiel austeste, kannst du mir sagen was ich falsch mache damit ich das in Zukunft besser mache?


    Erhalte 0 Erros, nur Ingame werden die Textdraws nicht angezeigt.


    Spoiler anzeigen

    #include <a_samp>

    Spoiler anzeigen
    new PlayerText:Textdraw0;
    new PlayerText:Textdraw1;

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    Textdraw0 = CreatePlayerTextDraw(playerid,568.000000, 43.000000, "100");
    PlayerTextDrawBackgroundColor(playerid,Textdraw0, 255);
    PlayerTextDrawFont(playerid,Textdraw0, 2);
    PlayerTextDrawLetterSize(playerid,Textdraw0, 0.240000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw0, 16711935);
    PlayerTextDrawSetOutline(playerid,Textdraw0, 0);
    PlayerTextDrawSetProportional(playerid,Textdraw0, 1);
    PlayerTextDrawSetShadow(playerid,Textdraw0, 1);
    PlayerTextDrawSetSelectable(playerid,Textdraw0, 0);

    Spoiler anzeigen
    Textdraw1 = CreatePlayerTextDraw(playerid,568.000000, 65.000000, "100");
    PlayerTextDrawBackgroundColor(playerid,Textdraw1, 255);
    PlayerTextDrawFont(playerid,Textdraw1, 2);
    PlayerTextDrawLetterSize(playerid,Textdraw1, 0.240000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw1, 16711935);
    PlayerTextDrawSetOutline(playerid,Textdraw1, 0);
    PlayerTextDrawSetProportional(playerid,Textdraw1, 1);
    PlayerTextDrawSetShadow(playerid,Textdraw1, 1);
    PlayerTextDrawSetSelectable(playerid,Textdraw1, 0);

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid, reason)
    {
    PlayerTextDrawDestroy(playerid, PlayerText:Textdraw0);
    PlayerTextDrawDestroy(playerid, PlayerText:Textdraw1);
    PlayerTextDrawHide(playerid, PlayerText:Textdraw0);
    PlayerTextDrawHide(playerid, PlayerText:Textdraw1);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    PlayerTextDrawShow(playerid, PlayerText:Textdraw0);
    PlayerTextDrawShow(playerid, PlayerText:Textdraw1);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Da es ein Textdraw ist, das spielerspezifisch erstellt wird, musst du das playerid Array hinzufügen, überall.


    Textdraw0
    Zu
    Textdraw0[playerid]


    Ebenso für Textdraw1.


    Die richtige Deklaration hatte ich dir ja bereits gegeben.



    @xCurry:
    Setze einen Timer, oder nimm OnPlayerRequestClass.

  • Hi, hab oben die Include <m_zones> eingetragen und auch in den Ordner getan. Aber bekomme 2 Errors obwohl ich mit der Include noch nichts gemacht hab. Benutze die neuste version die ich gefunden hab.


    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\pawno\include\m_zones.inc(113) : error 004: function "M_OnPlayerEnterZone" is not implemented
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\pawno\include\m_zones.inc(122) : error 004: function "M_OnPlayerLeaveZone" is not implemented
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1226) : warning 203: symbol is never used: "M_Connect"
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1226) : warning 203: symbol is never used: "M_Init"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.