Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wywolywanie freezetime w funkcji 2.0


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 04.07.2013 07:27

Siemka

Przedtem myślałem, że już sobie z tym freezetimem poradzę, ale plug wpleciony w drugi powoduje jego nie działanie.

Proszę o pokazanie mi, jak zablokować WSAD


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 04.07.2013 09:04

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

new bool:g_bFreeze[33];

public plugin_init()
{
    register_plugin("freeze", "0.1", "d0naciak")
    
    register_forward(FM_CmdStart, "fw_CmdStart");
}

public client_putinserver(id)
    g_bFreeze[id] = false;
    
public fw_CmdStart(id, iUc)
{
    if(!is_user_alive(id))
        return FMRES_IGNORED;
    
    if(g_bFreeze[id])
    {
        new iButtons = get_uc(iUc, UC_Buttons);
        
        if(iButtons & IN_RUN)
        {
            set_pev(id, pev_buttons, iButtons & ~IN_RUN);
        }
    }
    
    return FMRES_IGNORED;
}

stock set_freeze(id, iSet)
{
    if(iSet == 1)
    {
        g_bFreeze[id] = true;
        
        set_pev(id, pev_buttons, pev(id, pev_buttons) & ~IN_RUN);
    }
    else
    {
        g_bFreeze[id] = false;
    }
}

 

Uzywaj funkcji set_freeze to ustawiania freeza

set_freeze(id, iSet)
 
id - index gracza
iSet - po ustawieniu na 1 daje freeza, na 0 przywraca mozliwosc poruszania sie

 

Jak dziala/nie dziala daj znac (nietestowane)


  • +
  • -
  • 0

#3 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 04.07.2013 09:12

Zmiennej nie dodałeś ;)

Zaraz przetestuje i dam znać


  • +
  • -
  • 0

#4 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 04.07.2013 09:16

jest wszystko co potrzeba, tylko nie wiadomo czy zadziała xD


  • +
  • -
  • 0

#5 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 04.07.2013 10:34

Nie kompilowalo sie :D
  • +
  • -
  • 0

#6 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 04.07.2013 16:15

to nie brak zmiennej, to zle nawyki z mojej strony. Kod poprawiony

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

new bool:g_bFreeze[33];

public plugin_init()
{
    register_plugin("freeze", "0.1", "d0naciak")
    
    register_forward(FM_CmdStart, "fw_CmdStart");
}

public client_putinserver(id)
    g_bFreeze[id] = false;

public fw_CmdStart(id, iUc)
{
    if(!is_user_alive(id))
        return FMRES_IGNORED;
    
    if(g_bFreeze[id])
    {
        new iButtons = get_uc(iUc, UC_Buttons);
        
        if(iButtons & IN_RUN)
        {
            set_pev(id, pev_button, iButtons & ~IN_RUN);
        }
    }
    
    return FMRES_IGNORED;
}

stock set_freeze(id, iSet)
{
    if(iSet == 1)
    {
        g_bFreeze[id] = true;
        
        set_pev(id, pev_button, pev(id, pev_button) & ~IN_RUN);
    }
    else
    {
        g_bFreeze[id] = false;
    }
}

  • +
  • -
  • 0

#7 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 05.07.2013 20:24

Nie działa mi :(

Przypisałem SB pod komende say /freeze i nic sie nie stało niestety :(


  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 07.07.2013 12:34

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK };
new bool:g_bFreeze[33];

public plugin_init()
{
    register_plugin("freeze", "0.1", "d0naciak")
    
    register_forward(FM_CmdStart, "fw_CmdStart");
}

public client_putinserver(id)
    g_bFreeze[id] = false;

public fw_CmdStart(id, iUc)
{
    if(!is_user_alive(id))
        return FMRES_IGNORED;
    
    if(g_bFreeze[id])
    {
        new iButtons = get_uc(iUc, UC_Buttons);

        for(new i = 0; i <= 4; i++)
            iButtons &= ~g_iKeysToBlock[i];
            
        set_uc(iUc, UC_Buttons, iButtons);
            
        return FMRES_HANDLED;
    }
    
    return FMRES_IGNORED;
}

stock set_freeze(id, iSet)
{
    if(iSet == 1)
    {
        g_bFreeze[id] = true;
        
        new iButtons = pev(id, pev_button);

        for(new i = 0; i <= 4; i++)
            iButtons &= ~g_iKeysToBlock[i];
            
        set_pev(id, pev_button, iButtons);
    }
    else
    {
        g_bFreeze[id] = false;
    }
}

  • +
  • -
  • 0

#9 Filip1512

    Wszechmogący

  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 07.07.2013 12:46

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK };
new bool:g_bFreeze[33];

public plugin_init()
{
    register_plugin("freeze", "0.1", "d0naciak")
    
    register_forward(FM_CmdStart, "fw_CmdStart");
}

public client_putinserver(id)
    g_bFreeze[id] = false;

public fw_CmdStart(id, iUc)
{
    if(!is_user_alive(id))
        return FMRES_IGNORED;
    
    if(g_bFreeze[id])
    {
        new iButtons = get_uc(iUc, UC_Buttons);

        for(new i = 0; i <= 4; i++)
            iButtons &= ~g_iKeysToBlock[i];
            
        set_uc(iUc, UC_Buttons, iButtons);
            
        return FMRES_HANDLED;
    }
    
    return FMRES_IGNORED;
}

stock set_freeze(id, iSet)
{
    if(iSet == 1)
    {
        g_bFreeze[id] = true;
        
        new iButtons = pev(id, pev_button);

        for(new i = 0; i <= 4; i++)
            iButtons &= ~g_iKeysToBlock[i];
            
        set_pev(id, pev_button, iButtons);
    }
    else
    {
        g_bFreeze[id] = false;
    }
}


Ten kod zadziała nawet jeśli modyfikujemy prędkość gracza poprzez set_user_maxspeed?
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#10 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 07.07.2013 15:09

Tak gdyż nie wpływa na prędkość poruszania się tylko na przyciski które używa gracz


  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#11 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 07.07.2013 20:48

To tak jakby wklepać unbind klawiszów WASD - po prostu gracz ma zablokowane ich używanie - a prędkość chodu nie ma tu nic do rzeczy


  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych