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 ??!
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.
|
Extra Item Armor tylko raz w rundzie
#1
Napisano 15.11.2014 15:23
#2
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ź
#3
Napisano 15.11.2014 16:41
Nie można w ogóle kupić Armoru.
#4
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
#5
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
#6
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)
}
}
#7
Napisano 15.11.2014 17:03
Nadal można cały czas kupować Armor.
#8
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");
}
}
#9
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]
#10
Napisano 15.11.2014 17:16
I znów nie można w ogóle kupić
Może ktoś inny spróbuje ??
#11
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
#12
Napisano 15.11.2014 17:28
Skompilowało dobrze ale takie błędy wyskoczyły po kompilacji
#13
Napisano 15.11.2014 17:33
Powinno być dobrze, sprawdź czy działa.
Użytkownik grankee edytował ten post 15.11.2014 17:36
#14
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ł.
#15
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
#16
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
#17
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
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod




zp_extra_human_armor.amxx









