Bitte um dringende hilfe ich bin ratlos

  • Wie kann ich das filsterscript so umbauen das es auf meinem reallife server funzt? weil cih ja /login **** machen muss aba dann passiert nichts nur wenn ich die shift taste drücke dann joine ich wie beim Deathmatchserver udn server closed the connection also muss ich das so umbauen das es mit /login **** geht oder das mit shift rausnehmen hilfeeeeeee xDDDD





    #include <a_samp>


    /*


    Duel Filterscript (Ripped from LW_LVDM)
    Brought to you by [NB]Sneaky


    http://www.99BlaZed.com
    http://www.sneakyhost.net


    You will need to edit line 184,185,201,202


    */


    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    #define SendError(%1,%2) SendClientMessage(%1,COLOR_RED,"ERROR: " %2)
    #define SendUsage(%1,%2) SendClientMessage(%1,COLOR_WHITE,"USAGE: " %2)


    #define COLOR_ORANGE 0xFF8040FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_RED 0xFF0000AA
    #define COLOR_WHITE 0xFFFFFFAA



    stock
    g_GotInvitedToDuel[MAX_PLAYERS],
    g_HasInvitedToDuel[MAX_PLAYERS],
    g_IsPlayerDueling[MAX_PLAYERS],
    g_DuelCountDown[MAX_PLAYERS],
    g_DuelTimer[MAX_PLAYERS],
    g_DuelInProgress,
    g_DuelingID1,
    g_DuelingID2;


    public OnFilterScriptInit()
    {
    print("\t============================================");
    print("\tDuel Filterscript (Ripped from LW_LVDM)");
    print("\tBy: Sneaky");
    print("\t-");
    print("\tLoaded");
    print("\t============================================");
    return 1;
    }


    public OnFilterScriptExit()
    {
    print("\t============================================");
    print("\tDuel Filterscript (Ripped from LW_LVDM)");
    print("\tBy: Sneaky");
    print("\t-");
    print("\tLoaded");
    print("\t============================================");
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    g_GotInvitedToDuel[playerid] = 0;
    g_HasInvitedToDuel[playerid] = 0;
    g_IsPlayerDueling[playerid] = 0;
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(playerid == g_DuelingID1 || playerid == g_DuelingID2)
    {
    g_DuelInProgress = 0;
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(duel,4,cmdtext);
    dcmd(cduel,5,cmdtext);
    dcmd(duelaccept,10,cmdtext);
    return 1;
    }


    dcmd_cduel(playerid, params[])
    {
    #pragma unused params


    if(g_HasInvitedToDuel[playerid] == 0)
    return SendError(playerid, "You did not invite anyone to a duel!");


    SendClientMessage(playerid, COLOR_YELLOW, "You have reset your duel invite, you can now use /duel [playerid] again.");
    g_HasInvitedToDuel[playerid] = 0;


    return 1;
    }


    dcmd_duelaccept(playerid, params[])
    {
    if(params[0] == '\0' || !IsNumeric(params))
    return SendUsage(playerid, "/duelaccept [playerid]");


    if(g_DuelInProgress == 1)
    return SendError(playerid, "Another duel is in progress at the moment, wait till that duel is finished!");


    new
    DuelID = strvalEx(params),
    pName[MAX_PLAYER_NAME],
    zName[MAX_PLAYER_NAME],
    tString[128];


    if(DuelID != g_GotInvitedToDuel[playerid])
    return SendError(playerid, "That player did not invite you to a duel!");


    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    GetPlayerName(DuelID, zName, MAX_PLAYER_NAME);


    format(tString, sizeof(tString), "You accepted the duel with %s (ID:%d), duel will start in 10 seconds..",zName,DuelID);
    SendClientMessage(playerid, COLOR_YELLOW, tString);


    format(tString, sizeof(tString), "%s (ID:%d), accepted the duel with you, duel will start in 10 seconds..",pName,playerid);
    SendClientMessage(DuelID, COLOR_YELLOW, tString);


    format(tString, sizeof(tString), "(News) Duel between %s and %s will start in 10 seconds",pName,zName);
    SendClientMessageToAll(COLOR_ORANGE, tString);


    InitializeDuel(playerid);
    InitializeDuelEx( DuelID);


    g_IsPlayerDueling[playerid] = 1;
    g_IsPlayerDueling[DuelID] = 1;


    g_DuelingID1 = playerid;
    g_DuelingID2 = DuelID;


    g_DuelInProgress = 1;


    return 1;
    }


    dcmd_duel(playerid, params[])
    {
    if(params[0] == '\0' || !IsNumeric(params))
    return SendUsage(playerid, "/duel [playerid]");


    if(g_HasInvitedToDuel[playerid] == 1)
    return SendError(playerid, "You already invited someone to a duel! (Type, /cduel to reset your invite)");


    new
    DuelID = strvalEx(params),
    pName[MAX_PLAYER_NAME],
    zName[MAX_PLAYER_NAME],
    tString[128];


    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    GetPlayerName(DuelID, zName, MAX_PLAYER_NAME);


    if (!IsPlayerConnected(DuelID))
    return SendError(playerid, "Player is not connected.");


    if( g_HasInvitedToDuel[DuelID] == 1)
    return SendError(playerid, "That player is already invited to a duel!");


    if( DuelID == playerid)
    return SendError(playerid, "You can not duel yourself!");


    format(tString, sizeof(tString), "You invited %s (ID:%d) to a 1 on 1 duel, wait till %s accepts your invite.",zName, DuelID, zName);
    SendClientMessage(playerid, COLOR_YELLOW, tString);


    format(tString, sizeof(tString), "You got invited by %s (ID:%d) to a 1 on 1 duel, type /duelaccept [playerid] to accept and start the duel. ",pName, playerid);
    SendClientMessage(DuelID, COLOR_YELLOW, tString);


    g_GotInvitedToDuel[DuelID] = playerid;
    g_HasInvitedToDuel[playerid] = 1;


    return 1;
    }


    forward InitializeDuel(playerid);
    public InitializeDuel(playerid)
    {
    g_DuelTimer[playerid] = SetTimerEx("DuelCountDown", 1000, 1, "i", playerid);


    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);


    //SetPlayerPos(playerid, X, Y, Z); // da1
    //SetPlayerFacingAngle(playerid, A);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 0);
    g_DuelCountDown[playerid] = 11;


    return 1;
    }


    forward InitializeDuelEx(playerid);
    public InitializeDuelEx(playerid)
    {
    g_DuelTimer[playerid] = SetTimerEx("DuelCountDown", 1000, 1, "i", playerid);


    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);


    //SetPlayerPos(playerid, X, Y, Z);
    //SetPlayerFacingAngle(playerid, A);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 0);
    g_DuelCountDown[playerid] = 11;


    return 1;
    }


    forward DuelCountDown(playerid);
    public DuelCountDown(playerid)
    {
    new
    tString[128] ;


    g_DuelCountDown[playerid] --;


    PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);


    format(tString, sizeof(tString), "~w~%d", g_DuelCountDown[playerid]);
    GameTextForPlayer(playerid, tString, 900, 3);


    if(g_DuelCountDown[playerid] == 0)
    {
    KillTimer(g_DuelTimer[playerid]);
    TogglePlayerControllable(playerid, 1);
    GameTextForPlayer(playerid,"~g~GO GO GO", 900, 3);
    return 1;
    }


    return 1;
    }


    strvalEx(xxx[])
    {
    if(strlen(xxx) > 9)
    return 0;
    return strval(xxx);
    }


    IsNumeric(const string[])
    {
    for (new i = 0, j = strlen(string); i < j; i++)
    {
    if (string[i] > '9' || string[i] < '0') return false;
    }
    return true;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new
    sString[128],
    pName[MAX_PLAYER_NAME],
    zName[MAX_PLAYER_NAME],
    Float:Health,
    Float:Armor;


    if(g_IsPlayerDueling[playerid] == 1 && g_IsPlayerDueling[killerid] == 1)
    {
    GetPlayerHealth(killerid, Health);
    GetPlayerArmour(killerid, Armor);


    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    GetPlayerName(killerid, zName, MAX_PLAYER_NAME);


    if(Health > 90.0 && Armor > 90.0)
    {
    format(sString, sizeof(sString),"(News) %s has \"OWNED\" %s in the duel and has %.2f health and %.2f armor left!", zName,pName,Health,Armor);
    SendClientMessageToAll(COLOR_ORANGE, sString);


    g_GotInvitedToDuel[playerid] = 0;g_HasInvitedToDuel[playerid] = 0;g_IsPlayerDueling[playerid] = 0;
    g_GotInvitedToDuel[killerid] = 0;g_HasInvitedToDuel[killerid] = 0;g_IsPlayerDueling[killerid] = 0;
    g_DuelInProgress = 0;
    return 1;
    }
    else
    {
    format(sString, sizeof(sString),"(News) %s has won the duel from %s and has %.2f health and %.2f armor left!", zName,pName,Health,Armor);
    SendClientMessageToAll(COLOR_ORANGE, sString);


    g_GotInvitedToDuel[playerid] = 0;g_HasInvitedToDuel[playerid] = 0;g_IsPlayerDueling[playerid] = 0;
    g_GotInvitedToDuel[killerid] = 0;g_HasInvitedToDuel[killerid] = 0;g_IsPlayerDueling[killerid] = 0;
    g_DuelInProgress = 0;
    return 1;
    }
    }
    return 1;
    }

  • 2 Tipps bzw Regeln an dich wenn du Scripts hier ins Forum machst dann mach es in [PWN ] [ /PWN] also ...
    und wenn das Script lang ist dann


    [expander ][pwn ]...[/pwn ][/expander ]
    also

  • ok aber wie funktioniert das das ich das so reinstelle das es wie im pawno steht mit zeilen udn public in blau usw. thx schonma ^^

  • Kuck doch oben? Da steht es doch! :pinch:

    Code
    [pwn][/pwn]

    dazwischen tuste den Code und dann ist das alles Blau usw. :|

    Einmal editiert, zuletzt von Sampi ()

  • Ich muss hier mal feststellen. Ihr postet einfach in Smalltalk anstatt in Scriptfragen euere Fragen für was gibt es diesen bereich überhaupt? Ich finde es sowas von kacke ey. Sry das ich das hier sagen muss die Modis können auch es gern löschen aber das ist Fakt. Scriptfragen gehört nicht in Smalltalk!