←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodanie Monet do Sklepu-Sms by Seek

  • +
  • -
Roughster - zdjęcie Roughster 23.02.2020

Witam. Używam tego pluginu do monet: https://amxx.pl/topi...3-system-monet/

Do sklepu-sms chciałbym dodać możliwość zakupu tych monet.

 

Plugin dostarczany przez sklep-sms do bezlitosnych monet wygląda tak:

#include <amxmodx>
#include <shop_sms>
native cod_get_user_coins(id);
native cod_set_user_coins(id, ilosc);

new const service_id[MAX_SERVICE_ID + 1] = "gxm_bm";
#define PLUGIN "Sklep-SMS: Usluga GXM BM"
#define AUTHOR "SeeK"

public plugin_natives() {
	set_native_filter("native_filter");
}

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

public plugin_cfg() {
	ss_register_service(service_id)
}

public ss_service_bought(id, amount) {
	cod_set_user_coins(id, cod_get_user_coins(id)+amount);
}

// Zabezpieczenie, jezeli plugin jest odpalony na serwerze bez odpowiednich funkcji
public native_filter(const native_name[], index, trap) {
	if(trap == 0) {
		register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown
		pause_plugin();
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}

Ale jako, że ja używam innego pluginu do monet zmieniłem w tym aktualny natywy i wyszło coś takiego:

#include <amxmodx>
#include <codmod>
#include <shop_sms>

native cod_get_user_coins(id) // zwraca ilosc monet
native cod_set_user_coins(id, wartosc) // ustawia ilosc monet

new const service_id[MAX_SERVICE_ID + 1] = "monety";
#define PLUGIN "Sklep-SMS: Usluga MONETY"
#define AUTHOR "SeeK"

public plugin_natives() {
	set_native_filter("native_filter");
}

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

public plugin_cfg() {
	ss_register_service(service_id)
}

public ss_service_bought(id, amount) {
	cod_set_user_coins(id, cod_get_user_coins(id)+amount);
}

// Zabezpieczenie, jezeli plugin jest odpalony na serwerze bez odpowiednich funkcji
public native_filter(const native_name[], index, trap) {
	if(trap == 0) {
		register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown
		pause_plugin();
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}

W panelu Sklepu-Sms wygląda to tak:

EKikFAo.png

 

Ale gdy na serwerze ktoś chcę kupić monety i wpisuję kod oraz klika enter wyskakuje błąd:

[SKLEP-SMS] Trwa przeprowadzanie zakupu...
[SKLEP-SMS] Zapytanie zwrocilo bledny http code.

Byłby ktoś w stanie pomóc mi to ogarnąć?

Odpowiedz

  • +
  • -
Roughster - zdjęcie Roughster 23.02.2020

Pomyliłem:

To są natywy systemu monet:

register_native("cod_get_user_coins", "GetCoins", 1);
	register_native("cod_set_user_coins", "SetCoins", 1);

Plugin od sklepu-sms:

#include <amxmodx>
#include <shop_sms>
native get_user_bm(id);
native set_user_bm(id, ilosc);

new const service_id[MAX_SERVICE_ID + 1] = "gxm_bm";
#define PLUGIN "Sklep-SMS: Usluga GXM BM"
#define AUTHOR "SeeK"

public plugin_natives() {
	set_native_filter("native_filter");
}

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

public plugin_cfg() {
	ss_register_service(service_id)
}

public ss_service_bought(id, amount) {
	set_user_bm(id, get_user_bm(id)+amount);
}

// Zabezpieczenie, jezeli plugin jest odpalony na serwerze bez odpowiednich funkcji
public native_filter(const native_name[], index, trap) {
	if(trap == 0) {
		register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown
		pause_plugin();
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}

Mój przerobiony:

#include <amxmodx>
#include <codmod>
#include <shop_sms>

native cod_get_user_coins(id) // zwraca ilosc monet
native cod_set_user_coins(id, wartosc) // ustawia ilosc monet

new const service_id[MAX_SERVICE_ID + 1] = "monety";
#define PLUGIN "Sklep-SMS: Usluga MONETY"
#define AUTHOR "SeeK"

public plugin_natives() {
	set_native_filter("native_filter");
}

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

public plugin_cfg() {
	ss_register_service(service_id)
}

public ss_service_bought(id, amount) {
	cod_set_user_coins(id, cod_get_user_coins(id)+amount);
}

// Zabezpieczenie, jezeli plugin jest odpalony na serwerze bez odpowiednich funkcji
public native_filter(const native_name[], index, trap) {
	if(trap == 0) {
		register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown
		pause_plugin();
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}

I błąd po wpisaniu kodu taki sam jak w temacie.

 

Odpowiedz