←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Dodatkowe Ammo w sklepie

Zablokowany

  • +
  • -
Andrzejek - zdjęcie Andrzejek 27.02.2013

Witam, mam do was sprawkę jak zrobić dodatkowa amunicje dla wszystkich broni, do sklepu.

case 1:
{
new cena = koszt;
if(!is_user_alive(id))
{
//nie zyjesz
}
if (kasa < cena)
{
//nie masz kasy
}
if(warunek?)
{
//masz pełne magazynki
}
//daj mi pełny pakiet magazynków do broni X
}

Użytkownik Andrzejek edytował ten post 27.02.2013 03:39
Odpowiedz

ToJeAmelinium - zdjęcie ToJeAmelinium 27.02.2013

moze bys dal caly sklep z sma?? jak mamy ci pomoc.? dales kawalek kodu.
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 27.02.2013

Nie wiem co mam ci wiecej dać?

public WybierzOpcjeSklep(id)
{
new tytul[64]
format(tytul, 63, "Menu Sklepu")
new menu = menu_create(tytul, "WybierzOpcjeSklep_wybor")
menu_additem(menu, "\wAmmo \yKoszt: \r3000$", "1", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}

public WybierzOpcjeSklep_wybor(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 kasa = cs_get_user_money(id);

switch(key)
{
case 1:
{
new cena = koszt;
if(!is_user_alive(id))
{
//nie zyjesz
}
if (kasa < cena)
{
//nie masz kasy
}
if(warunek?)
{
//masz pełne magazynki
}
//daj mi pełny pakiet magazynków do broni X
}

}
menu_destroy(menu)
return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 27.02.2013

http://amxx.pl/dokum...set-user-bpammo
Użytkownik d0n tHe Pr0oo edytował ten post 27.02.2013 17:31
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 27.02.2013

Cos takiego?

new const weapon[] = { CSW_M4A1, CSW_AK47, CSW_GALIL, CSW_FAMAS, CSW_AWP, CSW_SCOUT, CSW_SG552, CSW_AUG, CSW_G3SG1, CSW_SG550, CSW_MP5NAVY, CSW_TMP, CSW_P90, CSW_MAC10, CSW_UMP45, CSW_M3, CSW_XM1014, CSW_M249, CSW_DEAGLE, CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_P228, CSW_FIVESEVEN }
new const amount[] = { 90, 90, 90, 90, 30, 90, 90, 90 ,90, 90, 120, 120, 100, 100, 100, 32, 32, 200, 35, 100, 120, 120, 52, 100 }


cs_set_user_bpammo ( index, weapon, amount )

Użytkownik Andrzejek edytował ten post 27.02.2013 17:40
Odpowiedz

  • +
  • -
K!113r - zdjęcie K!113r 27.02.2013

tak nie zadziała, raczej pętla po wszystkich elementach, a nie lepiej dać amunicje przez give_item()? Tak też możesz ale to musi być pętla.
Odpowiedz

Gość_21977_* 28.02.2013

Pełen magazynek:
new const clips[]={0, 13, -0, 10, 1, 7, 0, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, 0, 50};

public recharge(id){
new wid=get_user_weapon(id);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
cs_set_weapon_ammo(weid, clips[wid]);
}
}
}


Pełen plecak amunicji:
new const bp_clips[]={0, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, -1, 100};

public bp_recharge(id){
new wid=get_user_weapon(id);
if(wid){
cs_set_user_bpammo(id, wid, bp_clips[wid]);
}
}


Pełen magazynek oraz zapas amunicji w plecaku:
public full_recharge(id){
recharge(id);
bp_recharge(id);
}


Przykładowe zastosowanie:


KillFill

opis
Plugin uzupełnia amunicję i jej zapas w plecaku graczom za każde zabójstwo.

wymagane moduly
amxmodx
cstrike
engine
hamsandwich


download
Załączony plik  killfill.sma   1,26 KB   14 Ilość pobrań
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 28.02.2013

No dzięki, a jak sprawdzić czy gracz ma pełny magazynek i nie może kupić magazynku?
Odpowiedz

Gość_21977_* 28.02.2013

Sprawdzanie pełnego magazynku:
public isFullAmmo(id){
new ammo, bpammo, wid=get_user_weapon(id, ammo, bpammo);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
if(clips[wid]==ammo){
return 1;
}
}
}
return 0;
}


Sprawdzanie pełnego plecaka:
public isFullBpAmmo(id){
new ammo, bpammo, wid=get_user_weapon(id, ammo, bpammo);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
if(bp_clips[wid]==bpammo){
return 1;
}
}
}
return 0;
}


Sprawdzanie, czy broń ma pełen magazynek oraz pełen zapas amunicji w plecaku:
public isFullWeapon(id){
new ammo, bpammo, wid=get_user_weapon(id, ammo, bpammo);
if(wid){
new weaponname[32], weid;
get_weaponname(wid, weaponname, 31);
weid=find_ent_by_owner(-1, weaponname, id);
if(weid){
if(clips[wid]==ammo && bp_clips[wid]==bpammo){
return 1;
}
}
}
return 0;
}
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 28.02.2013

A czy dał by ktoś rade zrobić, że jeden gracz, który kupi tą funkcje w sklepie to w jakimś tam dystansie od niego może dodawać pełen plecak magazynków, dla wszystkich broni graczom ze swojej drużyny, najlepiej funkcja na zmienna, + widoczny taki zielony promień wokół niego na ten dystans.
Użytkownik Andrzejek edytował ten post 28.02.2013 23:54
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 03.03.2013

Zamknać
Odpowiedz

Gość_21977_* 03.03.2013

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany