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
CoD Nowy

[Pytanie] Dotyczace sklepu

cod nowy

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

#1 Blondyna

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 01.12.2013 17:41

Siemka, zrobiłem sklep (menu)

public Umiejetnosci(id)
{
    new menu = menu_create("Wybierz opcje", "Umiejetnosci_Handler")

    menu_additem(menu, "Odpornosc na HE \yKoszt: \r9 Zlota ")
    
    menu_display(id, menu)
}

Mam kod co odpowiada za odporność:

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(this))
        return HAM_IGNORED;
    
    if(!ma_klase[this])
        return HAM_IGNORED;
    
    if(damagebits & DMG_HEGRENADE)
        return HAM_SUPERCEDE;
        
    return HAM_IGNORED;
}

Lecz jak zrobić aby gracz mógł kupić taką moc oraz aby on trwała tylko jedną mapę.


  • +
  • -
  • 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.2013 20:18


Lecz jak zrobić aby gracz mógł kupić taką moc oraz aby on trwała tylko jedną mapę.

 

Potrwa aż do reconnecta.

Polecam poczytać:

http://amxx.pl/topic...tworzenia-menu/

http://amxx.pl/topic...tworzenie-menu/

http://amxx.pl/topic...menu-przyklady/


  • +
  • -
  • 1

#3 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 03.12.2013 21:37

Menu wiem jak zrobić, lecz nie wiem jak zrobić gdy gracz wybierze opcję z menu otrzymuje tą moc na czas trwania mapy.

 

Nie wiem czy dobrze to robię ale:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <codmod>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Krupek"

#define DMG_HEGRENADE (1<<24)

new bool:ma_odpornosc_he[33];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /menu", "Zloto");
    
    RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
}

public Umiejetnosci(id)
{
    new menu = menu_create("Wybierz opcje", "Info_Handler")

         menu_additem(menu, "Odpornosc na HE \yKoszt: \r9 Zlota ")
         
         menu_display(id, menu)
}



public Umiejetnosci_Handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    switch(item)
    {
        case 0:
        {
            if(kasa >= 14000)
            {
                ma_odpornosc_he[id] = true;
                
                cs_set_user_money(id, kasa-14000);
                ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles Odpornosc na HE!");
            }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x1 Zapomnij, masz za malo zlota!");
        }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(this))
        return HAM_IGNORED;
    
    if(!ma_odpornosc_he[this])
        return HAM_IGNORED;
    
    if(damagebits & DMG_HEGRENADE)
        return HAM_SUPERCEDE;
        
    return HAM_IGNORED;
}

 


Użytkownik Trener edytował ten post 03.12.2013 22:00

  • +
  • -
  • 0

#4 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 03.12.2013 22:06

#include amxmodx
#include codmod
#include hamsandwich

#define DMG_HEGRENADE (1<<24)



new bool:ma_odpornosc[33];
new bool:ma_klase[33];
public plugin_init() 
{
	register_plugin("Umiejetnosc", "1.0", "sharkowy");
	
	register_clcmd("say /cos", "cos");
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}	

public cos(id)
{
	new tytul[25];
	format(tytul, 24, "\rUmka");
	new menu = menu_create(tytul, "cos_Handler");
	menu_additem(menu, "Odpornosc na HE \yKoszt: \r9 Zlota ")
	menu_display(id, menu);
	
}

public cos_Handler(id, menu, item)
{
	
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	switch(item)
	{
		case 0:
		{
			//zloto_gracza[id] =-9  tu zabierasz zloto
			ma_odpornosc[id]=true
			client_print(id, print_chat, "Kupiles odpornosc na HE");
		}
	}
	return PLUGIN_CONTINUE;
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(this))
		return HAM_IGNORED;
	
	if(!ma_klase[this])
		return HAM_IGNORED;
	
	if(!ma_odpornosc[this])
		return HAM_IGNORED;
	
	if(damagebits & DMG_HEGRENADE)
		return HAM_SUPERCEDE;
	
	return HAM_IGNORED;
}


public client_disconnect(id)
	ma_odpornosc[id]=false

  • +
  • -
  • 0

#5 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 04.12.2013 19:35

Dzięki wielkie, czyli teraz gracz będzie posiadał tą moc do póki mapa nie zostanie zmieniona .?

 


  • +
  • -
  • 0

#6 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 05.12.2013 12:21


Dzięki wielkie, czyli teraz gracz będzie posiadał tą moc do póki mapa nie zostanie zmieniona .?

 

Tak, albo dopóki nie zrobi reconnecta.


  • +
  • -
  • 0

#7 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 07.12.2013 10:27

A czy ten kod wygląda dobrze ?

