BanWeapon 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
  • Hallo Leute
    Ich brauche etwas hilfe, ich weiß nich warum das nicht geht


    SetTimer("Check", 3000, 1);




    new BanWeaponunterIDs[] = {
    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,
    24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,
    43,44,45,46,47,48,49,50,51,52,53,54
    };


    Und das steht unter dem Public Check
    for(new w=0; w<sizeof(BanWeaponunterIDs); w++)
    {
    if(SpielerInfo[playerid][pAge] < 18)
    {
    GetPlayerWeaponData(playerid,GetWeaponSlot(BanWeaponunterIDs[w]),weapon,ammo);
    if(weapon == BanWeaponunterIDs[w] && ammo > 0)
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack (%d-%d-%d)", playername, month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Waffenhack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch. ");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"Waffenhack");
    return 1;
    }
    }
    }


    könnt ihr helfen?

  • ich habs so probiert aber es greift trotzdem nicht


    //Edit hier der Kommplette public


    public Check()
    {
    new string[256];
    if(server_name >= MAX_SERVER_NAMES-1) {server_name = -1; }
    if(server_name < MAX_SERVER_NAMES-1) { server_name++; }
    format(string,sizeof(string),"hostname %s",server_names[server_name]);
    SendRconCommand(string);
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][pPnumber] > 0)
    {
    if(PhoneOnline[playerid] == 0)
    {
    new Float:HX, Float:HY, Float:HZ;
    GetPlayerPos(playerid, HX,HY,HZ);
    pdtrace_x[playerid] = HX; pdtrace_y[playerid] = HY; pdtrace_z[playerid] = HZ;
    return 1;
    }
    else
    {
    pdtrace_x[playerid] = 0; pdtrace_y[playerid] = 0; pdtrace_z[playerid] = 0;
    return 1;
    }
    }
    }
    }
    for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
    if(IsPlayerConnected(playerid))
    {
    new admstring[128], playername[MAX_PLAYER_NAME], weapon = -1, ammo = 0;
    GetPlayerName(playerid,playername,sizeof(playername));
    for(new w=0; w<sizeof(BanWeaponIDs); w++)
    {
    if(SpielerInfo[playerid][pAdmin] < 1)
    {
    GetPlayerWeaponData(playerid,GetWeaponSlot(BanWeaponIDs[w]),weapon,ammo);
    if(weapon == BanWeaponIDs[w] && ammo > 0)
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack (%d-%d-%d)", playername, month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Waffenhack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch ");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"Waffenhack");
    return 1;
    }
    }
    }
    for(new w=0; w<sizeof(BanWeaponunterIDs); w++)
    {
    if(SpielerInfo[playerid][pAge] < 18)
    {
    GetPlayerWeaponData(playerid,BanWeaponunterIDs[w],weapon,ammo);
    if(weapon == BanWeaponunterIDs[w] && ammo > 0)
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack (%d-%d-%d)", playername, month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Waffenhack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch ");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"Waffenhack");
    return 1;
    }
    }
    }
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Jetpack Hack (%d-%d-%d)", playername,month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Jetpack Hack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Jetpack Hack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"JetpackHack");
    return 1;
    }


    }
    return 1;
    }

  • ich versuchs ..


    versuch die id der waffe in einer variable zu speichern mach auch deinem GetPlayerWeaponData(playerid,BanWeaponunterIDs[w],weapon,ammo);
    einfach mal ein new weapon = GetPlayerWeapon(playerid)


    und dann änderst du die abfrage... da ja in den arrays die ids definiert sind.. glaub



    if(weapon == BanWeaponunterIDs[w] && ammo > 0) // und das ammo kann man doch weg lassen oder ? egal ob nun 0 oder mehr ammo... gebannt werden soll doch trotzdem ...


    Verstehst was ich meine ?

  • habs Probiert aber klappt nicht, habe nen test acc gemacht und ihm ne minigun inne hand gedrückt, nun sollte er ja gebannt werden da er a. unter 18 ist und b. das im ersten teil eine illegale waffe ist


    nun siet es so aus


    for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
    if(IsPlayerConnected(playerid))
    {
    new weapon = GetPlayerWeapon(playerid);
    new admstring[128], playername[MAX_PLAYER_NAME] /*weapon = -1, ammo = 0*/;
    GetPlayerName(playerid,playername,sizeof(playername));
    for(new w=0; w<sizeof(BanWeaponIDs); w++)
    {
    if(SpielerInfo[playerid][pAdmin] < 1)
    {
    //GetPlayerWeaponData(playerid,GetWeaponSlot(BanWeaponIDs[w]),weapon,ammo);
    if(weapon == BanWeaponIDs[w])
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack (%d-%d-%d)", playername, month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Waffenhack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch ");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"Waffenhack");
    return 1;
    }
    }
    }
    for(new w=0; w<sizeof(BanWeaponunterIDs); w++)
    {
    if(SpielerInfo[playerid][pAge] < 18)
    {
    //GetPlayerWeaponData(playerid,BanWeaponunterIDs[w],weapon,ammo);
    if(weapon == BanWeaponunterIDs[w])
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack (%d-%d-%d)", playername, month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Waffenhack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Waffenhack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_WHITE," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch ");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"Waffenhack");
    return 1;
    }
    }
    }
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
    {
    new bannedip[16];
    GetPlayerIp(playerid,bannedip,sizeof(bannedip));
    new banhour;
    new banminute;
    gettime(banhour, banminute);
    FixHour(banhour);
    banhour = shifthour;
    new year, month,day;
    getdate(year, month, day);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Jetpack Hack (%d-%d-%d)", playername,month,day,year);
    BanLog(admstring);
    format(admstring, sizeof(admstring), "AdmCmd: %s wurde vom [SERVERGUARD] gebannt, Grund: Jetpack Hack", playername);
    SendClientMessageToAll(COLOR_LIGHTRED, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED,"=================== [GEBANNT] ===================");
    SendClientMessage(playerid, COLOR_WHITE,"Fühlst du dich zu unrecht Gebannt? Dann geh");
    SendClientMessage(playerid, COLOR_WHITE,"bitte ins Forum(mit Screen(F8)) und Beschwer dich");
    format(admstring, sizeof(admstring), "Dein Name: %s Gebannt von: [SERVERGUARD] Grund: Jetpack Hack", playername);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    format(admstring, sizeof(admstring), "Tag: %d.%d.%d Uhrzeit: %d:%d Deine IP: %s", day,month,year,banhour,banminute, bannedip);
    SendClientMessage(playerid,COLOR_WHITE, admstring);
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_WHITE,"Schönen Tag noch");
    SpielerInfo[playerid][pAdmin] = SpielerInfo[playerid][pGebannt];
    SpielerInfo[playerid][pGebannt] = -999;
    BanEx(playerid,"JetpackHack");
    return 1;
    }


    }


    Ammo hab ich raus genommen, da er ja gebannt werden soll ob nu ammo oder nich, doch noch nichtmal beim jetpack klappt es