2 probleme bei filterscripts

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 brotfisher,
    ich mache zur zeit ein paar filterscripts und bei jedem hab ich ein problem;
    1.
    Dieses filterscript soll beim einsteigen in ein auto die model id und die car id anzeigen
    die model id funktioniert aber die car id nicht
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if (IsPlayerAdmin(playerid))
    {
    new vid;
    vid = GetPlayerVehicleID(playerid);
    new vmodel;
    vmodel = GetVehicleModel(vid);
    new string[256];
    format(string, sizeof(string),"MODEL: %d ID: %u", vmodel,vid);
    SendClientMessage(playerid, 0x21DD00FF, string);
    return 1;
    }
    }


    return 1;
    }

    2.
    dieses
    filterscript soll ein anti cheat system werden und wenn jemand durch
    eine minigun gekillt wird wirde dieser gebannt doch es passiert nichts
    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(reason == 38)
    {
    new string[256];
    new banname[MAX_PLAYER_NAME];
    GetPlayerName(killerid,banname,sizeof(banname));
    format(string, sizeof(string),"%s wurde wegen eines Miniguncheats gebannt!", banname);
    SendClientMessageToAll(rot,string);
    SendClientMessage(killerid,rot,"Du wurdest wegen Cheatens gebannt");
    Ban(killerid);
    printf("%s",string);


    }
    return 1;
    }

  • %u sollte auch %d sein


    Beim 2ten: Versuchs mal so, dass die Waffe des Töters auf Minigun überprüft wird.
    Mehr kann ich dir leider nicht sagen da ich mir das mit Reasons eigentlich noch nie richtig angsehen habe :P

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if (IsPlayerAdmin(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    new vmodel = GetVehicleModel(vid);
    new string[20];
    format(string, sizeof(string),"MODEL: %d ID: %d", vmodel,vid);
    SendClientMessage(playerid, 0x21DD00FF, string);
    }
    }
    return 1;
    }


    Wieso returnst du die Funktion 2mal? Habs mal geändert.

  • ich hab das jetzt
    if (GetPlayerWeapon(playerid) == 38 && GetPlayerWeapon(playerid) == 36 && GetPlayerWeapon(playerid) == 37 && GetPlayerWeapon(playerid) ==35 )
    {
    new string[256];
    new banname[MAX_PLAYER_NAME];
    GetPlayerName(killerid,banname,sizeof(banname));
    format(string, sizeof(string),"%s wurde von SYSTEM W gebannt!", banname);
    SendClientMessageToAll(rot,string);
    SendClientMessage(killerid,rot,"Du wurdest wegen Cheatens gebannt");
    Ban(killerid);
    printf("%s",string);


    }
    geht aber immernoch net??


    ps: das carmodel script geht

  • if (GetPlayerWeapon(playerid) == 38 || GetPlayerWeapon(playerid) == 36 || GetPlayerWeapon(playerid) == 37 || GetPlayerWeapon(playerid) ==35 )
    {
    new string[50];
    new banname[MAX_PLAYER_NAME];
    GetPlayerName(killerid,banname,sizeof(banname));
    format(string, sizeof(string),"%s wurde von SYSTEM W gebannt!", banname);
    SendClientMessageToAll(rot,string);
    SendClientMessage(killerid,rot,"Du wurdest wegen Cheatens gebannt");
    Ban(killerid);
    printf("%s",string);
    }