←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
Plugin dodatkowe_hp

  • +
  • -
Lan. - zdjęcie Lan. 17.12.2014

Cześć, uczę się dopiero pisać pluginy, także proszę powiedzieć czy plugin jest napisany dobrze :D.Jeszcze pyt. jak dodać np. że można to używać co 4 rundy.

 

 

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <colorchat>

#define PLUGIN "Dodatkowe_hp"
#define VERSION "1.0"
#define AUTHOR "LanBICePS"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /dhp", "Dodatkowe hp")
}

set_user_health(id, 135);
ColorChat(id, BLUE, "Masz dodatkowe 35hp, wykorzystaj to!"
}

else

ColorChat(id, BLUE, "Pojebalo cie? Nie masz uprawnien"
Odpowiedz

  • +
  • -
Burn1995 - zdjęcie Burn1995 17.12.2014

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <colorchat>

#define PLUGIN "Dodatkowe_hp"
#define VERSION "1.0"
#define AUTHOR "LanBICePS"


public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /dhp", "Dodatkowehp")
}

public Dodatkowehp(id)
{
	if(is_user_alive(id))
	{
		set_user_health(id, get_user_health(id) + 35);
		ColorChat(id, BLUE, "Masz dodatkowe 35hp, wykorzystaj to!");
	}
}

Proszę poprawione powinno działać

 

A żeby zrobić, że można używać dodatkowego hp co 4 rundy musisz zrobić naliczanie rund w nowej zmiennej oraz dodać do tej funkcji odpowiedni warunek.


Użytkownik Burn1995 edytował ten post 17.12.2014 21:17
Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 17.12.2014

#include <amxmodx>
#include <fun>
#include <colorchat>

#define PLUGIN "Dodatkowe_hp"
#define VERSION "1.0"
#define AUTHOR "LanBICePS"

new Runda[33] = 0, bool:wykorzystal[33]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /dhp", "Dodatkowe_hp")
    register_event("HLTV", "NowaRunda", "a", "1=0", "2=0")
}

public client_connect(id){
    wykorzystal[id] = false
}

public Dodatkowe_hp(id){
    if(get_user_flags(id) && ADMIN_IMMUNITY){
        if(!wykorzystal[id] && is_user_alive(id)){
            ColorChat(id, GREEN, "Uleczyles sie o 35 HP")
            set_user_health(id, get_user_health(id)+35) // Ustawiamy graczowi ilość hp, potem pobieramy aktualny stan hp, po czym dodajemy określoną ilość
            wykorzystal[id] = true;
        } else {
            if(Runda[id] >= 4){
                wykorzystal[id] = false;
                Runda[id] = 0;
                Dodatkowe_hp(id)
                return PLUGIN_CONTINUE;
            }
            ColorChat(id, RED, "Leczyc sie mozesz co 4 rundy grana grana jest %d ..", Runda[id]);
        }
    } else {
        ColorChat(id, RED, "Gosciu nie masz uprawnien, aby moc korzystac z tej komendy");
    }
    return PLUGIN_CONTINUE
}

public NowaRunda(){
    for(new id = 0; id <= get_maxplayers(); id++){
        Runda[id]++
    }
}

Teraz możesz się uleczyć o 35 co 4 rundy

Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 17.12.2014

Ajjj pętle for zmień na

for(new id = 1; id <= get_maxplayers(); id++){

Odpowiedz

  • +
  • -
Wielkie Jol - zdjęcie Wielkie Jol 17.12.2014

#include <amxmodx>
#include <fun>
#include <colorchat>

#define PLUGIN "Dodatkowe_hp"
#define VERSION "1.0"
#define AUTHOR "LanBICePS"

new Runda[33] = 0, bool:wykorzystal[33]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /dhp", "Dodatkowe_hp")
    register_event("HLTV", "NowaRunda", "a", "1=0", "2=0")
}

public client_connect(id){
    wykorzystal[id] = false
}

public Dodatkowe_hp(id){
    if(get_user_flags(id) && ADMIN_IMMUNITY){
        if(!wykorzystal[id] && is_user_alive(id)){
            ColorChat(id, GREEN, "Uleczyles sie o 35 HP")
            set_user_health(id, get_user_health(id)+35) // Ustawiamy graczowi ilość hp, potem pobieramy aktualny stan hp, po czym dodajemy określoną ilość
            wykorzystal[id] = true;
        } else {
            if(Runda[id] >= 4){
                wykorzystal[id] = false;
                Runda[id] = 0;
                Dodatkowe_hp(id)
                return PLUGIN_CONTINUE;
            }
            ColorChat(id, RED, "Leczyc sie mozesz co 4 rundy grana grana jest %d ..", Runda[id]);
        }
    } else {
        ColorChat(id, RED, "Gosciu nie masz uprawnien, aby moc korzystac z tej komendy");
    }
    return PLUGIN_CONTINUE
}

public NowaRunda(){
    for(new id = 0; id <= get_maxplayers(); id++){
        Runda[id]++
    }
}

Teraz możesz się uleczyć o 35 co 4 rundy

 

Zamiast bawienia się w resetowanie zmiennej można też sprawdzić, czy reszta z dzielenia przy dzieleniu liczby rund przez 4 jest równa zero. Ale to tak na marginesie :P

Odpowiedz