Falsche Arrys Problem

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
  • Also ich hab nachts warscheinlich kein Kopf dafür denn der Compiler spuckt folgende Errors:

    Code
    C:\Users\Familie Stern\Desktop\Game star\Project TDM\gamemodes\gangwar.pwn(304) : warning 213: tag mismatch
    C:\Users\Familie Stern\Desktop\Game star\Project TDM\gamemodes\gangwar.pwn(305) : warning 213: tag mismatch
    C:\Users\Familie Stern\Desktop\Game star\Project TDM\gamemodes\gangwar.pwn(307) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    In den Zeilen:

    if (strcmp("/level", cmdtext, true, 10) == 0)
    {
    new str[256];
    SendClientMessage(playerid,COLOR_BLACK,"____Level_Info_____");
    SendClientMessage(playerid,COLOR_BLACK,"");
    format(str, sizeof str,"Du bist Level %d",Spieler[playerid][level]);
    SendClientMessage(playerid,COLOR_BLACK,str);
    format(str, sizeof str,"Erfahrungspunkte: %d",Spieler[playerid][ep]);
    new TempEpSpieler;
    new ProzentLevel;
    new ArryLevelVerschiebung = Spieler[playerid][level-2];//Spieler level 304
    new ExArryLevelVerschiebung = Spieler[playerid][level-1];//Nächstes erreichbare Level 305
    TempEpSpieler = Spieler[playerid][ep] - LevelExpGesamt[ArryLevelVerschiebung][levelexp];
    ProzentLevel = (TempEpSpieler / ExpLevelUp[][levelexp]) * 100; 307
    format(str, sizeof str,"Bis zum nächsten Level: %d (%d%)",LevelExpGesamt[ExArryLevelVerschiebung][levelexp],ProzentLevel);//bug
    SendClientMessage(playerid,COLOR_BLACK,str);
    return 1;
    }
    Eigentlich sollte man beim Befehl /Level angezeigt bekommen wie viel exp man hat, wie viel man bis zum nächsten level braucht und das auch in % ausgedrückt. Für jedes Level gibts es eine Arry mit der Anzahl der Eps aber wo sind die Fehler hierbei
    (Ich poste die langen Enume besser nicht da das 200 Zeilen in Anspruch nimmt aber hier ein teil:


    enum level_manager
    {
    levenummer,
    levelexp
    }


    new LevelExpGesamt[][level_manager] = {
    {2,50},
    {3,150},
    {4,300},
    {5,500},
    {6,800},
    {7,1200},
    {8,1750},
    {9,2450},
    {10,3350},
    {11,4550},
    {12,6050},
    {13,7950},
    {14,10250},
    //... - 100


    new ExpLevelUp[][level_manager] = {
    {2,50},
    {3,100},
    {4,150},
    {5,200},
    {6,300},
    {7,400},
    {8,550},
    {9,700},
    {10,900},
    {11,1200},
    {12,1500},
    {13,1900},
    {14,2300},
    // . . . - 100
    Schau morgen wieder vorbei bitte um Antwort bin am versagen :D

  • if (strcmp("/level", cmdtext, true, 10) == 0)
    {
    new str[256];
    SendClientMessage(playerid,COLOR_BLACK,"____Level_Info_____");
    SendClientMessage(playerid,COLOR_BLACK,"");
    format(str, sizeof str,"Du bist Level %d",Spieler[playerid][level]);
    SendClientMessage(playerid,COLOR_BLACK,str);
    format(str, sizeof str,"Erfahrungspunkte: %d",Spieler[playerid][ep]);
    new TempEpSpieler;
    new ProzentLevel;
    new ArryLevelVerschiebung = Spieler[playerid][level] -= 2;//Spieler level 304
    new ExArryLevelVerschiebung = Spieler[playerid][level] -=2;//Nächstes erreichbare Level 305
    TempEpSpieler = Spieler[playerid][ep] - LevelExpGesamt[ArryLevelVerschiebung][levelexp];
    ProzentLevel = (TempEpSpieler / ExpLevelUp[][levelexp]) * 100; 307
    format(str, sizeof str,"Bis zum nächsten Level: %d (%d%)",LevelExpGesamt[ExArryLevelVerschiebung][levelexp],ProzentLevel);//bug
    SendClientMessage(playerid,COLOR_BLACK,str);
    return 1;
    }

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Dankeschön, heut an der Bushalte ist mir der Blitzgedanke auch gekommen aber heut nacht war ich zu übermüdet und wollte UNBEDINGT diesen befehl noch fertig haben, da sieht man was passiert, danke.
    Ich bevorzuge allerdings das hier:
    new ArryLevelVerschiebung = Spieler[playerid][level] - 2;
    new ExArryLevelVerschiebung = Spieler[playerid][level] -2;
    Weil ich nicht das Arryelement ändern wollte sonder das Arryelement -2 in eine variable speichern will.

    Einmal editiert, zuletzt von carlos1710 ()

  • new ArryLevelVerschiebung = Spieler[playerid][level] -= 2;
    new ExArryLevelVerschiebung = Spieler[playerid][level] -=2;


    Das ist aber falsch ^^


    Wenn, dann muss das so aussehen:


    new ArryLevelVerschiebung = Spieler[playerid][level] - 2;
    new ExArryLevelVerschiebung = Spieler[playerid][level] - 2;


    mfg. :thumbup:

    ast2ufdyxkb1.png


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