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

Extra Item Armor tylko raz w rundzie


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

#1 Wiciu1987

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 15:23

Witam. Jak w temacie, czy mógłby mi ktoś przerobić ten plugin tak aby można było go kupić tylko raz w rundzie ??!

Załączone pliki


  • +
  • -
  • 0

#2 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 16:37

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

new buy[33];

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor

public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
	
}
public Nowa_Runda()
{
	for(new i =1;i<33;i++)
	{
		if(is_user_connected(i))
		{
			buy[i] = 1 // Tu ustawiasz ile razy mozna uzyc komendy na runde
			
		}
	}
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
	if(buy[player] > 0) 
	{
		buy[player]--
		if (itemid == g_itemid_humanarmor)
		{
			set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
			engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
		}
	}
	client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
}

Sprawdź


  • +
  • -
  • 0

#3 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 16:41

Nie można w ogóle kupić Armoru. 


  • +
  • -
  • 0

#4 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 16:47

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

new uzyl[33]

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor

public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	
	RegisterHam(Ham_Spawn, "player", "respawn", 1)
	
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
	
}
public respawn(id) 
{
	if(is_user_alive(id))
	{
		uzyl[id] = false
	}
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
	if(uzyl[player])
	{
		client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
	}
	else 
	
	uzyl[player]=true
	if (itemid == g_itemid_humanarmor)
	{
		set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
		engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}

}

to może tak


  • +
  • -
  • 0

#5 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 16:52

Nie działa :/ cały czas można kupować! A ja chce że by można było kupić armor tylko raz w rundzie oczywiście 


  • +
  • -
  • 0

#6 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 16:56

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

new uzyl[33]

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor

public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
	
}
public Nowa_Runda(id) 
{
	uzyl[id] = false
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
	if(uzyl[player])
	{
		client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
	}
	else 
	
	uzyl[player]=true
	if (itemid == g_itemid_humanarmor)
	{
		set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
		engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}

}


  • +
  • -
  • 0

#7 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 17:03

Nadal można cały czas kupować Armor. 


  • +
  • -
  • 0

#8 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 17:12

Nadal można cały czas kupować Armor. 

 

Tak jeszcze możesz sprawdzić

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

new uzyl[33]

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor

public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
	
}
public Nowa_Runda(id) 
{
	uzyl[id] = 1;
}
public zp_extra_item_selected(player, itemid)
{
	if (itemid == g_itemid_humanarmor)
	{
		if(uzyl[player] > 0)
		{
			uzyl[player]--
			set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
			engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
		}
		else
		client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
	
	}

}


  • +
  • -
  • 0

#9 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 17:14

if(uzyl[player])
	{
		client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
	}
	else 
	
	uzyl[player]=true

co to za język ?

if(uzyl[player])
	{
		client_print(player, print_center, "Mozesz tyko raz na runde uzyc tej komendy");
                return PLUGIN_HANDLED
	}
	
	uzyl[player]=true

i jeżeli przypisujesz danej zmiennej tylko true lub false to rób ją typu bool

new Bool:uzyl[33]

  • +
  • -
  • 0

#10 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 17:16

I znów nie można w ogóle kupić :/ Może ktoś inny spróbuje ??


  • +
  • -
  • 0

#11 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 17:16

ubiegłeś mnie jak pisałem poprzedniego posta...

if(uzyl[player])
		{
			uzyl[player]=true	

wtf?
w przypisujesz wartość true zmiennej, która ma już tą wartość

 

 

Dodatkowo wywołujesz event nowej rundy gdzie id=0 (podane w warunku rejestrujacym event) po czym chcesz złapać id w funkcji Oo

 

 

anyway, try this, mf

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor
new Bool:uzyl[33]
public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
}
public Nowa_Runda()
{
	for(new a=1;a<33;a++)
	{
		uzyl[a]=false;
	}
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
	if ((itemid == g_itemid_humanarmor)&&!uzyl[player])
	{
		uzyl[player]=true
		set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
		engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
}


Użytkownik grankee edytował ten post 15.11.2014 17:22

  • +
  • -
  • 1

#12 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 17:28

Skompilowało dobrze ale takie błędy wyskoczyły po kompilacji 

 

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
 
zp_extra_human_armor.sma(51) : warning 213: tag mismatch
zp_extra_human_armor.sma(59 -- 60) : warning 213: tag mismatch
Header size:            380 bytes
Code size:              904 bytes
Data size:              592 bytes
Stack/heap size:      16384 bytes; estimated max. usage=41 cells (164 bytes)
Total requirements:   18260 bytes
 
2 Warnings.
Done.

  • +
  • -
  • 0

#13 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 17:33

Powinno być dobrze, sprawdź czy działa.


Użytkownik grankee edytował ten post 15.11.2014 17:36

  • +
  • -
  • 0

#14 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 17:37

new Bool:uzyl[33]

zamień na 

new uzyl[33]

W działaniu to samo, a błąd zniknie. Nie wiem do końca czemu się pojawił.


  • +
  • -
  • 0

#15 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 15.11.2014 17:43

Pięknie działa :) Ale jeszcze mały drobiazg jeśli można. Dodaj jeszcze informację o tym że tylko raz można użyć Kupić w rundzie Armor 


  • +
  • -
  • 0

#16 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 22:07

/*================================================================================
	
	-------------------------------------------------
	-*- [ZP] Extra Item: Anti-Infection Armor 1.0 -*-
	-------------------------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	This item gives humans some armor that offers protection
	against zombie injuries.
	
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

/*================================================================================
 [Plugin Customization]
=================================================================================*/

new const g_item_name[] = { "Anti-Infection Armor" }
const g_item_cost = 25

new const g_sound_buyarmor[] = { "items/tr_kevlar.wav" }
const g_armor_amount = 100
const g_armor_limit = 999

/*============================================================================*/

// Item IDs
new g_itemid_humanarmor
new uzyl[33]
public plugin_precache()
{
	precache_sound(g_sound_buyarmor)
}

public plugin_init()
{
	register_plugin("[ZP] Extra: Anti-Infection Armor", "1.0", "MeRcyLeZZ")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	g_itemid_humanarmor = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
}
public Nowa_Runda()
{
	for(new a=1;a<33;a++)
	{
		uzyl[a]=false;
	}
}
// Human buys our upgrade, give him some armor
public zp_extra_item_selected(player, itemid)
{
	if(uzyl[id])
	{
		client_print(id,print_chat,"Możesz użyć blablabla")
		return 0
	}
	if (itemid == g_itemid_humanarmor)
	{
		uzyl[player]=true
		set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))
		engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
}

zmien sobie wiadomosc, w kodzie tą linijkę

client_print(id,print_chat,"Możesz użyć blablabla")

wpisz to co sobie chcesz


  • +
  • -
  • 1

#17 Wiciu1987

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:272
  • Imię:Witek
  • Lokalizacja:Sieradz
Offline

Napisano 16.11.2014 14:15

Super dziekuje :)Pomoc udzielona + LECI! ;)

 I oczywiście temat do zamknięcia 


Użytkownik Wiciu1987 edytował ten post 16.11.2014 14:16

  • +
  • -
  • 0

#18 Donauu

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:1
  • Lokalizacja:Wawa
Offline

Napisano 18.11.2014 11:26

Super skrypt, dzięki :)


  • +
  • -
  • 0




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

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