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
CoD Nowy

Nowe awanse wpisywane w klasie

cod nowy

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

#1 Anty

    Wszechpomocny

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:375
  • Lokalizacja:NS
Offline

Napisano 12.07.2012 13:32

Witam,
dzisiaj pokaże wam jak zrobić awanse klas w klasie,nie są to zwykłe awanse.
NP: Mamy klasie od 300lvl i mamy klasy od 0lvl(normalne) to jak wbijemy 300lvl to będziemy mogli wziąć klase od 300lvl.
Dobra nie będę wam pisał tylko pokaże jak zrobić.

1Najpier tworzymym klase(u mnie to będzie Emeryt)

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
		
new const nazwa[]   = "Emeryt(300lvl)";
new const opis[]	= "Ma 1 skok w powietrzu";
new const bronie	= 0;
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
	
new skoki[33];

new ma_klase[33];

public plugin_init()
{
	register_plugin(nazwa, "1.0", "amxx.pl");

	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
  
	register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

}

public cod_class_enabled(id)
{
	ma_klase[id] = true;

}

public cod_class_disabled(id)
{
	ma_klase[id] = false;

}

public fwCmdStart_MultiJump(id, uc_handle)
{
	if(!is_user_alive(id) || !ma_klase[id])
		return FMRES_IGNORED;

	new flags = pev(id, pev_flags);

	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
	{
		skoki[id]--;
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id, pev_velocity,velocity);
	}
	else if(flags & FL_ONGROUND)
		skoki[id] = 1;

	return FMRES_IGNORED;
}


2. I teraz szukamy public cod_class_enabled(id) wpisujemy na samej górze

new dostepna = 300;
				new level = cod_get_user_level(id);
				if(level <= 300)
				{
								client_print(id, print_chat, "[%s]Klasa dostepna od %i poziomu.", nazwa, dostepna)
								return COD_STOP;
				}


Będzie to wyglądać tak:
public cod_class_enabled(id)
{
	   	 new dostepna = 300;
				new level = cod_get_user_level(id);
				if(level <= 300)
				{
								client_print(id, print_chat, "[%s]Klasa dostepna od %i poziomu.", nazwa, dostepna)
								return COD_STOP;
				}
	ma_klase[id] = true;

}

I klasa wygląda następująco

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
		
new const nazwa[]   = "Emeryt(300lvl)";
new const opis[]	= "Ma 1 skok w powietrzu";
new const bronie	= 0;
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
	
new skoki[33];

new ma_klase[33];

public plugin_init()
{
	register_plugin(nazwa, "1.0", "amxx.pl");

	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
  
	register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

}

public cod_class_enabled(id)
{
	   	 new dostepna = 300;
				new level = cod_get_user_level(id);
				if(level <= 300)
				{
								client_print(id, print_chat, "[%s]Klasa dostepna od %i poziomu.", nazwa, dostepna)
								return COD_STOP;
				}
	ma_klase[id] = true;

}

public cod_class_disabled(id)
{
	ma_klase[id] = false;

}

public fwCmdStart_MultiJump(id, uc_handle)
{
	if(!is_user_alive(id) || !ma_klase[id])
		return FMRES_IGNORED;

	new flags = pev(id, pev_flags);

	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
	{
		skoki[id]--;
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id, pev_velocity,velocity);
	}
	else if(flags & FL_ONGROUND)
		skoki[id] = 1;

	return FMRES_IGNORED;
}

To na tyle,gdzieś na necie znalazłem taką klasę i sprawdziłem czy działa. :D
no i w taki sposób to odkryłem:D
Awanse klas dodawane tylko i wyłącznie w klasie bez edytacji silnika.
Pisz na pw dogadamy się:D

#2 Maniek974

    Wszechwiedzący

  • Power User

Reputacja: 352
Wszechpomocny

  • Postów:594
  • Steam:steam
  • Imię:Mariusz
  • Lokalizacja:Tomaszów Maz.
Offline

Napisano 12.07.2012 16:58

Czyli klasa od danego levela :)
  • +
  • -
  • 0

#3 Anty

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:375
  • Lokalizacja:NS
Offline

Napisano 12.07.2012 17:00

Tak,tutaj nie ma takiego czegoś,że od danej klasy.
Wystarczy że na byle jakiej klasie takowy lvl wbijesz
Awanse klas dodawane tylko i wyłącznie w klasie bez edytacji silnika.
Pisz na pw dogadamy się:D

#4 ToRRent

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 12.07.2012 17:33

nie rozważyłeś jednej kwestii...

żeby móc wybrać tą klasę musisz wykonać 2 rzeczy
1. wybrać klasę która takowy lvl ma
2. wybrać tą klasę

Dla mnie to jest niedopuszczalne

Użytkownik =ToRRent= edytował ten post 12.07.2012 17:34

  • +
  • -
  • 0

#5 Anty

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:375
  • Lokalizacja:NS
Offline

Napisano 12.07.2012 17:44

Przepraszam nie zauważyłem tego błędu(po prostu),a testowałem go na kilku serwerach i gracze też o tym nie wspominali.
No ale aż tak duży to problem nie jest skoro gracze o tym nie gadaja,dla cb to wielki problem,ale dla graczy już nie.

Choć masz rację jest to dość spory problem.

Użytkownik Anty edytował ten post 12.07.2012 17:45

Awanse klas dodawane tylko i wyłącznie w klasie bez edytacji silnika.
Pisz na pw dogadamy się:D

#6 TheRock

    Wszechobecny

  • Użytkownik

Reputacja: 233
Wszechwidzący

  • Postów:402
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Zloczew
Offline

Napisano 12.07.2012 18:02

Hmmm...to jest prawie tak samo jak odblokowywanie awansów w oddzielnej frakcji
  • +
  • -
  • 0

#7 HaDeS From HELL

    CoD MoD Fanatyk

  • Użytkownik

Reputacja: 163
Profesjonalista

  • Postów:453
  • Lokalizacja:Szczecin
Offline

Napisano 12.07.2012 22:34

@=TorrenT= jeżeli mi się dobrze zdaje to trzeba po prostu dodać sprawdzanie, czy na jakiejś klasie z X klas na serwerze któraś posiada X poziom jeżeli tak to ustawia klasę.
  • +
  • -
  • 0

#8 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 13.07.2012 14:56

nie rozważyłeś jednej kwestii...

żeby móc wybrać tą klasę musisz wykonać 2 rzeczy
1. wybrać klasę która takowy lvl ma
2. wybrać tą klasę

Dla mnie to jest niedopuszczalne


W zasadzie można to obejść. Jak? Ano w zasadzie, to czysty CoD daje nam takie rozwiązanie, a w zasadzie to pokazuje w jaki sposób można pobrać level gracza na danej klasie, niekoniecznie ją wybierajac. Wystarczy delikatna zamiana natywu/dorobienie nowego i lekka modyfikacja funkcji WczytajDane, tak aby dodać w niej 3. parametr, który jeśli by miał wartość true to funkcja zwracałaby tylko level.
  • +
  • -
  • 0

#9 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 13.07.2012 21:12

nie rozważyłeś jednej kwestii...

żeby móc wybrać tą klasę musisz wykonać 2 rzeczy
1. wybrać klasę która takowy lvl ma
2. wybrać tą klasę

Dla mnie to jest niedopuszczalne


W zasadzie można to obejść. Jak? Ano w zasadzie, to czysty CoD daje nam takie rozwiązanie, a w zasadzie to pokazuje w jaki sposób można pobrać level gracza na danej klasie, niekoniecznie ją wybierajac. Wystarczy delikatna zamiana natywu/dorobienie nowego i lekka modyfikacja funkcji WczytajDane, tak aby dodać w niej 3. parametr, który jeśli by miał wartość true to funkcja zwracałaby tylko level.


To może napiszesz tutka jak to zrobić :)

Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#10 ToRRent

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 13.07.2012 22:41

Tomek ja wiem ze mozna zmodyfikowac ale zauwaz ze poradniki, latki oraz pluginy do qtm_codmoda tycza sie czystego moda bez ingerencji osob 3cich, jezeli jednak sie tycza trzeba zamiescic informacje w temacie ze jest to wymagane
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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