Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Wymuszanie cl_forwardspeed


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 Magisterr.

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 17.05.2009 15:38

Mam plugin:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "speed400"
#define VERSION "1.0"
#define AUTHOR "magrr."

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("HLTV","speed","a", "1=0", "2=0")
    register_cvar("amx_speed_style", "1")
}

public speed()
{
    new players[32],count;
    get_players(players,count)
   
   
    new style = get_cvar_num("amx_speed_style")
   
   
    if(style == 1 )
    {
        for (new i = 1; i <= count; i++)
            console_cmd (i,"cl_forwardspeed 400; wait; wait; cl_backspeed 400")
    }
   
    else
    {
        for (new i = 1; i <= count; i++)
        {
            console_cmd (i,"cl_forwardspeed 400")
            server_cmd("wait")
            console_cmd (i,"cl_backspeed 400")      
        }
    }   
}

Problem polega na tym że ten plugin ustawia wszystkim graczom cl_forwardspeed i backspeed 400 co runde, lecz w trakcie można sobie zmienić na dowolną ilość ;/

Czy da się zapobiedz zmianie tego ustawienia (z domyślnego=400 na inne) przez czały czas, a nie tylko co początek kolejnych rund?
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 17.05.2009 16:00

dlaczego chcesz to wymuszac?
  • +
  • -
  • 0

#3 silversurfer

    Profesjonalista

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:209
  • Lokalizacja:Poznań
Offline

Napisano 17.05.2009 19:34

A tak?
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_authorized(id)
    query_client_cvar(id , "cl_forwardspeed 400" , "speed")

public speed(id, const szCvar, const szValue[])
{
    new Float:speeed = str_to_float(szValue)
    if(!(400<=speeed))
    {
        new nick = get_user_userid(id)
        server_cmd("Kicked #%d zmieniles wartosc forwardspeed!", nick)
    }
}  


  • +
  • -
  • 0

#4 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 85
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 17.05.2009 20:31

#include <amxmodx>

new command1[64], command2[64], correct_value = 400;

public plugin_init(){
	register_plugin("Speed value checker", "1.0", "darkman");
	format(command1, 63, "cl_forwardspeed");
	format(command2, 63, "cl_backspeed");
}

public client_command(id)
{
	new szArg[64], szArg2[16];
	read_argv(0, szArg, 63);
	read_argv(1, szArg2, 15);
	new value = str_to_num(szArg2);
	if(equal(szArg, command1) || equal(szArg, command2))
	{
		if(value != 400)
		{
			client_cmd(id, "%s %d", equal(szArg, command1) ? command1 : command2, correct_value);
		}
	}
	
}

test it!
  • +
  • -
  • 0

#5 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 17.05.2009 20:34

format(command1, 63, "cl_forwardspeed"); 
    format(command1, 63, "cl_backspeed"); 
}

Formatujesz ta sama zmienna :F

Poza tym nie jestem pewny czy ta komenda jest przekazywana na serwa...
  • +
  • -
  • 0

#6 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 17.05.2009 20:52

dlaczego chcesz to wymuszac?


Super Hero Mod ma buga. Gdy posiadzasz herosa "Cola Lover" zwiększa ci to prędkość. Ta komenda, zwiększona (max. 2000) zwiększa twoją predkość. Przy ustawieniu cl_forwardspeed 2000 biegasz jak głupi ;]

Zaraz wypróbuję i powiadomie was o wynikach moich zmagań ;)

//yy, no więc nie dziala ;d ani jedno ani drugie ;/ Ale wpadlem na pomysł że zamiast wymuszania po prostu blokuje mozliwość dostepu do tej komendy.. tak jak np. no-reconnect?
  • +
  • -
  • 0

#7 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 17.05.2009 21:17

Magisterr., niestety skoro wersia darkmana nie zadzialala, to raczej nie da sie zablokowac tej komendy...

A co do wersji silversurfera, to pewnie oznacza ze masz serwer NS ;>

A nie masz innych postaci co biegna szybciej niz 400? Bo mozna zrobic pluga co bedzie po prostu blokowal szybkosc a nie ta komende lub sprawdzac predkosc graczy i karac tych co przekrocza znacznie 400 ^^
  • +
  • -
  • 0

#8 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 17.05.2009 21:19

Serwer jak najbardziej steam ;] No niby jakieś rozwiązanie jest, tylko teraz jak wykonać? ; o
  • +
  • -
  • 0

#9 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 85
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 17.05.2009 21:26

z tego co wiem to chyba komendy cl_* są tylko client side i z nimi się nic nie zrobi ^^ @miczu kod poprawiony
  • +
  • -
  • 0

#10 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 20.05.2009 16:21

z tego co wiem to chyba komendy cl_* są tylko client side i z nimi się nic nie zrobi ^^ @miczu kod poprawiony



Kilka postów wyżej próbowałeś ją przechwycić :D

komendy cl_ nie są przechwytywalne (przynajmniej mi się nigdy żadnej nie udało)




a może uda się sprawdzając bardzo często prędkość gracza?
get_user_velocity

  • +
  • -
  • 0

#11 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 20.05.2009 19:17

prędkość? :D a można by dokładniej?
  • +
  • -
  • 0




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

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