←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] [PROBLEM] Plugin dający deagl...

Zablokowany

  • +
  • -
7keN - zdjęcie 7keN 11.07.2013

Witam. 

Napisalem plugin ktory ma dawać deagle określonemu graczowy. Pierw ma wyświetlać liste graczy na serwerze, a później ma sie wyświetlić menu pokazujące ile ten deagle ma mieć amunicji, ale mam problem ponieważ mimo, że wybieram gracza to zawsze daje tą broń mi i daje 7 ammo zawsze a nie tyle co ustawiłem. Co zrobić zeby było dobrze? Pomóżcie! :)

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine> 

#define PLUGIN "Deagle"
#define VERSION "1.0"
#define AUTHOR "asd"
#define MAX 31
new Players[MAX+1][64];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /deagle", "menu")
}

public menu(id, level, cid) {
	
	new menu = menu_create("Wybierz Gracza:","menu_broni");
	new name[64], num;
	for(new i=1; i<=32; i++) {
		if(is_user_connected(i)) {
			Players[id][num] = i;
			num++;
			get_user_name(i, name, charsmax(name));
			menu_additem(menu, name);
			
		}
		
	}
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, menu);
	return PLUGIN_HANDLED;
}


public menu_broni(id)
{
	if (get_user_team(id) == 2)
	{
		
		new menu = menu_create("\rMenu Broni", "wybieranie")
		
		menu_additem(menu, "\wDeagle bez ammo", "1", 0)
		menu_additem(menu, "\wDeagle z 1 ammo", "2", 0)
		menu_additem(menu, "\wDeagle z 3 ammo", "3", 0) 
		menu_additem(menu, "\wDeagle z pelnym magazynkiem", "4", 0)     
		
		menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
		
		menu_display(id, menu, 0)
	}
	else 
	{
		client_print(id, print_chat, "Nie masz do tego dostepu Ziomus!")
		return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED;
}
public wybieranie(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
	
	new key = str_to_num(data)
	new dgl_id = find_ent_by_owner(-1, "weapon_deagle", id)
	
	switch(key)
	{
		case 1:{
			give_item(id, "weapon_deagle");
			if(dgl_id){
				cs_set_weapon_ammo(dgl_id, 0);
			}
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		
		case 2:{
			give_item(id, "weapon_deagle");
			if(dgl_id){
				cs_set_weapon_ammo(dgl_id, 1);
			}
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		
		case 3:{
			give_item(id, "weapon_deagle");
			if(dgl_id){
				cs_set_weapon_ammo(dgl_id, 3);
			}
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		case 4:{
			give_item(id, "weapon_deagle");
			if(dgl_id){
				cs_set_weapon_ammo(dgl_id, 35);
			}
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 11.07.2013

cs_set_user_bpammo(index, CSW_DEAGLE, 1) ?

Odpowiedz

  • +
  • -
7keN - zdjęcie 7keN 11.07.2013

nie

 

edit:

czy nikt tu nie potrafi pomóc? :/


Użytkownik 7keN edytował ten post 11.07.2013 17:46
Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 11.07.2013

Jak możesz szukać broni, skoro gracz jeszcze jej nie ma?

new dgl_id = find_ent_by_owner(-1, "weapon_deagle", id)

Daj to po każdym:

give_item(id, "weapon_deagle");

I powinno działać.


Użytkownik O'Zone edytował ten post 11.07.2013 18:03
Odpowiedz

  • +
  • -
7keN - zdjęcie 7keN 11.07.2013

Przeciez to tworzy DGL_ID ktore uzywam po kazdym 

give_item(id, "weapon_deagle");

blagam niech ktos to napisze tak jak ma byc.. a nie strzelacie i sami nie wiecie..


Użytkownik 7keN edytował ten post 11.07.2013 18:19
Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 11.07.2013

Szukasz funkcją broni, gdy gracz nie ma jej jeszcze przydzielonej. Mówię o:

new dgl_id = find_ent_by_owner(-1, "weapon_deagle", id)

Późniejsze sprawdzanie zmiennej

if(dgl_id){ 

nie wywołuje ponownie sprawdzania broni, a wartość zmiennej została przypisana wcześniej, więc warunek nigdy nie zajdzie.

Zrób więc to, co napisałem w poprzednim poście i ciesz się działającym pluginem :)

 

Odpowiedz

  • +
  • -
7keN - zdjęcie 7keN 11.07.2013

Zrobilem i daje juz dobrze ammo, ale nadal daje bron tylko mi, mimo ze wybieram kogo innego.

 

Jak to naprawic?

 

 

Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 11.07.2013

Kod menu wybieranie ewidentnie przypisuje broń graczowi, który akurat z menu korzysta.

Jeśli chcesz, by broń dostawał gracz przez ciebie wybrany, trzeba wprowadzić drobne zmiany.

Sprawdź plugin z załącznika:

 

Załączone pliki

  • Załączony plik  deagle.sma   2,66 KB   162 Ilość pobrań
Odpowiedz

  • +
  • -
7keN - zdjęcie 7keN 12.07.2013

Dzięki ;)

Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 12.07.2013

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
Odpowiedz
Zablokowany