[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
  • Woher kommen diese Error's
    Kann es mir nicht erklären

    Code
    C:\Users\Marcel\Desktop\Server\gamemodes\Selfmade.pwn(3) : error 049: invalid line continuation
    C:\Users\Marcel\Desktop\Server\gamemodes\Selfmade.pwn(11) : error 049: invalid line continuation
    C:\Users\Marcel\Desktop\Server\gamemodes\Selfmade.pwn(29) : error 049: invalid line continuation
    C:\Users\Marcel\Desktop\Server\gamemodes\Selfmade.pwn(226) : error 049: invalid line continuation
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    4 Errors.
  • Zeile 3:
    //=================> Include's


    Zeile 29:
    //============================================================================\\


    Zeile 226:
    //============================================================================\\

  • Beitrag von Global Gamer ()

    Dieser Beitrag wurde von dennismitzwein aus folgendem Grund gelöscht: Spam ().
  • Hi, kann ganz kurz jemand helfen?



    public OnGameModeExit()
    {



    MainTexts[15] = Text:INVALID_TEXT_DRAW; //Error
    FinalRound[19] = Text:INVALID_TEXT_DRAW; //Error



    ArenaTextID = Text:INVALID_TEXT_DRAW;
    Website = Text:INVALID_TEXT_DRAW;
    RoundTime = Text:INVALID_TEXT_DRAW;
    }


    So werden sie erstellt



    new Text:MainTexts[15] = {Text:INVALID_TEXT_DRAW, ...};
    new Text:FinalRound[19] = {Text:INVALID_TEXT_DRAW, ...};



    new Text:ArenaTextID = Text:INVALID_TEXT_DRAW;
    new Text:Website = Text:INVALID_TEXT_DRAW;
    new Text:RoundTime = Text:INVALID_TEXT_DRAW;


    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(832) : error 032: array index out of bounds (variable "MainTexts")
    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(833) : error 032: array index out of bounds (variable "FinalRound")


    Mit freundlichen Grüßen
    JustMe.77 8)

  • C
    new Text:MainTexts[15] = {Text:INVALID_TEXT_DRAW, ...};

    Du hast 15 MainTexts erstellt (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)
    Hier nutzt du aber den 15. Index, den es gar nicht gibt:
    (bei den anderen Fehler genau so)


    C
    MainTexts[15] = Text:INVALID_TEXT_DRAW; //Error

    Wenn du nämlich 15 reinschreibst, hättest du rein mathematisch 16 Einträge (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)


    Wenn dann so:


    C
    for(new i;i<sizeof(MainTexts);i++)
    {
         MainTexts[i] = Text:INVALID_TEXT_DRAW
    }

    Wobei das bei OnGameModeExit eh nichts bringt, da dort eh alles wieder zurück auf "0" gesetzt wird. ;)

  • MainTexts[15] = Text:INVALID_TEXT_DRAW; //Error
    FinalRound[19] = Text:INVALID_TEXT_DRAW; //Error

    [15] und [19] existieren nicht...dein Array geht nur von 0-14 und von 0-18.


    Davon mal abgesehen, brauchst du unter OnGameModeExit nichts zurücksetzen, da beim neustarten automatisch die Variablen neu initialisiert werden :)

    ast2ufdyxkb1.png


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

  • Habe das so geregelt:



    Oben erstellst du dann pMoney.


    In einem Timer schreibst du folgendes:

    C
    new antimoney = GetPlayerMoney(playerid), servermoney = GetMoney(playerid);	
    if(antimoney < servermoney)
    	{
    		new lostmoney = servermoney - antimoney;
    		Spieler[playerid][pMoney] -= lostmoney;
    	}

    Laden lässt du es wie gewohnt beim Login in die Variable pMoney.
    Dann einfach SetMoney(playerid, Spieler[playerid][pMoney]);


    Dein Geld wird auch abgezogen wenn du im PnS etc bist. :)