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

Natywy.


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

#1 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.05.2010 23:13

Witam, jeżeli chcę dodać do swojego przerobionego Diablo natywy to wystarczy zrobić tak:

public plugin_natives()
{
	register_native("db_get_user_level", "native_get_user_level")
}

I zmienić to:

public native_get_user_level(id)
{
	return player_lvl[id]
}

I w pliku diablomod.inc zmienić ?

Dałem przykład z 1 natywem.

Po co to wogóle? xD

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 27.05.2010 23:31

jeśli chcesz tak
native_get_user_level(id)
to zarejestruj native z style = 1 (3 parametr)

Natywy służą do udostępniania funkcji do innych pluginów:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Native Test"
#define VERSION "1.0"
#define AUTHOR "R3X"

native db_get_user_level(id);

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /native", "cmdNativeTest");
}
public cmdNativeTest(id){
client_print(id, print_chat, "Twoj level to %d", db_get_user_level(id));
}

  • +
  • -
  • 1

#3 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.05.2010 23:36

Ale jeżeli bym chciał dodać te natywy do mojego Diablo, to wystarczy taki sposób jaki podałem?

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 27.05.2010 23:39

Jeśli chcesz by funkcja obsługująca natywa (native_get_user_level) miała taki argument jak napisałeś to musisz użyć:
register_native("db_get_user_level", "native_get_user_level", 1)

Jeśli zostawisz puste to wywoływana będzie taka funkcja
public native_get_user_level(plugin, params)

  • +
  • -
  • 1

#5 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.05.2010 23:45

Okej dzięki, jeszcze jedno pytanie.

Mam takie coś:

new weapon1 = get_user_weapon(id)
	if (button2 & IN_ATTACK2 && player_class[id]==Hefasto && !(get_user_oldbutton(id) & IN_ATTACK2)){
		if(weapon1 !=CSW_KNIFE && weapon1!= CSW_AWP && weapon1!= CSW_SCOUT && weapon1!= CSW_AUG && weapon1!= CSW_G3SG1 && weapon1!= CSW_SG552){
			if (cs_get_user_zoom(id)==CS_SET_NO_ZOOM) cs_set_user_zoom ( id, CS_SET_AUGSG552_ZOOM, 1 ) 
			else cs_set_user_zoom(id,CS_SET_NO_ZOOM,1)
		}
	}

To przybliżenie z broni. Jak zrobić, że jeżeli ma się np. M4, wcisnę PPM to on pierw założy tłumik, potem znów wcisnę PPM i przybliży?

Użytkownik Screeaam... edytował ten post 27.05.2010 23:45


#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 27.05.2010 23:48

Kiepski pomysł :/ a jak zdejmiesz tłumik? albo przybliż bez tłumika?
  • +
  • -
  • 0

#7 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.05.2010 10:58

Chodzi mi o to.

Mam M4A1, wciskam PPM, on zakłada tłumik, wciskam znów PPM, przybliża, wciskam PPM, zdejmuje tłumik, wciskam PPM oddala. Chyba, że da się zrobić, aby tłumika nie zakładał, w co wątpie (Ma być na PPM)

Czyli dzięki natywom mogę robić osobne pluginy np. Że, jakaś klasa będzie miała jakąś moc?

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 28.05.2010 14:55

Można zablokować zakładanie tłumika przy emce

RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_m4a1", "fwSecondaryAttack", 0);

public fwSecondaryAttack(ent){
    return HAM_SUPERCEDE;
}

i zamień warunek
weapon1 !=CSW_KNIFE && weapon1!= CSW_AWP && weapon1!= CSW_SCOUT && weapon1!= CSW_AUG && weapon1!= CSW_G3SG1 && weapon1!= CSW_SG552

na
weapon1 == CSW_M4A1

Z tą klasą to masz rację. Możesz przy używaniu jakiejś mocy z innegu pluginu sprawdzać czy gracz jest np. łowcą
  • +
  • -
  • 1

#9 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 30.05.2010 16:01

A jeżeli chce dać tą funkcję na większą ilość broni? I jak dać tą moc na daną klasę?

Użytkownik Screeaam... edytował ten post 30.05.2010 16:03





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

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