Error bei Textdraw PayDay-Anzeige

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
  • Moinsen,


    ich bin gerade bei eine PayDay-Anzeige über ein Textdraw für jeden Spieler laufen zulassen, nur leider bekomme ich 2 Errors.


    Error's:

    C
    C:\Users\Lukas\Desktop\PRB Scripting\pawno\WB.pwn(54896) : error 017: undefined symbol "playerid"
    C:\Users\Lukas\Desktop\PRB Scripting\pawno\WB.pwn(54897) : error 017: undefined symbol "i"


    Text:

    C
    format(string,50,"Payday in: %i min",60-PlayerInfo[playerid][pPayDay]); //Zeile 54896
    	TextDrawSetString(paydaytex[i],string); //Zeile 54897


    Ich hoffe, dass mir jemand Helfen kann.




    MfG,
    AroX

  • Mach es So

    C
    public:sekunden(playerid)
    {
    	new string[50];
    	new paydayTextDraw[MAX_PLAYERS];
    	paydayTextDraw[playerid] = 60-PlayerInfo[playerid][pPayDay];
    	format(string,50,"Payday in: %i min",paydayTextDraw[playerid]);
    	PlayerTextDrawSetString(paydaytex[playerid],string);
    }


    Und das Textdraw in Playtextdraw umschreiben :)
    oder du kannst es aber auch glaub so machen
    Probier einfach mal beide und sag dann bescheid


    C
    public:sekunden()
    {
    	for(new i=0; i<MAX_PLAYERS; i++)
    	{
    		new string[50];
    		format(string,50,"Payday in: %i min",60-PlayerInfo[playerid][pPayDay]);
    		TextDrawSetString(paydaytex[i],string);
    	}	
    }
  • Allerdings wäre es besser, wenn du anstatt mit normalen Textdraws mit PlayerTextDraws arbeitest, dann kommst du weniger schnell an Limits.

  • <p>Herzlichen dank, nur leider geht der Textdraw nun jede Sekunde eine Zahl weiter. </p><p>Da ich einen Timer gesetzt habe: SetTimer("sekunden",1000,true); wenn ich ihn nun auf eine Minute stelle, löst es ja mein Problem noch nicht. </p><p>Wie genau setze ich das ganze nun das die Zeit direkt dann aktualisiert wird wenn eine weitere Spielminute abgeschlossen ist?</p>

  • Versuche es so unter dem Textdraw was du erstellt hast also in dem Fall dann paydaytex


    C
    SetTimerEx("sekunden",1000,1,"i",playerid);
    //und das hier bei OnPlayerConnect
    sekunden(playerid);

    wen du das so gemacht hast wie bei meinem Ersten beispiel

  • Mh.., der Quellencode funktioniert bei mir komischerweise gerade nicht richtig, ich poste es mal so.
    Ich bekomme bei dem Timer einen Error.


    Error:
    C:\Users\Lukas\Desktop\PRB Scripting\pawno\WB.pwn(13660) : error 017: undefined symbol "playerid"


    Zeile:
    SetTimerEx("sekunden",1000,1,"i",playerid);

  • Unter den Includes:
    new pTick[MAX_PLAYERS];


    Bei OnGameModeInit:
    SetTimer("sekunden",1000,true);


    Bei OnPlayerConnect, bzw. beim Login:
    pTick[playerid] = gettime();

  • Danke, da ich das Textdraw nun unter OnPlayerConnect geschrieben habe wird es nicht mehr angezeigt.



  • Beitrag von AroX ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fail ().
  • So und ohne die Schleife :)


    Falls du es noch nicht so hast

    C
    paydaytex[playerid] = CreatePlayerTextDraw(68.000000, 437.000000, "");
    PlayerTextDrawBackgroundColor(paydaytex[playerid], 255);
    PlayerTextDrawFont(paydaytex[playerid], 1);
    PlayerTextDrawLetterSize(paydaytex[playerid], 0.500000, 1.000000);
    PlayerTextDrawColor(paydaytex[playerid], 16711935);
    PlayerTextDrawSetOutline(paydaytex[playerid], 0);
    PlayerTextDrawSetProportional(paydaytex[playerid], 1);
    PlayerTextDrawSetShadow(paydaytex[playerid], 1);
    PlayerTextDrawSetSelectable(paydaytex[playerid], 0); //playerid
  • Du hast überall die playerid vergessen.

    C
    paydaytex[playerid] = CreatePlayerTextDraw(playerid, 68.000000, 437.000000, "_");
    PlayerTextDrawBackgroundColor(playerid, paydaytex[playerid], 255);
    PlayerTextDrawFont(playerid, paydaytex[playerid], 1);
    PlayerTextDrawLetterSize(playerid, paydaytex[playerid], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, paydaytex[playerid], 16711935);
    PlayerTextDrawSetOutline(playerid, paydaytex[playerid], 0);
    PlayerTextDrawSetProportional(playerid, paydaytex[playerid], 1);
    PlayerTextDrawSetShadow(playerid, paydaytex[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, paydaytex[playerid], 0); //playerid
  • Hay habe nun alles gemacht, nur leider zeigt er den Textdraw noch immer nicht an. :/


    Warnings:


    C:\Users\Lukas\Desktop\PRB Scripting\pawno\WB.pwn(5877) : warning 213: tag mismatch
    C:\Users\Lukas\Desktop\PRB Scripting\pawno\WB.pwn(8128) : warning 213: tag mismatch



    public OnPlayerConnect(playerid)
    {


    paydaytex[playerid] = CreatePlayerTextDraw(playerid, 68.000000, 437.000000, ""); //ZEILE 5877
    TextDrawBackgroundColor(paydaytex[playerid], 255);
    TextDrawFont(paydaytex[playerid], 1);
    TextDrawLetterSize(paydaytex[playerid], 0.500000, 1.000000);
    TextDrawColor(paydaytex[playerid], 16711935);
    TextDrawSetOutline(paydaytex[playerid], 0);
    TextDrawSetProportional(paydaytex[playerid], 1);
    TextDrawSetShadow(paydaytex[playerid], 1);
    TextDrawSetSelectable(paydaytex[playerid], 0); //playerid



    Bei OnPlayerConnect


    PlayerTextDrawShow(playerid,paydaytex[playerid]); //ZEILE 8128

  • new Text:paydaytex[MAX_PLAYERS];
    zu:
    new PlayerText:paydaytex[MAX_PLAYERS];


    Und wie gesagt:

    C
    paydaytex[playerid] = CreatePlayerTextDraw(playerid, 68.000000, 437.000000, "_");
    PlayerTextDrawBackgroundColor(playerid, paydaytex[playerid], 255);
    PlayerTextDrawFont(playerid, paydaytex[playerid], 1);
    PlayerTextDrawLetterSize(playerid, paydaytex[playerid], 0.500000, 1.000000);
    PlayerTextDrawColor(playerid, paydaytex[playerid], 16711935);
    PlayerTextDrawSetOutline(playerid, paydaytex[playerid], 0);
    PlayerTextDrawSetProportional(playerid, paydaytex[playerid], 1);
    PlayerTextDrawSetShadow(playerid, paydaytex[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, paydaytex[playerid], 0); //playerid
  • Beitrag von AroX ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Browser spinnt. -.- ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen