←  Itemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zombie Plague 4.3
Extra Item - Kup HP

  • +
  • -
Szyfrant's Photo Szyfrant 14.05.2010

[ZP] Extra Item - Kup HP



Posted Image
Za 5 AP możemy sobie kupić Hp. Ilość Hp ustawiana za pomocą Cvaru

Posted Image

zp_buyhp_amount "1000" - Ilość HP, którą dostaniemy przy kupnie (Domyślnie 1000)


Posted Image
Standardowa
Instalacja Pluginów AMXX - Nieoficjalny polski support AMX Mod X


#include <amxmodx>
#include <fun>
#include <zombieplague>

// Oryginalna wersja: T[h]E Dis[as]teR
// Spolszczenie oraz poprawki: Zryty

new item_name[10]
new g_itemid_buyhp
new hpamount, hpcost
new bool:kupil_hp[33]

public plugin_init()
{
    	register_plugin("[ZP] Kupno HP", "1.0", "Zryty")

    	hpamount = register_cvar("zp_buyhp_amount", "1000") // Ilosc HP
    	hpcost = register_cvar("zp_buyhp_cost", "5") // Koszt AP
    	hpcost = register_cvar("zp_buyhp_once", "1") // Ile razy mozemy kupic HP: 0 - bez limitu / 1 - raz

    	formatex(item_name, 39, "%d HP",get_pcvar_num(hpamount))
    	g_itemid_buyhp = zp_register_extra_item(item_name, get_pcvar_num(hpcost), ZP_TEAM_ZOMBIE)
}

public zp_extra_item_selected(id, itemid)
{       
    	if(itemid == g_itemid_buyhp)
    	{     
            	if(kupil_hp[id])
            	{
                    	client_print(id, print_chat, "[ZP] Kupiles juz HP!")
                    	zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(hpcost))
            	}
            	else
            	{
                    	kupil_hp[id] = true
                    	set_user_health(id, get_user_health(id) + get_pcvar_num(hpamount))

                    	//Nie widzę potrzeby informowania o zakupie, ale nie usuwam, wystarczy odkomentować
                    	//client_print(id, print_chat,"[ZP] Kupiles dodatkowe HP!");
            	}
    	}
}

public zp_user_infected_pre(id, infector)
    	kupil_hp[id] = false
Quote

Diablo Mod's Photo Diablo Mod 20.07.2011

a te hp można zrobić oddzielną ilość dla zombi i ludzi ?
Quote

  • +
  • -
Szyfrant's Photo Szyfrant 22.07.2011

Pewnie .

Otwierasz .sma

g_itemid_buyhp = zp_register_extra_item(item_name, 5, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)

zmieniasz na

g_itemid_buyhp = zp_register_extra_item(item_name, 5, ZP_TEAM_HUMAN)


lub

g_itemid_buyhp = zp_register_extra_item(item_name, 5, ZP_TEAM_ZOMBIE)


Kompilujesz i gotowe
Quote

Diablo Mod's Photo Diablo Mod 30.07.2011

leci + xD
Quote

  • +
  • -
zryty's Photo zryty 28.08.2011

Plugin pobierał 10 AP zamiast 5, dodałem zabezpieczenie przed ciągłym kupowaniem, bo czasem trzeba...
#include <amxmodx>
#include <fun>
#include <zombieplague>

// Oryginalna wersja: T[h]E Dis[as]teR
// Spolszczenie oraz poprawki: Zryty

new item_name[40]
new g_itemid_buyhp
new hpamount, get_pcvar_num(hpcost)
new bool:kupil_hp[33];

public plugin_init() 
{
	register_plugin("[ZP] Kupno HP", "1.0", "Zryty")
	hpamount = register_cvar("zp_buyhp_amount", "1000") // ile dajemy AP
	hpcost = register_cvar("zp_buyhp_cost", "5") // koszt AP
	hpcost = register_cvar("zp_buyhp_once", "1") // 0 - jeśli można kupować wiele razy po zarażeniu
	formatex(item_name, 39, "%d HP",get_pcvar_num(hpamount));
	g_itemid_buyhp = zp_register_extra_item(item_name, get_pcvar_num(hpcost), ZP_TEAM_ZOMBIE)
}

public zp_extra_item_selected(id,itemid)
{
	if(!is_user_alive(id))
	
	return PLUGIN_HANDLED;
	
	if(itemid==g_itemid_buyhp)
	{	
		if(kupil_hp[id]){
			client_print(id, print_chat,"[ZP] Kupiles juz HP!");
		}
		else if(zp_get_user_ammo_packs(id) < get_pcvar_num(hpcost))
		{
			client_print(id, print_chat,"[ZP] Brak wystarczajacej ilosci AP!");
			return PLUGIN_HANDLED;
		}
		else
		{
			kupil_hp[id]=true;
			set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount));
			zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(hpcost));

			//Nie widzę potrzeby informowania o zakupie, ale nie usuwam, wystarczy odkomentować
			//client_print(id, print_chat,"[ZP] Kupiles dodatkowe HP!");
		}
	}
	return ZP_PLUGIN_HANDLED;
}

public zp_user_infect_attempt(id, infector, nemesis){
	kupil_hp[id]=false;
	return PLUGIN_CONTINUE;
}
Quote

  • +
  • -
Draba's Photo Draba 28.08.2011

Dużo błędów.

Poprawiony kod:

#include <amxmodx>
#include <fun>
#include <zombieplague>
 
// Oryginalna wersja: T[h]E Dis[as]teR
// Spolszczenie oraz poprawki: Zryty
 
new item_name[10]
new g_itemid_buyhp
new hpamount, hpcost
new bool:kupil_hp[33]
 
public plugin_init()
{
    	register_plugin("[ZP] Kupno HP", "1.0", "Zryty")
 
    	hpamount = register_cvar("zp_buyhp_amount", "1000") // Ilosc HP
    	hpcost = register_cvar("zp_buyhp_cost", "5") // Koszt AP
    	hpcost = register_cvar("zp_buyhp_once", "1") // Ile razy mozemy kupic HP: 0 - bez limitu / 1 - raz
 
    	formatex(item_name, 39, "%d HP",get_pcvar_num(hpamount))
    	g_itemid_buyhp = zp_register_extra_item(item_name, get_pcvar_num(hpcost), ZP_TEAM_ZOMBIE)
}
 
public zp_extra_item_selected(id, itemid)
{        
    	if(itemid == g_itemid_buyhp)
    	{      
            	if(kupil_hp[id])
          	{
                	client_print(id, print_chat, "[ZP] Kupiles juz HP!")
        		zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(hpcost))
          	}
              	else
            	{
                    	kupil_hp[id] = true
                    	set_user_health(id, get_user_health(id) + get_pcvar_num(hpamount))
 
                    	//Nie widzę potrzeby informowania o zakupie, ale nie usuwam, wystarczy odkomentować
                    	//client_print(id, print_chat,"[ZP] Kupiles dodatkowe HP!");
            	}
    	}
}
 
public zp_user_infected_pre(id, infector)
    	kupil_hp[id] = false

Edited by Draba, 28.08.2011 23:50.
Quote