public Umiejetnosci_Handler(id, menu, item)
{
    
    if(!is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE;
        
    new kasa = cs_get_user_money(id);
    
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    
    switch(item)
    {
        case 0:
        {
            if(kasa >= 14000)
            {
                     ma_odpornosc[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles odpornosc na HE");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
        case 1:
        {
            if(kasa >= 14000)
            {
                     ma_skoki[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles moc Nieskonczona amunicja");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
        case 2:
        {
            if(kasa >= 14000)
            {
                     ma_skoki[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles dodatkowe skoki");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
    }
    return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

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

Napisano 07.12.2013 18:27

                     ma_skoki[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles moc Nieskonczona amunicja");

Tu chyba jest coś nie tak ;&


  • +
  • -
  • 1

#9 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 07.12.2013 21:26

W sklepie działa tylko grawitacja i jest ona na jedną rundę ;)

Co w kodzie jest nie tak ?

#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <ColorChat>
#include <cstrike>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Krupek"

#define DMG_HEGRENADE (1<<24)
#define DMG_BULLET (1<<1)

new bool:ma_odpornosc[33];
new bool:ma_skoki[33];
new bool:ma_bezlik[33];
new bool:ma_hp[33];

new bool:ma_klase[33];
new skoki[33];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /cos", "cmd_menu");
    
    RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
        
    register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
    
    register_event("CurWeapon","CurWeapon","be", "1=1");
    register_event("DeathMsg", "DeathMsg", "ade");
}

public client_disconnect(id)
{
    ma_odpornosc[id]=false    
    ma_skoki[id]=false
    ma_bezlik[id]=false
    ma_hp[id]=false
}

public cmd_menu(id)
{
    if(is_user_alive(id))
    {
        Umiejetnosci(id);
    }
    else
    {
        ColorChat(id, GREEN, "[COD:MW3]^x01 Aby uzywac /sklepu musisz byc zywy!");
    }
    return PLUGIN_HANDLED;
}


stock Umiejetnosci(id)
{
    new tytul[25];
    format(tytul, 24, "\rUmka");
    new menu = menu_create(tytul, "Umiejetnosci_Handler");
    menu_additem(menu, "HP za zabicie \d[ +10 ] \yKoszt: \r7 Zlota")
    menu_additem(menu, "Odpornosc na HE \yKoszt: \r9 Zlota")
    menu_additem(menu, "Nieskonczona amunicja \yKoszt: \r21 Zlota")
    menu_additem(menu, "Wysokie skoki \d[ Skill Ninjy] \yKoszt: \r11 Zlota")
    menu_display(id, menu);
    
}

public Umiejetnosci_Handler(id, menu, item)
{
    
    if(!is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE;
        
    new kasa = cs_get_user_money(id);
    
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    
    switch(item)
    {
        case 0:
        {
            if(kasa >= 14000)
            {
                     ma_hp[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles HP za zabicie");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
        case 1:
        {
            if(kasa >= 14000)
            {
                     ma_odpornosc[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles odpornosc na HE");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
        case 2:
        {
            if(kasa >= 14000)
            {
                     ma_bezlik[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles moc Nieskonczona amunicja");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
             }
        case 3:
        {
            if(kasa >= 8000)
            {
                cs_set_user_money(id, kasa-8000);
                set_user_gravity(id, 0.4);
                ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles wysokie skoki!");
            }
            if(kasa < 8000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo hajsu!");
        }
        case 4:
        {
            if(kasa >= 14000)
            {
                     ma_skoki[id]=true
                     ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles dodatkowe skoki");
                 }
            if(kasa < 14000)
                ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
        }
    }
    return PLUGIN_CONTINUE;
}



public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(this))
        return HAM_IGNORED;
    
    if(!ma_klase[this])
        return HAM_IGNORED;
    
    if(!ma_odpornosc[this])
        return HAM_IGNORED;
        
    if(!ma_klase[idattacker])
        return HAM_IGNORED;
        
    if(!ma_hp[idattacker])
        return HAM_IGNORED;
    
    if(damagebits & DMG_HEGRENADE)
        return HAM_SUPERCEDE;
    
    return HAM_IGNORED;
}

public fwCmdStart_MultiJump(id, uc_handle)
{
    if(!is_user_alive(id) || !ma_klase[id] || !ma_skoki[id])
        return FMRES_IGNORED;
        
    new flags = pev(id, pev_flags);

    if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
    {
        skoki[id]--;
        new Float:velocity[3];
        pev(id, pev_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        set_pev(id, pev_velocity,velocity);
    }
    else if(flags & FL_ONGROUND)
        skoki[id] = 2;

    return FMRES_IGNORED;
}

public CurWeapon(id)
{
    if(!is_user_connected(id))
        return;
    
    if(!ma_klase[id])
        return;
    
    if(!ma_bezlik[id])
        return;
    
    set_user_clip(id, 2);
}
    

stock set_user_clip(id, ammo)
{
    new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
    get_weaponname(weapon, weaponname, 31);
    while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
        if (pev(weaponid, pev_owner) == id) {
        set_pdata_int(weaponid, 51, ammo, 4);
        return weaponid;
    }
    return 0;
}

public DeathMsg()
{
    new killer = read_data(1);
    new victim = read_data(2);
    
    if(!is_user_connected(killer))
        return PLUGIN_CONTINUE;
    
    if(ma_klase[victim] && !ma_klase[killer])
        cod_set_user_xp(killer, cod_get_user_xp(killer)+10);
    
    if(ma_klase[killer])
    {
        new cur_health = pev(killer, pev_health);
        new Float:max_health = 100.0+cod_get_user_health(killer);
        new Float:new_health = cur_health+30.0<max_health? cur_health+30.0: max_health;
        set_pev(killer, pev_health, new_health);
    }
    return PLUGIN_CONTINUE;
}




  • +
  • -
  • 0

#10 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 07.12.2013 22:03

Nie mogłem edytować.

Dodaje plik .sma w załączniku nowy.

Załączone pliki


  • +
  • -
  • 0

#11 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

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

Napisano 08.12.2013 21:15

Spoiler


Usunąłem wszystkie ma_klase, gdyż one psuły działalność kodów oraz poprawiłem trochę public TakeDamage.

Co do grawitacji, podpatrz sobie na innych kodach, jak powinno się dawać grawitkę na kilka rund.


  • +
  • -
  • 1

#12 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 09.12.2013 21:02

Mógłbyś teraz sprawdzić plugin ? Ponieważ prawie wszystko skończyłem tylko został mi do zrobienia teleport oraz odporność na fb.

Oraz szukałem jak zrobić aby grawitacja była na więcej rund ale nie znalazłem.

Z góry dzięki ;)

Załączone pliki


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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