Payday Textdraw Error

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
  • C:\Users\ArcticbytesRL\Desktop\MrM Original\gamemodes\mrm.pwn(58717) : warning 235: public function lacks forward declaration (symbol "paydaydraw")
    C:\Users\ArcticbytesRL\Desktop\MrM Original\gamemodes\mrm.pwn(58720) : warning 213: tag mismatch
    C:\Users\ArcticbytesRL\Desktop\MrM Original\gamemodes\mrm.pwn(58720) : error 017: undefined symbol "pID"
    C:\Users\ArcticbytesRL\Desktop\MrM Original\gamemodes\mrm.pwn(58721) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    new PlayerText:paydayzeit[MAX_PLAYERS];


    public paydaydraw(playerid)
    {
    new paydaystring[100];
    format(paydayzeit, sizeof paydayzeit,"{0091FF}Payday: {FEFEFE}%s{0091FF}/60",SpielerInfo[pID][Paytime]," Minuten");
    TextDrawSetString(paydayzeit, paydaystring);
    }


    paydayzeit[playerid] = CreatePlayerTextDraw(playerid, 256.799957, 7.466705, "PayDay: 00/60");
    PlayerTextDrawLetterSize(playerid, paydayzeit[playerid], 0.367599, 1.114666);
    PlayerTextDrawAlignment(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawColor(playerid, paydayzeit[playerid], -1);
    PlayerTextDrawSetShadow(playerid, paydayzeit[playerid], 0);
    PlayerTextDrawSetOutline(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, paydayzeit[playerid], 51);
    PlayerTextDrawFont(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawSetProportional(playerid, paydayzeit[playerid], 1);

  • forward paydaydraw(playerid);
    public paydaydraw(playerid)
    {
    new paydaystring[100];
    format(paydaystring, sizeof(paydaystring),"{0091FF}Payday: {FEFEFE}%d{0091FF}/60 Minuten", SpielerInfo[playerid][Paytime]);
    PlayerTextDrawSetString(playerid, paydayzeit[playerid], paydaystring);
    return 1;
    }

  • forward paydaydraw(playerid);
    public paydaydraw(playerid)
    {
    new paydaystring[100];
    format(paydaystring, sizeof(paydaystring),"Payday: %d/60 Minuten", SpielerInfo[playerid][Paytime]);
    PlayerTextDrawSetString(playerid, paydayzeit[playerid], paydaystring);
    return 1;
    }


    paydayzeit[playerid] = CreatePlayerTextDraw(playerid, 256.799957, 7.466705, "PayDay: 00/60");
    PlayerTextDrawLetterSize(playerid, paydayzeit[playerid], 0.367599, 1.114666);
    PlayerTextDrawAlignment(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawColor(playerid, paydayzeit[playerid], -1);
    PlayerTextDrawSetShadow(playerid, paydayzeit[playerid], 0);
    PlayerTextDrawSetOutline(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, paydayzeit[playerid], 51);
    PlayerTextDrawFont(playerid, paydayzeit[playerid], 1);
    PlayerTextDrawSetProportional(playerid, paydayzeit[playerid], 1);


    public OnPlayerSpawn(playerid)
    {
    paydaydraw(playerid);
    PlayerTextDrawShow(playerid, paydayzeit[playerid]); //Das kannst du auch in den paydaydraw(playerid) packen, wie du willst


    public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    {
    paydaydraw(playerid);
    PlayerTextDrawShow(playerid, paydayzeit[playerid]); //Das kannst du auch in den paydaydraw(playerid) packen, wie du willst


    public OnPlayerExitVehicle(playerid,vehicleid)
    {
    paydaydraw(playerid);
    PlayerTextDrawShow(playerid, paydayzeit[playerid]); //Das kannst du auch in den paydaydraw(playerid) packen, wie du willst



    Mfg

  • Nutzt du irgendwo, zum Beispiel in einem Timer, PlayerTextDrawHide? Wenn ja, für dieses Textdraw vielleicht sogar?
    Zeigt es denn das Textdraw wieder an, wenn der PayDay um eins hochgezählt wird und geht es danach auch gleich wieder weg?

  • Oder dass du es löschst, irgendwo in einem Timer? Hast du denn einen Timer, der alle paar Sekunden aufgerufen wird?


    Alternativ, versuche es über ein Dummy zu lösen, manchmal hilft das, wenn man den Fehler nicht findet (ist zwar unschön, aber übergangsweise tut es das oft).
    paydayzeit[playerid] = CreatePlayerTextDraw(playerid, 256.799957, 7.466705, "PayDay: 00/60");
    zu:
    CreatePlayerTextDraw(playerid, 0.0, 0.0, "Dummy");
    paydayzeit[playerid] = CreatePlayerTextDraw(playerid, 256.799957, 7.466705, "PayDay: 00/60");


    Wichtig ist, dass es vor dem anderen CreatePlayerTextDraw steht, also lass die Reihenfolge so ^ .