schon wieder fehler...

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
  • hey,


    ich hab mich gerade an einem wanted befehl versucht... aber bekomme 2 fehlermeldungen... kann mir bitte wer helfen? ;(



    hier der befehl:



    hier die errors (ich hab die zeilen markiert):




    LG


    Marco

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • ja kann ich aber dann kann ich die zeilen nicht farbig markieren


    ocmd:givewanted(playerid,params[])
    {
    new pID, Wantedlistdatei[64];
    if(IsPlayerConnected(pID))
    {
    if(isPlayerInFrakt(playerid,1)||isPlayerInFrakt(playerid,2)||isPlayerInFrakt(playerid,3))
    {
    new wps, string[128], string2[64];
    if(sscanf(params,"uis",pID,wps,string2))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /givewanted [Spieler/ID] [WantedAnzahl] [Grund]");
    if(GetPVarInt(pID, "Wanteds") + wps >= 61)return SendClientMessage(playerid, COLOR_GRAU, "Du kannst nur maximal 60 Wps vergeben!"); //if(isPlayerInFrakt(pID, 10)) return SendClientMessage(playerid, COLOR_GRAU, "Du kannst keine Mitglieder aus deiner Mafia auf die Liste setzen!!");
    {
    SetPVarInt(pID, "Wanteds", GetPVarInt(pID, "Wanteds") + wps);
    format(string,sizeof(string),"Beamter %s hat dir %i Wantedpunkt(e) gegeben. Grund: %s",SpielerName(playerid),wps,string2);
    SendClientMessage(pID,COLOR_RED,string);
    format(string,sizeof(string),"Du hast %s %i Wantedpunkt(e) gegeben. Grund: %s",SpielerName(pID),wps,string2);
    SendClientMessage(pID,COLOR_HELLBLAU,string);


    format(string,sizeof(string),"%s hat %s auf die Blackliste gesetzt. Grund: %s",SpielerName(playerid),SpielerName(pID),string2);
    for(new i; i<MAX_PLAYERS; i++){if(isPlayerInFrakt(i, GetPVarInt(playerid, "Fraktion"))) {SendClientMessage(i, COLOR_GELB, string);}}
    for(new i; i<MAX_PLAYERS; i++)
    {
    format(Wantedlistdatei, 64, "/Wantedlist/Wanted_Liste[%d].txt", i);
    if(!fexist(Wantedlistdatei))
    {
    dini_Create(Wantedlistdatei);
    dini_Set(Wantedlistdatei,"Name", SpielerName(pID));
    dini_Set(Wantedlistdatei,"WPS", GetPVarInt(pID, "Wanteds")); //roter error
    SetPVarInt(pID, "wl1", 1);
    }}
    }
    else// blauer error
    {
    SendClientMessage(playerid, COLOR_GRAU,"Du hast keine Berechtigung diesen Befehl auszuführen!");
    }}
    return 1;


    }
    return 1;
    }



    die errors:


    Zitat

    C:\Users\Marco\Desktop\Marcos Server\gamemodes\MarcosServerTM.pwn(2248) : error 035: argument type mismatch (argument 3)
    C:\Users\Marco\Desktop\Marcos Server\gamemodes\MarcosServerTM.pwn(2252) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Zitat

    dini_Set(Wantedlistdatei,"WPS", GetPVarInt(pID, "Wanteds"));


    'Wanteds' ist, nehme ich mal an, eine Zahl, daher muss 'dini_Set' (nur für Strings(Zeichenketten) gedacht) in 'dini_IntSet' geändert werden.


    Zum zweiten Error:
    Ich nehme an, dass sich die else-Anweisung eigentlich auf folgende Zeile beziehen sollte:
    if(isPlayerInFrakt(playerid,1)||isPlayerInFrakt(playerid,2)||isPlayerInFrakt(playerid,3))


    Wenn ja, dann ist sie nur an die falsche Stelle geraten, weil so, wie der Code jetzt ist, bezieht sich die else-Anweisung auf die Abfrage mit den 'maximal 60 Wps'.


    So funktioniert es hoffentlich:
    ocmd:givewanted(playerid,params[])
    {
    new pID, Wantedlistdatei[64];
    if(IsPlayerConnected(pID)) {
    if(isPlayerInFrakt(playerid,1)||isPlayerInFrakt(playerid,2)||isPlayerInFrakt(playerid,3)) {
    new wps, string[128], string2[64];
    if(sscanf(params,"uis",pID,wps,string2))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /givewanted [Spieler/ID] [WantedAnzahl] [Grund]");
    //if(isPlayerInFrakt(pID, 10)) return SendClientMessage(playerid, COLOR_GRAU, "Du kannst keine Mitglieder aus deiner Mafia auf die Liste setzen!!");
    if(GetPVarInt(pID, "Wanteds") + wps >= 61)return SendClientMessage(playerid, COLOR_GRAU, "Du kannst nur maximal 60 Wps vergeben!");
    {
    SetPVarInt(pID, "Wanteds", GetPVarInt(pID, "Wanteds") + wps);
    format(string,sizeof(string),"Beamter %s hat dir %i Wantedpunkt(e) gegeben. Grund: %s",SpielerName(playerid),wps,string2);
    SendClientMessage(pID,COLOR_RED,string);
    format(string,sizeof(string),"Du hast %s %i Wantedpunkt(e) gegeben. Grund: %s",SpielerName(pID),wps,string2);
    SendClientMessage(pID,COLOR_HELLBLAU,string);


    format(string,sizeof(string),"%s hat %s auf die Blackliste gesetzt. Grund: %s",SpielerName(playerid),SpielerName(pID),string2);
    for(new i; i<MAX_PLAYERS; i++) {
    if(isPlayerInFrakt(i, GetPVarInt(playerid, "Fraktion"))) {
    SendClientMessage(i, COLOR_GELB, string);
    }
    }
    for(new i; i<MAX_PLAYERS; i++) {
    format(Wantedlistdatei, 64, "/Wantedlist/Wanted_Liste[%d].txt", i);
    if(!fexist(Wantedlistdatei)) {
    dini_Create(Wantedlistdatei);
    dini_Set(Wantedlistdatei,"Name", SpielerName(pID));
    dini_SetInt(Wantedlistdatei,"WPS", GetPVarInt(pID, "Wanteds"));
    SetPVarInt(pID, "wl1", 1);
    }
    }
    }
    }
    else {
    SendClientMessage(playerid, COLOR_GRAU,"Du hast keine Berechtigung diesen Befehl auszuführen!");
    }
    return 1;
    }
    return 1;
    }

  • ja klappt danke, aber jetzt wird das so erstellt:


    wenn ich denn befehl eingebe und zB 60 wps vergebe dann wird alles so erstellt:




    siehe anhang^^




    //EDIT: also es wird 499 mal die datei erstellt, kann es sein, das das iwo das createn der .txt datei iwo im befehl wiederholt wird?

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    2 Mal editiert, zuletzt von [MM]Marco ()

  • mach die schleife mal so
    for(new i; i<MAX_PLAYERS; i++)
    {
    format(Wantedlistdatei, 64, "/Wantedlist/Wanted_Liste[%d].txt", i);
    if(!fexist(Wantedlistdatei))
    {
    dini_Create(Wantedlistdatei);
    dini_Set(Wantedlistdatei,"Name", SpielerName(pID));
    dini_SetInt(Wantedlistdatei,"WPS", GetPVarInt(pID, "Wanteds"));
    SetPVarInt(pID, "wl1", 1);
    break;
    }
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ja! jetzt wird zwar nur noch eine erstellt, aber wenn ich jetzt zB 1 wanted gebe dann wird auch eine erstellt, restarte ich aber, kann ich mir neue wps geben und es wird eine zweite liste erstellt...

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • dann halt so


    for(new i; i<MAX_PLAYERS; i++)
    {
    format(Wantedlistdatei, 64, "/Wantedlist/Wanted_Liste[%d].txt", i);
    if(!fexist(Wantedlistdatei)) dini_Create(Wantedlistdatei);
    dini_Set(Wantedlistdatei,"Name", SpielerName(pID));
    dini_SetInt(Wantedlistdatei,"WPS", GetPVarInt(pID, "Wanteds"));
    SetPVarInt(pID, "wl1", 1);
    break;
    }
    Ich weiß leider nicht genau was du willst^^

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ja genau so danke! bist mein held :thumbup:


    nur noch eine frage, wenn ich für jeden spieler checken möchte, ob er wanteds über 1 hat ohne onplayerupdate (ist ja nicht ressourcen sparend) kann ich das mit einem timer bei ongememodeini machen?

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • ok, ich hab das jetzt so gemacht:


    public wpanzeige(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPVarInt(playerid, "Wanteds") >= 1) {SetPlayerWantedLevel(playerid, 1); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") >= 10) {SetPlayerWantedLevel(playerid, 1); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") >= 20) {SetPlayerWantedLevel(playerid, 2); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") >= 30) {SetPlayerWantedLevel(playerid, 3); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") >= 40) {SetPlayerWantedLevel(playerid, 4); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") >= 50) {SetPlayerWantedLevel(playerid, 5); return 1;}
    else if(GetPVarInt(playerid, "Wanteds") == 60) {SetPlayerWantedLevel(playerid, 6); return 1;}
    }
    return 1;
    }



    aber immer wenn ich neu connecte und dann zB 40 wps habe, bekomme ich nur einen stern...

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Setzt du den Timer in etwa so?


    SetTimer("wpanzeige",1000,true);
    wenn ja muss es so aussehen
    public wpanzeige()
    {
    for(new playerid;playerid!=MAX_PLAYERS;playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPVarInt(playerid, "Wanteds") >= 1) SetPlayerWantedLevel(playerid, 1);
    else if(GetPVarInt(playerid, "Wanteds") >= 10) SetPlayerWantedLevel(playerid, 1);
    else if(GetPVarInt(playerid, "Wanteds") >= 20) SetPlayerWantedLevel(playerid, 2);
    else if(GetPVarInt(playerid, "Wanteds") >= 30) SetPlayerWantedLevel(playerid, 3);
    else if(GetPVarInt(playerid, "Wanteds") >= 40) SetPlayerWantedLevel(playerid, 4);
    else if(GetPVarInt(playerid, "Wanteds") >= 50) SetPlayerWantedLevel(playerid, 5);
    else if(GetPVarInt(playerid, "Wanteds") == 60) SetPlayerWantedLevel(playerid, 6);
    }
    }
    return 1;
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ich habs jetzt genau so übernommen, aber wenn ich jetzt restarte passiert immer noch das:


    achso, das passiert sogar, nachdem ich /givewanteds id 40(wps) grund eingebe, selbst bei 60 wps bekomme ich nur einen stern

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    Einmal editiert, zuletzt von [MM]Marco ()

  • if(GetPVarInt(playerid, "Wanteds") >= 1 && GetPVarInt(playerid, "Wanteds") < 10) SetPlayerWantedLevel(playerid, 1);
    if(GetPVarInt(playerid, "Wanteds") >= 10 && GetPVarInt(playerid, "Wanteds") < 20) SetPlayerWantedLevel(playerid, 1);
    if(GetPVarInt(playerid, "Wanteds") >= 20 && GetPVarInt(playerid, "Wanteds") < 30) SetPlayerWantedLevel(playerid, 2);
    if(GetPVarInt(playerid, "Wanteds") >= 30 && GetPVarInt(playerid, "Wanteds") < 40) SetPlayerWantedLevel(playerid, 3);
    if(GetPVarInt(playerid, "Wanteds") >= 40 && GetPVarInt(playerid, "Wanteds") < 50) SetPlayerWantedLevel(playerid, 4);
    if(GetPVarInt(playerid, "Wanteds") >= 50 && GetPVarInt(playerid, "Wanteds") < 60) SetPlayerWantedLevel(playerid, 5);
    if(GetPVarInt(playerid, "Wanteds") == 60) SetPlayerWantedLevel(playerid, 6);


    dann probier ma so ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • perfekt danke Superman^^

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • hey Ich finde die Idee Super un wollte fragen wo ich das bei mir einbauen kann ? hier mein suspect befehl ?



    if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /su [Spieler ID/ Name] [Anzahl] [Verbrechen]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /su [Spieler ID] [Anzahl] [Verbrechen]");
    return 1;
    }
    new WantedAnzahl;
    WantedAnzahl = strval(tmp);
    if (IsACop(playerid) && OnDuty[playerid] == 1 || PlayerInfo[playerid][pMember] == 1 && FWDuty[playerid] == 1 || PlayerInfo[playerid][pLeader] == 1 && FWDuty[playerid] == 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pJailed] > 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Spieler ist im Gefängnis!");
    return 1;
    }
    if (gTeam[giveplayerid] != 2 && !IsACop(giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /su [Spieler ID / Name] [Anzahl] [Verbrechen]");
    return 1;
    }
    WantedLevel[giveplayerid] += WantedAnzahl;
    format(string, sizeof(string), "Du hast ein Verbrechen begangen ( %s ). Zeuge: %s.",result,sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Vergebene Wanteds: %d. Neues Wantedlevel: %d", WantedAnzahl, WantedLevel[giveplayerid]);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    format(string, sizeof(string), "HQ: Alle Einheiten: Reporter: %s, Vergebene Wanteds: %d",sendername, WantedAnzahl);
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    format(string, sizeof(string), "HQ: Verbrechen: %s, Gesuchter: %s, Aktuelle Wanteds: %d",result,giveplayer, WantedLevel[giveplayerid]);
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst keinen Polizisten anklagen!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Polizist!");
    }
    }
    return 1;
    }