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
BaseBuilder

Problem z armorem na bb

BaseBuilder

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

#1 zenon

    Pomocny

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland >Radomsko
Offline

Napisano 15.09.2011 20:30

Witam. Ogólnie to bardzo męczę na forum o tego bb ale chce go ciągle ulepszyć.

Więc tak. Chciałem dodać na serwer plugin który dawał by do sklepu możliwość kupna armoru ale gdy gracz kupi armor to nie działa i zombie zabiera tylko hp a ja chce by pierw zabierało armor. Da się to zrobić ?

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <ammopacks.inc>
#include <fun>


#define PLUGIN "Armor"
#define VERSION "1.0"
#define AUTHOR "zenon"

new item
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)


item=dodaj_extra_item("Armor",5,2)

}
public wybrano_item(id,item_id){

if(item_id==item){
set_user_armor(id,500)
}

}


Użytkownik zenon edytował ten post 15.09.2011 20:31

  • +
  • -
  • 0

#2 Hiroshima

    Godlike

  • Przyjaciel

Reputacja: 1 327
Godlike

  • Postów:4 984
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Málaga
Offline

Napisano 15.09.2011 20:31

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod XProblemy z pluginami
do
ModyInne modyProblemy


  • +
  • -
  • 0

#3 GeDox

    Wszechpomocny

  • Użytkownik

Reputacja: 125
Zaawansowany

  • Postów:315
  • Steam:steam
  • Imię:Przemysław
  • Lokalizacja:Kielce
Offline

Napisano 15.09.2011 20:38

Musisz kombinować w pluginie głównym :)
  • +
  • -
  • 0

#4 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 15.09.2011 20:52

A jeśli nie wiem jak to zrobić ?
  • +
  • -
  • 0

#5 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 16.09.2011 18:24

Zamiast twojego set_user_armor() wstaw te 2 linijki
give_item(id, "item_assaultsuit");
cs_set_user_armor(id, 500, CS_ARMOR_VESTHELM);
Da to graczowi 500 kamizelki z hełmem.
  • +
  • -
  • 1

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#6 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 16.09.2011 18:29

Zrobiłem to tak i wyskakują mi błędy przy kompilacji :(

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <ammopacks.inc> // dolaczamy inc z natywem i forwardem
#include <fun>


#define PLUGIN "Armor"
#define VERSION "1.0"
#define AUTHOR "zenon"

new item
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)


item=dodaj_extra_item("Armor",5,2) //rejestrujemy nowy item - nazwa - koszt -team(1 - Zombie,2 -

Human,0 - All

}
public wybrano_item(id,item_id){// co ma sie stac po kupieniu itemy

if(item_id==item){// sprawdzamy czy gracz kupil item zarejestrowany wczesniej
give_item(id, "item_assaultsuit");
cs_set_user_armor(id, 250, CS_ARMOR_VESTHELM);
}

}



Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

armor.sma(25) : error 017: undefined symbol "cs_set_user_armor"
armor.sma(25) : error 088: number of arguments does not match definition

2 Errors.
Could not locate output file armor.amxx (compile failed).


  • +
  • -
  • 0

#7 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 16.09.2011 18:39

Na górze dodaj jeszcze #include <cstrike>
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#8 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 16.09.2011 19:18

Udało się skompilować, ale sprawdzę później :)

Działa tylko da się zrobić tak by pierw zabierało armor potem jak skończy się armor zabierało hp ?
  • +
  • -
  • 0

#9 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 16.09.2011 19:22

Nie rozumiem o co teraz chodzi.
  • +
  • -
  • 1

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#10 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 16.09.2011 19:34

Hmm no tak. Jak masz kamizelkę i życie to mam np 100 Hp i 100 armoru. To da się zrobić by nie było tak po ataku 50 50 ? tylko 100 50 ? Ze pierw by zabierało z armoru ?

Mam nadzieje ze teraz rozumiesz :)
  • +
  • -
  • 0

#11 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 16.09.2011 19:36

Nie nie da się tego zrobić (przynajmniej ja o tym nie wiem), z tego co się orientuje to jest to chyba wbudowane w grę co zostaje odbierane przy ewentualnych obrażeniach.
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#12 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 16.09.2011 19:48

To nie dobrze, ale może ktoś inny wie ?
  • +
  • -
  • 0

#13 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 16.09.2011 23:44

Oczywiście (chyba), że jest taka opcja. Kiedyś coś takiego robiłem ale dane z pluginu mam gdzieś w koszu.

Łapiesz Hamem event damage i sprawdzasz czy gracz ma kamizelkę, jeżeli ma to od hp odejmujesz damage, jeżeli nie ma armoru to zostawiasz normalnie i na koniec return plugin_handled; oraz plugin dodajesz na sam koniec w plugins.ini

Powinno zadziałać, ale nie dam sobie ręki uciąć.
  • +
  • -
  • 2

#14 venom1324

    Życzliwy

  • Użytkownik

Reputacja: -7
Nowy

  • Postów:20
  • Imię:Czolikanus
  • Lokalizacja:Chiny
Offline

Napisano 17.09.2011 08:57

Tak jak muzzi napisał, jest możliwość z tego co myśle napisania takiego pluginu, tylko kto się podejmie napisania go ?
  • +
  • -
  • 1

#15 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 17.09.2011 08:58

Sprawdź to, pisane na szybko.


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <hamsandwich>

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


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public TakeDamage(this, idinflictor, idattacker,Float:damage, damagebits)
{
if(get_user_armor(this) >= 1)
{
new PlayerArmor = get_user_armor(this);
new PlayerDamage = floatround(damage);

if(get_user_armor(this) < floatround(damage))
{
PlayerDamage -= PlayerArmor
set_user_armor(this, PlayerArmor - PlayerDamage)
set_user_health(this, get_user_health(this) - PlayerDamage);
}
else
{
set_user_armor(this, PlayerArmor - PlayerDamage)
}
return HAM_SUPERCEDE;
}
else
{
return HAM_HANDLED;
}
return HAM_HANDLED;
}

  • +
  • -
  • 2

#16 zenon

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:74
  • Lokalizacja:Poland &gt;Radomsko
Offline

Napisano 18.09.2011 12:34

Dziękować plugin chodzi :)
  • +
  • -
  • 0





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

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

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