[FilterScript] Antibug Collection
#6

Кстати если что-то публикуешь, банальные ошибки исправляй!
Ну поехали:
В сибирь, вобще не используется:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256];
    new idx;
    cmd = strtokc(cmdtext, idx);

    /*if(strcmp(cmd, "/get", true) == 0)
    {
        SetPlayerArmedWeapon(playerid,31);
        SendClientMessage(playerid,COLOR_WHITE,"Done.");
        return 1;
    }*/

    return 0;
}

//------------------------------------------------------------------------------------------------------------------------------------

strtokc(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Это:
pawn Code:
public OnFilterScriptExit()
{
    print("Antibug Collection 0.1 Psycho unloaded!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        PressedFire[i] = false;
        BugTickCountOld[i] = 0;
        BugTickCountNew[i] = 0;
    }
    return 1;
}
Заменяем, этим
pawn Code:
public OnFilterScriptExit()
{
    print("Antibug Collection 0.1 Psycho unloaded!");
    return 1;
}
зачем нам обнулять локальные переменные которые уничтожаются как только ФС выгрузиться, они в другие скрпты не передаются!


Самое вкусное:
pawn Code:
stock GetPlayerSpeed(playerid)
{
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid))
    {
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    } else {
    GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
    }
    return floatround(ST[3]);
}
1) конвертирование скорости происходит только когда игрок пешком!!!
2) навига 3 раза возвращать модуль когда при возведении в квадрат знак сам собой исчезнет, в школе вместо уроков математики за забором курили?!
3) что за множитель "* 179.28625", это вы у тупых америкосов скопировали? Я всегда 100 делаю - что аргументировано как банальное округление реальных результатов, а не коэфициент с потолка!
4) юзать можно 3 переменных просто записав конечный результат в одну из ST[0..2]
В итоге имеем:
pawn Code:
stock GetPlayerSpeed(playerid)
{
    new Float:ST[3];
    if(IsPlayerInAnyVehicle(playerid))GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[0] = floatsqroot(floatpower(ST[0], 2.0) + floatpower(ST[1], 2.0) + floatpower(ST[2], 2.0));
    return floatround(ST[0])*100;
}
Ещё кое что, я нажал огонь отпустил его бегал пол часа, потом присел, по твоему коду, я багер!!!
По твоему коду PressedFire[playerid] = true; возвращается в false только если игрок заюзал баг!
Reply


Messages In This Thread
Antibug Collection - by ^Woozie^ - 12.08.2010, 09:01
Re: [FS] Antibug Collection - by Stepashka - 12.08.2010, 09:04
Re: [FS] Antibug Collection - by ^Woozie^ - 12.08.2010, 09:07
Re: [FS] Antibug Collection - by MX_Master - 12.08.2010, 09:09
Re: [FS] Antibug Collection - by ^Woozie^ - 12.08.2010, 09:11
Re: [FS] Antibug Collection - by Stepashka - 12.08.2010, 09:23
Re: [FS] Antibug Collection - by Stepashka - 12.08.2010, 09:25
Re: [FS] Antibug Collection - by ZiGGi - 12.08.2010, 10:12
Re: [FS] Antibug Collection - by MX_Master - 12.08.2010, 13:53
Re: [FS] Antibug Collection - by ^Woozie^ - 12.08.2010, 14:14

Forum Jump:


Users browsing this thread: 1 Guest(s)