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

Usuwanie broni po wybraniu nowej


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 devil11

    Wszechwidzący

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 28.11.2016 12:54

Witam
Posiadam plugin, który poprzez menu dodaje za darmo broń lecz problem w tym że jak wybierzemy nową broń to mamy dwa rodzaje jej na wyposażeniu jak mogę zrobić aby podczas wyboru broni usuwało broń ktora obecnie gracz posiada a dodaje nowa

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "Weapon Menu Pistol"
#define VERSION "1.0 Beta"
#define AUTHOR "xxx"

new szCommand[][]={  
	"say /tec9",
	"say /r8",
	"say /cz75",
	"say_team /tec9",
	"say_team /r8",
	"say_team /cz75"
}

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /gun","MenuBroni")
    register_clcmd("say /weapon","MenuBroni")
    register_clcmd("say /guns","MenuBroni")
    register_clcmd("say_team /gun","MenuBroni")
    register_clcmd("say_team /weapon","MenuBroni")
    register_clcmd("say_team /guns","MenuBroni")  
	
	for(new i = 0 ;i<sizeof szCommand;i++){
		register_clcmd(szCommand[i],"block")
	}
}

public MenuBroni(id)
{
    new menu = menu_create("Menu wyboru broni:", "menu_handler")
    menu_additem(menu, "Usp", "1", 0)
    menu_additem(menu, "Glock", "2", 0)
    menu_additem(menu, "Deagle", "3", 0)
    menu_additem(menu, "Fiveseven", "4", 0)
	menu_additem(menu, "Dual Berettas", "5", 0)
	menu_additem(menu, "Tec9 (VIP)", "6", ADMIN_LEVEL_H) 
	menu_additem(menu, "R8 REVOLVER (VIP)", "7", ADMIN_LEVEL_H) 
	menu_additem(menu, "CZ75-Auto (VIP)", "8", ADMIN_LEVEL_H) 
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu, 0)
}

public menu_handler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key)
    {
        case 1:{
   give_item(id, "weapon_usp")
   give_item(id, "ammo_45acp")
   give_item(id, "ammo_45acp")
   give_item(id, "ammo_45acp")
   give_item(id, "ammo_45acp")
   give_item(id, "ammo_45acp")
   give_item(id, "ammo_45acp")
        }
        case 2:{
   give_item(id, "weapon_glock18")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
        }
        case 3:{
   give_item(id, "weapon_deagle")
   give_item(id, "ammo_50ae")
   give_item(id, "ammo_50ae")
   give_item(id, "ammo_50ae")
   give_item(id, "ammo_50ae")
   give_item(id, "ammo_50ae")
   give_item(id, "ammo_50ae")
        }
        case 4:{
   give_item(id, "weapon_fiveseven")
   give_item(id, "ammo_57mm")
   give_item(id, "ammo_57mm")
   give_item(id, "ammo_57mm")
   give_item(id, "ammo_57mm")
   give_item(id, "ammo_57mm")
   give_item(id, "ammo_57mm")
        }
        case 5:{
   give_item(id, "weapon_elite")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm")
   give_item(id, "ammo_9mm") 
        }
		case 6:
		{
   client_cmd(id,"say /tec9") //Komenda na bron tec9
		}
		case 7:
		{
   client_cmd(id,"say /r8") //Komenda na bron r8
		}
		case 8:
		{
   client_cmd(id,"say /cz75") //Komenda na bron r8
		}
	}
    menu_destroy(menu)
    return PLUGIN_HANDLED
}  
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 01.12.2016 00:01

Skorzystaj z biblioteki: http://amxx.pl/inc/StripWeapons.inc

A potem z funkcji: https://amxx.pl/doku...84/StripWeapons

 


  • +
  • -
  • 1

#3 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 06.12.2016 18:20

Mógł byś mnie troszkę nakierować bo nie za bardzo wiem jak za to się ugryźć

 

W załączniku plik sma


  • +
  • -
  • 0

#4 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 13.12.2016 12:27

Dodany załącznik

Załączone pliki


  • +
  • -
  • 0

#5 Xeane

    Profesjonalista

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:162
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Chorzów
Offline

Napisano 13.12.2016 16:22

myślę że to Ci pomoże

StripWeapons(id, Primary);

  • +
  • -
  • 0

#6 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 15.12.2016 00:31

Tyle to i ja wiem lecz jak to wprowadzić bardziej do użytku, to że coś tam próbuje sam nie znaczy że od razu wskocze na głęboką wodę bo do tego nawet nie wiem jak podejsc


  • +
  • -
  • 0

#7 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 15.12.2016 02:30

poprostu przed daniem graczowi nowej broni wlej wyzej to:

StripWeapons(id, Primary);

czyli calosc ma wygladac mniej wiecej tak:

StripWeapons(id, Primary);
give_item(id, "weapon_ak47");

usuwa to bronie ze slotu pierwszego, z drugiego slotu usuwa cos takiego:

StripWeapons(id, Secondary);

oczywiscie jesli masz wgrana biblioteke ktora podaja wyzej ;)

uprzedzajac posta od razu napisze ze wrzucasz ja do folderu include w scripting i dziala ;P

 

