error 035: argument type mismatch (argument 4)[Bitte Helfen]

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,


    Ich habe das ganze schon in den Fehlerklärbar geworfen und er sagte mir das die Paramter "unverträglich" sein.


    Aber wie kann ich das ändern??


    Error:
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2702) : error 035: argument type mismatch (argument 4)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    Zeilen:

    ocmd:cclub(playerid,params[])
    {
    if(Spieler[playerid][Admin] < 2000)return SendClientMessage(playerid,ROT,"Du bist nicht Befugt!");
    {
    new Float:x,Float:y,Float:z,preis,art;
    if(sscanf(params,"dd",preis,art))return SendClientMessage(playerid,BLAU,"Benutze: /cclub [PREIS][ART]");
    GetPlayerPos(playerid,x,y,z);
    CreateClub(x,y,z,"Niemand",preis,art);
    }
    return 1;
    }


  • // Club System //


    stock CreateClub(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum,krimi,upgrades,art)
    {
    new pfad[50];
    for(new club=1;club<MAX_CLUBS;club++)
    {
    format(pfad,50,"/club/%d.txt",club);
    if(!fexist(pfad))
    {
    dini_Create(pfad);
    dini_FloatSet(pfad,"x",x);
    dini_FloatSet(pfad,"y",y);
    dini_FloatSet(pfad,"z",z);
    dini_IntSet(pfad,"preis",preis);
    dini_Set(pfad,"besitzer",besitzer);
    dini_IntSet(pfad,"innenraum",innenraum);
    dini_IntSet(pfad,"krimi",krimi);
    dini_IntSet(pfad,"upgrades",upgrades);
    dini_IntSet(pfad,"konto",0);
    dini_IntSet(pfad,"art",art);
    return LoadClub(club);
    }
    }
    return 1;
    }


    stock LoadClub(clubid)
    {
    new pfad[50];
    format(pfad,50,"/club/%d.txt",clubid);
    if(!fexist(pfad))return 0;
    // {
    ClubInfo[clubid][club_x] = dini_Float(pfad,"x");
    ClubInfo[clubid][club_y] = dini_Float(pfad,"y");
    ClubInfo[clubid][club_z] = dini_Float(pfad,"z");
    ClubInfo[clubid][club_preis] = dini_Int(pfad,"preis");
    ClubInfo[clubid][club_innenraum] = dini_Int(pfad,"innenraum");
    ClubInfo[clubid][club_krimi] = dini_Int(pfad,"krimi");
    ClubInfo[clubid][club_upgrades] = dini_Int(pfad,"upgrades");
    ClubInfo[clubid][club_art] = dini_Int(pfad,"art");
    ClubInfo[clubid][club_konto] = dini_Int(pfad,"konto");
    format(ClubInfo[clubid][club_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    ClubInfo[clubid][club_pickup] = CreatePickup(1273,23,ClubInfo[clubid][club_x],ClubInfo[clubid][club_y],ClubInfo[clubid][club_z],0);
    new s[128];
    format(s,128,"***Club***\nBesitzer: %s\nPreis: %d$\nArt:",ClubInfo[clubid][club_besitzer],ClubInfo[clubid][club_preis],ClubInfo[clubid][club_art]);
    ClubInfo[clubid][club_label] = Create3DTextLabel(s,BLAU,ClubInfo[clubid][club_x],ClubInfo[clubid][club_y],ClubInfo[clubid][club_z],20,0,1);
    return print("Der Club wurde erfolgreich Geladen!");
    // }
    }


    stock KillClub(clubid)
    {
    DestroyPickup(ClubInfo[clubid][club_pickup]);
    Delete3DTextLabel(ClubInfo[clubid][club_label]);
    }
    // Club System Ende //


    /e
    Bin mir ziemlich sicher das es nicht an "Niemand" liegt bevor ich nämlich "art" eingefügt habe ging der Command Tadellos(auch InGame)

  • Diese Argumente sind Uninteressant/Die Will ich nicht bzw diese werden durch den User Bestimmt mit einem Befehl(Upgrades werden halt Gekauft)
    Der Admin(=Ersteller) soll Nur die ART und denn PREIS einstellen können mehr nicht.

  • Du musst diese Argumente aber eintragen weil der Stock alle Argumente braucht um den Club zu erstellen, setz einfach die Variablen auf 0.

    ocmd:cclub(playerid,params[])
    {
    if(Spieler[playerid][Admin] < 2000)return SendClientMessage(playerid,ROT,"Du bist nicht Befugt!");
    {
    new Float:x,Float:y,Float:z,preis,art,innenraum = 0,krimi = 0,upgrades = 0;
    if(sscanf(params,"dd",preis,art))return SendClientMessage(playerid,BLAU,"Benutze: /cclub [PREIS][ART]");
    GetPlayerPos(playerid,x,y,z);
    CreateClub(x,y,z,preis,"Niemand",innenraum,krimi,upgrades,art);
    }
    return 1;
    }

  • Error ist weg danke nun habe ich aber eine Club Kasse mit Ein&Auszahlen eingefügt aber es kommen total viele Warnings das irgendwas fehlt:


    Mein Enum:

    // Club System //
    #define MAX_CLUBS 15


    enum club_info
    {
    Float:club_x,
    Float:club_y,
    Float:club_z,
    club_besitzer[32],
    club_innenraum,
    Text3D:club_label,
    club_pickup,
    club_art,
    club_upgrades,
    club_konto,
    club_krimi,
    club_preis
    }
    new ClubInfo[MAX_CLUBS][club_info];


    // other //


    enum cinnenraum_info
    {
    Float:cinnen_x,
    Float:cinnen_y,
    Float:cinnen_z,
    cinnen_interior
    }
    new ClubInnenraum[][cinnenraum_info] =
    {
    {2495.6726,-1692.9672,1014.7422,6}
    };


    new inClub[MAX_PLAYERS] = -1;
    // Club System Ende //


    Die Commands:

    ocmd:clubeinzahlen(playerid,params[])
    {
    for(new club = 1; club <MAX_CLUBS; club++)
    {
    new innenraum = ClubInfo[club][club_innenraum];
    if(IsPlayerInRangeOfPoint(playerid,20,ClubInfo[innenraum][cinnen_x],ClubInfo[innenraum][cinnen_y],ClubInfo[innenraum][cinnen_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(ClubInfo[club][club_besitzer],name,false) == 1)
    {
    new egeld, string[128];
    if(sscanf(params,"d",egeld))return SendClientMessage(playerid,BLAU,"Benutze: /clubeinzahlen [Einzahl-Menge]");
    if(GetPlayerMoney(playerid) >= egeld)
    {
    new pfad[50];
    format(pfad,50,"/club/%d.txt",club);
    ClubInfo[club][club_konto] += egeld;
    dini_IntSet(pfad,"konto",ClubInfo[club][club_konto]);
    GivePlayerMoney(playerid,-egeld);
    format(string,sizeof(string),"Du hast %d$ in die Club Kasse eingezahlt! Neuer Stand: %d",egeld,ClubInfo[club][club_konto]);
    SendClientMessage(playerid,BLAU,string);
    KillClub(club);
    LoadClub(club);
    return 1;
    }
    else return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld dabei!");
    }
    else return SendClientMessage(playerid,ROT,"Das ist nicht dein Club!");
    }
    else return SendClientMessage(playerid,ROT,"Du bist nicht IN deinem Club!");
    }
    return 1;
    }
    ocmd:clubauszahlen(playerid,params[])
    {
    for(new club = 1; club <MAX_CLUBS; club++)
    {
    new innenraum = ClubInfo[club][club_innenraum];
    if(IsPlayerInRangeOfPoint(playerid,20,ClubInfo[innenraum][cinnen_x],ClubInfo[innenraum][cinnen_y],ClubInfo[innenraum][cinnen_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(ClubInfo[club][club_besitzer],name,false) == 1)
    {
    new ageld, string[128];
    if(sscanf(params,"d",ageld))return SendClientMessage(playerid,BLAU,"Benutze: /bauszahlen [Auszahl-Menge]");
    if(ClubInfo[club][club_konto] >= ageld)
    {
    new pfad[50];
    format(pfad,50,"/club/%d.txt",club);
    ClubInfo[club][club_konto] -= ageld;
    dini_IntSet(pfad,"konto",ClubInfo[club][club_konto]);
    GivePlayerMoney(playerid,ageld);
    format(string,sizeof(string),"Du hast %d$ aus der Club Kasse ausgezahlt! Neuer Stand: %d",ageld, ClubInfo[club][club_konto]);
    SendClientMessage(playerid,BLAU,string);
    KillClub(club);
    LoadClub(club);
    return 1;
    }
    else return SendClientMessage(playerid,ROT,"In der Club Kasse ist nicht soviel Geld!");
    }
    else return SendClientMessage(playerid,ROT,"Das ist nicht dein Club!");
    }
    else return SendClientMessage(playerid,ROT,"Du bist nicht IN deinen Club!");
    }
    return 1;
    }


    Die Errors:

    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2834) : warning 213: tag mismatch
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2834) : warning 213: tag mismatch
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2834) : warning 213: tag mismatch
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2868) : warning 213: tag mismatch
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2868) : warning 213: tag mismatch
    C:\Users\Flo\Desktop\Test\gamemodes\horreallifebyhell.pwn(2868) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Warnings.

  • Ich glaube du benutzt den Falschen enum.. du benutzt nähmlich ClubInfo obwohl der Innenraum in ClubInnenraum gespeichert wird.
    if(IsPlayerInRangeOfPoint(playerid,20,ClubInfo[innenraum][cinnen_x],ClubInfo[innenraum][cinnen_y],ClubInfo[innenraum][cinnen_z])) = Falsch
    if(IsPlayerInRangeOfPoint(playerid,20,ClubInnenraum[innenraum][cinnen_x],ClubInnenraum[innenraum][cinnen_y],ClubInnenraum[innenraum][cinnen_z])) = Richtig