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

[ROZWIĄZANE] Natyw, pobieranie wartości z innego pluginu


Najlepsza odpowiedź speedkill, 14.12.2014 16:11

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new g_TempValue[33];

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

public plugin_natives(){
	register_native("set_user_costam", "SetPlayerSth", 1);
	register_native("get_user_costam", "GetPlayerSth", 1);
}

public SetPlayerSth(id, g_Value){
	g_TempValue[id] = g_Value;
}

public GetPlayerSth(id){
	return g_TempValue[id];
}
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

native set_user_costam(id, g_Value);
native get_user_costam(id);

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /test", "TestCmd");
	register_clcmd("say /zmien", "ChangeValue");
}

public TestCmd(id){
	new g_Value = get_user_costam(id);
	client_print(id, 3, "Cos tam ma wartosc: %d", g_Value);
}

public ChangeValue(id){
	set_user_costam(id, 100);
}
Przejdź do postu


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

#1 Ossal

    Wszechwidzący

  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 14.12.2014 14:41

Mam pytanie co do natywu, dokładniej - mam swój plugin, do którego chce napisać inne pluginy, jak to zrobić? O co mi dokładnie chodzi zamieszczam poniżej, to jest przykładowy plugin do pluginu głownego:
#include <amxmodx>
public client_putinserver(id){ //lub jakakolwiek inna funkcja
new wartosc = get_user_costam(id) //pobiera wartosc costam[id] z pluginu glownego
set_user_costam(id, wartosc) //wysyla do pluginu glownego nowa wartosc costam[id]
} 
Was proszę o pomoc, co dokładnie mam wpisać do pluginu głównego i jak się do niego odnieść w wyżej opisanym pluginie. Z góry dzięki za pomoc :)

PS Tak, czytałem to: http://amxx.pl/topic/20034-natywy/

Użytkownik Ossal edytował ten post 14.12.2014 14:46

  • +
  • -
  • 0

#2 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 14.12.2014 15:20


PS Tak, czytałem to: http://amxx.pl/topic/20034-natywy/

To teraz jeszcze raz, ale ze zrozumieniem :)


  • +
  • -
  • 4

#3 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 14.12.2014 15:24

Tutaj jeszcze zapraszam do przeczytania krótkiej lektury.

Uwaga! Wymagana jest znajomość języka angielskiego!

 

https://forums.allie...ead.php?t=41251


  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#4 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 14.12.2014 16:00

grankee brawo przydałeś się bardzo...
Jak ktoś ma coś inteligentniejszego do napisania to poproszę :)

Użytkownik Ossal edytował ten post 14.12.2014 16:00

  • +
  • -
  • 0

#5 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 14.12.2014 16:11   Najlepsza odpowiedź

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new g_TempValue[33];

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

public plugin_natives(){
	register_native("set_user_costam", "SetPlayerSth", 1);
	register_native("get_user_costam", "GetPlayerSth", 1);
}

public SetPlayerSth(id, g_Value){
	g_TempValue[id] = g_Value;
}

public GetPlayerSth(id){
	return g_TempValue[id];
}
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

native set_user_costam(id, g_Value);
native get_user_costam(id);

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /test", "TestCmd");
	register_clcmd("say /zmien", "ChangeValue");
}

public TestCmd(id){
	new g_Value = get_user_costam(id);
	client_print(id, 3, "Cos tam ma wartosc: %d", g_Value);
}

public ChangeValue(id){
	set_user_costam(id, 100);
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#6 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 14.12.2014 22:16

Noo i jakiś kompetentny, dzięki speedkill działa, łap + :)
Ale jest drobne pytanko:
Skąd plugin drugi wie gdzie szukać tych funkcji? Nie widzę powiązania, nie musi wiedzieć gdzie ich szukać, wystarczy że nazwa się zgodzi?
  • +
  • -
  • 0

#7 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

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

Napisano 15.12.2014 06:54

Cóż, można powiedzieć, że gdy rejestrujesz natyw trafia on do takiej księgi. Speedkill przytoczył wyzej "native set_user_costam(id, g_Value), ktora jest zapisana właśnie w tej księdze. Wystarczy, ze serwer do niej zajrzy i sprawdzi za co natyw ten odpowiada etc. jedak zadziała to tylko, jeśli w pluginie stworzysz funkcje "native", bądź zaimplementujesz pasujący do niej include

Użytkownik MAGNET edytował ten post 15.12.2014 06:55

  • +
  • -
  • 2

#8 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 15.12.2014 10:13

Noo i jakiś kompetentny, dzięki speedkill działa, łap + :)
Ale jest drobne pytanko:
Skąd plugin drugi wie gdzie szukać tych funkcji? Nie widzę powiązania, nie musi wiedzieć gdzie ich szukać, wystarczy że nazwa się zgodzi?

W tym drugim pluginie musisz mu powiedzieć jakie to funkcje:

o Tutaj

native set_user_costam(id, g_Value);
native get_user_costam(id);

Teraz juz wie i ma do czego sie odwolac, jezeli mu błędnie podałeś, to dopiero na serwerze wysypie Ci błąd :D

 

Troche inaczej wyjasnione niz kolega wyzej.

 

Ogólnie tłumacząc natywy, w jednym rejestrujesz to co chcesz wysyłać, w drugim odbierasz.


  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#9 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 15.12.2014 10:45

to by było na tyle, dzięki chłopaki :)
  • +
  • -
  • 0

#10 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 15.12.2014 18:10

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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