Beiträge von Fischer

    forward cheat();
    forward illegalewaffen();


    SetTimer("cheat",5000,1);


    public cheat()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(illegalewaffen(i))
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,rot,"Du wurdest auf Grund einer nicht legalisierten Waffe gekickt");


    Kick(i);

    new string[100], name[MAX_PLAYER_NAME];
    GetPlayerName(i,name, sizeof(name));
    format(string,sizeof(string),"Server: %s wurde wegen eines Waffencheats gekickt.",name);
    SendClientMessageToAll(rot,string);
    }
    return 1;
    }
    }


    public illegalewaffen()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerWeapon(i) == 16)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 18)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 26)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 33)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 34)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 35)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 37)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 38)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 39)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 40)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 41)
    {
    return 0;
    }
    else if(GetPlayerWeapon(i) == 42)
    {
    return 0;
    }
    }
    return 1;
    }



    dürfte gehen

    if(strcmp(cmd, "/report", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    new id = GetPlayerId(sendername);//tata
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, FARBE_GRAU, "Benutze: /report [text]");
    return 1;
    }
    format(string, sizeof(string), "Report von %s (ID: %s): %s", sendername, id, (result));
    ABroadCast(FARBE_GELB,string,1);
    SendClientMessage(playerid, FARBE_GELB, "Es wurde an die Admins weitergegeben.");
    }
    return 1;
    }// sendername hinter getplayerid hinzugefügt

    moin schnelle frage ich ahb in meinem script eine getplayerid funktion nur ist das nicht definiert und wenn ich oben #include ufplayers hinschreibe kommen errors

    moin ich hab mich jetzt mal an was neues rangewagt und komme nicht weiter. ich möchte einen passwortchangebefehl erstellen nur klappt er nicht(keine errors)
    //edit so hab ichs doch hinbekommen
    if (strcmp(cmd, "/changepw", true)==0)
    {


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, FARBE_GRAU, "Benutze: /changepw [neues password]");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPasswort], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPasswort]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s.cer", playername);
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];//
    format(var, 32, "%s\n", PlayerInfo[playerid][pPasswort]);fwrite(hFile, var);

    fclose(hFile);
    SendClientMessage(playerid, FARBE_WEIß, "Erfolgreich geändert!");




    return 1;
    }

    blöde frage aber wenn ich den z.b befehl hier hab:
    if (strcmp("/blabla", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(i))
    {
    Sendblablabla(bla, bla, "bla");

    return 1;
    }
    wofür brauch ich dann die abfrage ob der spieler connected ist?
    ich versteh das ja beim kick command aber bei commands die nur für einen selbst eine wirkung haben ist doch egal ob man if(IsPlayerConnected(i)) reintut oder?

    //edit
    das ich nix neues aufmachen muss was muss ich in nen befehl einbauen das ich wieder gerade stehe und nicht auf dem kopf?
    if(strcmp(cmd, "/flip", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new auto = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x,y,z+10);
    SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z+10);
    PutPlayerInVehicle(playerid,auto,0);
    SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
    }
    else
    {
    SendClientMessage(playerid, FARBE_WEIß, "Nicht zu Fuß!");
    }
    return 1;
    }

    KEKS
    C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1273) : warning 206: redundant test: constant expression is non-zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

    da drauf hätte ich von alleine kommen können^^
    aber dennoch
    C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1272) : warning 206: redundant test: constant expression is non-zero
    C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1274) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    //edit wie meinst du das mit max_player_...
    wo soll das hin?

    nur das prob ist ich hab bei mir kein playerid bei public drinne
    public armourcheck()
    {
    new SpielerName[64];
    new Text[64];
    for(new i = 0;1<MAX_PLAYERS;i++)
    {
    if(GetPlayerArmour(i) > 1.0)
    {
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Text,sizeof(Text),"%s Wurde wegen Armourcheaten gebannt!",SpielerName);
    SendClientMessageToAll(FARBE_ROT,Text);
    SendClientMessage(i, FARBE_ROT, "Du wurdest wegen Cheaten gebannt!");
    Ban(i);
    }
    }
    }
    oder würde das auch gehn wenn ich in die () playerid reinmache?