ta amunicie tez jakos dziwnie dodajesz pewnie dziala, ale tak chyba bylo by lepiej:

new m4a1_id;

m4a1_id=find_ent_by_owner(-1, "weapon_m4a1", id);
if(m4a1_id)
{
cs_set_weapon_ammo(m4a1_id, 30);
cs_set_user_bpammo(id, CSW_M4A1, 90);
}

aha i ludzie tu pisza o Primary czyli broniach z pierwszego slota, ale ty robisz menu z pistoletami wiec musisz uzyc Secondary, zeby usunac wczesniejszy pistolet chyba ze chcesz usuwac graczom bronie takie jak ak/m4


Użytkownik Kmf!p edytował ten post 15.12.2016 02:38

  • +
  • -
  • 1
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#8 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 16.12.2016 01:48

aha i ludzie tu pisza o Primary czyli broniach z pierwszego slota, ale ty robisz menu z pistoletami wiec musisz uzyc Secondary, zeby usunac wczesniejszy pistolet chyba ze chcesz usuwac graczom bronie takie jak ak/m4

 

Inne bronie po za pistoletami właśnie usuwam gracza

 

Zrobiłem tak jak mówiłeś lecz nie usuwa to broni po dodaniu nowej

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <stripweapons>

#define PLUGIN "Weapon Menu Pistol"
#define VERSION "1.0 Beta"
#define AUTHOR "Shibby"

new szCommand[][]={  
    "say /tec9",
    "say /r8",
    "say /cz75",
    "say_team /tec9",
    "say_team /r8",
    "say_team /cz75"
}

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("amx_gun","MenuBroni", _,"Wywolanie Broni")     
    RegisterHam(Ham_Spawn, "UsuwanieBroni", "fwdPlayerSpawn", 1);
    
    for(new i = 0 ;i<sizeof szCommand;i++){
    register_clcmd(szCommand[i],"block")
    }
}

public fwdPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        strip_user_weapons(id);
        StripWeapons(id, Secondary);
        give_item(id, "weapon_knife");
        MenuBroni( id );
    }
} 

Użytkownik devil11 edytował ten post 16.12.2016 01:52

  • +
  • -
  • 0

#9 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 16.12.2016 02:18

nie rozumiem jak nie usuwa wgrales biblioteke stripweapons do include ?

public fwdPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        StripWeapons(id, Secondary);
        MenuBroni( id );
    }
} 
to usuwa wszystkie pistolety z reszta po co ty robisz to przy spawnie ? lepiej usuwac bronie w menu przed give_item bo jak na spawnie to gracze se moga pewnie menu wlaczyc i se jeszcze bronie dobrac lub usuwasz bronie gdy jeszcze ich nie maja bo wiadomo ze bron rozdawana jest przy/po spawnie graczom wiec prawdopodobnie oni nawet tej broni nie maja przy usuwaniu twoim ;) proponuje usuwac to albo juz w menu albo w innym evencie typu ResetHUD

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#10 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 16.12.2016 09:59

Głównie chodzi mi o efekt gdzie jak gracz wpisze komende /gun to mu przy wyborze broni usunie starą ze slotu aby nie posiadał dwóch pistoletów to jak cię rozumiem zamiast RegisterHam(Ham_Spawn, "UsuwanieBroni", "fwdPlayerSpawn", 1); mam się podpiąć pod coś innego


  • +
  • -
  • 1

#11 devil11

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:284
  • Imię:nie ma
  • Lokalizacja:ziemia
Offline

Napisano 16.12.2016 10:56

A jak zrobie to na podpodnej zasadzie, tylko że to będzie usuwać dopiero w nowej rundzie ale podczas obecnej rundy będą nadal dwie bronie, więc jakiego do tego eventu użyć.

Ewentualnie może jakieś dodanie ograniczenia że pokaże nam się menu broni ale po wyborze broń będzie dostępna dopiero w nowej rundzie

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
    register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}

public Nowa_Runda()
if(is_user_alive(id))
    {
        strip_user_weapons(id);
        StripWeapons(id, Secondary);
        give_item(id, "weapon_knife");
        MenuBroni( id );
    }

Użytkownik devil11 edytował ten post 16.12.2016 10:58

  • +
  • -
  • 0

#12 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 16.12.2016 13:55

no jak korzystasz z eventu ktory daje bron samo w 2 rundzie to co sie dziwisz ;)

 

w tym sprawdz

register_event("ResetHUD", "ResetHUD", "abe");

tego nie dawaj bo nie potrzebne

strip_user_weapons(id);

to tez nie potrzebne

give_item(id, "weapon_knife");

chcesz usunac pistolety i bronie typu mp5, ak, m4

to daj tak

StripWeapons(id, Primary);
StripWeapons(id, Secondary);

to usunie wszystkie bronie ale noza nie usunie wiec po co go dodawac. mowie lepiej bys wkleil to co podalem wyzej w menu przed give_item 

 

jak chcesz wyslij sma to ci na gotowo zrobie bo patrze ze ciezko idzie ;)


Użytkownik Kmf!p edytował ten post 16.12.2016 14:02

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544




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

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