Variablen fehler im stock

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
  • Hallo leute,


    ich habe mir eine funktion gebastelt die ausließt von welcher fraktion der spieler Leader ist nun bekomm ich aber diesen error:
    inconsistent return types (array & non-array)


    Das 4x bei diesen zeilen:



    case 0: { leader = "-/-"; return 1; }
    case 1: { leader = "----"; return 1; }
    case 2: { leader = "------"; return 1; }
    case 3: { leader = "--------"; return 1; }


    am ende des stock habe ich "return leader;"


    Diesen error hatte ich noch nie wie bekomm ich ihn weg?

  • Hier.


    stock GetPlayerLeader(playerid)
    {
    new name[24],acc[33],leader[15];
    GetPlayerName(playerid,name,24);
    format(acc,33,"%s.datei",name);
    if(INI_Open(acc))
    {
    INI_ReadInt("pLeader");
    switch(pLeader)
    {
    case 0: { leader = "-/-"; return 1; }
    case 1: { leader = "----"; return 1; }
    case 2: { leader = "-------"; return 1; }
    case 3: { leader = "---------"; return 1; }
    }
    INI_Close();
    }
    return leader;
    }

  • Hier :


    format(acc,33,"%s.datei",name);


    also enthält die variable "acc" jetzt "name.datei"


    Wen ich nur if(INI_Open("acc")) machen würde, dan hätt er eine datei namens "acc" geöffnet die es aber nicht gibt.


    Komisch bei mir kommen fehler raus^^

  • stock GetPlayerLeader(playerid)
    {
    new name[24],acc[33],leader[15];
    GetPlayerName(playerid,name,24);
    format(acc,33,"%s.datei",name);
    if(INI_Open(acc))
    {
    INI_ReadInt("pLeader");
    switch(pLeader)
    {
    case 0: leader = "-/-";
    case 1: leader = "----";
    case 2: leader = "-------";
    case 3: leader = "---------";
    }
    INI_Close();
    }
    return leader;
    }
    Was soll das mit "-/-", "----" usw?

  • Das mit den "--------" ist egal ^^.


    Wen ich das "return 1;" wegnehme funktioniert es aber ich hatte immer probleme das mein Script sich iwie vertan hat wen ich kein case mit "return 1;" beendet habe -.-



    Schnacke


    Ja?


    Ich will das die datei vom spieler geöffnet wird.
    Deshalb nur 'acc'

  • Aber acc enthält ja eine Zeichenkette, die Datei heißt ja nicht acc: format(acc,33,"%s.datei",name);

  • Adnan du musst einfach nur
    if(INI_Open("dateiname.dateiendung"))
    also wenn deine datei ne ini ist einfach
    if(INI_Open("acc.ini"))
    oda wenns ne cfg ist
    if(INI_Open("acc.cfg"))
    Wie gesagt wenn du bsp eine Datei öffnest,
    bsp:

    PHP
    if(INI_Open("schnacke.ini"))

    und die vorhanden ist dann wird sie halt geöffnet,
    wenn die Datei nicht vorhanden ist, dann erstellt es die datei automatisch + es öffnet sie sofort

  • Macht AdnaN ja, da acc ja einen Dateinamen (name.datei) enthält

  • Ich weis das doch alles schon.


    Ich habe das so gemacht weil es den namen des spielers ausließt und dan in die variable 'acc' packt die danach mit SII geöffnet wird.
    Verstehste?
    Oder weiste nicht wie man mit variablen umgeht?^^


    Du brauchs mir das nicht erklären ^^.



    B2T: Funktioniert ja nun thx NeoPhoenix

  • Du darfst halt nur eine "Art" von return in einem Stock/Public verwenden. Entweder einen Text (hier return leader;) oder Variablen (wie return 1;).