←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

wymiana_perkami

Locked

  • +
  • -
hercio's Photo hercio 03.09.2011

Witam serdecznie!

Gdzieś na google na stronie sieci nie pamiętam jakiej, znalazłem plugin o nazwie wymiana_perkami.

#include <amxmodx>
 
#define PLUGIN "Wymien Perk"
#define VERSION "1.0"
#define AUTHOR "cypis"
 
native cod_set_user_perk(id, przedmiot)
native cod_get_user_class(id)
native cod_get_user_perk(id)
native cod_get_perk_durability(id)
native cod_set_perk_durability(id, wartosc)
 
new bool:dostal_przedmiot[33];
new oddaj_id[33];
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /z", "ZamienPerk");
	register_clcmd("say /zamien", "ZamienPerk");
	register_event("ResetHUD", "cod_perk_changed", "abe");
}
 
public ZamienPerk(id)
{
	new menu = menu_create("Zamien sie perkiem", "ZamienPerk_Handle");
	new cb = menu_makecallback("OddajPerk_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_id[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_display(id, menu);
}
 
public cod_perk_changed(id)
	dostal_przedmiot[id] = false;
 
public ZamienPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_id[item])){
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[oddaj_id[item]]){
		client_print(id, print_chat, "Wybrany gracz musi poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[id]){
		client_print(id, print_chat, "Musisz poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(oddaj_id[item])){
		client_print(id, print_chat, "Wybrany gracz nie mam zadnego perka.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(id)){
		client_print(id, print_chat, "Nie masz zadnego perka.");
		return PLUGIN_CONTINUE;
	}
 
	new nazwa_menu[128], nick[64];
	
	get_user_name(id, nick, charsmax(nick))
	formatex(nazwa_menu, charsmax(nazwa_menu), "Wymien sie perkiem z %s:", nick)
	
	new menu2 = menu_create(nazwa_menu, "menu_wymien");
 
	menu_additem(menu2, "Tak", nick);
	menu_addblank(menu2, 0)
	menu_additem(menu2, "Nie", nick);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	return PLUGIN_CONTINUE;
}
 
public menu_wymien(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new access, callback, data[64];
	menu_item_getinfo(menu, item, access, data, charsmax(data), _, _, callback);
	new id2 = get_user_index(data)
	
	switch(item)
	{
		case 0:
		{
			new perk_oddajacego = cod_get_user_perk(id2)
			new perk_dajacego = cod_get_user_perk(id)
			new trim_oddajacego = cod_get_perk_durability(id2)
			new trim_dajacego = cod_get_perk_durability(id)
			
			cod_set_user_perk(id2, perk_dajacego);
			cod_set_user_perk(id, perk_oddajacego);
			cod_set_perk_durability(id2, trim_dajacego)
			cod_set_perk_durability(id, trim_oddajacego)
		
			dostal_przedmiot[id2] = true;
			dostal_przedmiot[id] = true;
					
			new nazwa_dajacego[64];
			
			get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))
					
			client_print(id, print_chat, "Wymieniles sie perkiem z %s.", data);
			client_print(id2, print_chat, "Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
		case 1: client_print(id2, print_chat, "Wybrany gracz nie zgodzil sie na wymiane perka.")
	}
	return PLUGIN_CONTINUE;
}
 
public OddajPerk_Callback(id, menu, item)
{
	if(oddaj_id[item] == id || !cod_get_user_class(oddaj_id[item]) || !cod_get_user_perk(oddaj_id[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
 

Wszystko elegancko wyskakuje menu z graczami z którymi można wymienić się perkami ale, jak już naciskam na nazwę gracza nic się nie dzieje i nie da się wymienić z nimi perkami. Proszę o pomoc może ktoś to ogarnie NOWY CODMOD
Quote

  • +
  • -
kondork's Photo kondork 03.09.2011

@UP, on chcial do nowego nie starego CODa :P

Tutaj masz wymiane perku bez wytrzymałości, kod by "QTM.Peyote & cypis"
Spoiler


@Down "A może sma?"
dzięki za poprawienie, już sprostowałem, sory za błąd
Edited by kondork, 03.09.2011 20:48.
Quote

  • +
  • -
hercio's Photo hercio 03.09.2011


kondork zaraz sprawdzę tylko mapka mi się zmieni i zrobię edit


Ok działa piwko gibon + czy co tu jest hehe
Quote

  • +
  • -
A może sma?'s Photo A może sma? 03.09.2011

W temacie, który podałem jest link do wersji do nowego CoDa...
Kod, który podałeś jest autorstwa cypisa i RPK. Shark, a nie DarkGL...
Quote
Locked