←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Przeliczanie obrażeń na fragi

  • +
  • -
lexar - zdjęcie lexar 02.07.2014

Witam

Szukam pluginu, który przeliczałby zadane obrażenia na fragi. Np: 100 obrażeń = 1 frag

 

Pozdrawiam

Odpowiedz

  • +
  • -
szelbi - zdjęcie szelbi 02.07.2014

Plugin ma dodawać graczowi fragi za zadane obrażenia czy jak? Opisz dokładniej.

Odpowiedz

  • +
  • -
lexar - zdjęcie lexar 02.07.2014

Tak, dokładnie oto mi chodzi. Np: Zadajemy 100 obrażeń i w tedy nalicza nam jednego fraga, zadamy 200 obr. to mamy drugiego fraga itd. Temat się rozjaśnił? :)

Odpowiedz

  • +
  • -
Drago36 - zdjęcie Drago36 04.07.2014

Hmm.. chyba to podziała na takiej zasadzie, gdy zadasz 100 obrażeń to da ci fraga, a nie wlicza aż do 100 obrażeń i wtedy dodatkowy frag.

Zbadaj:

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

public plugin_init() {
	register_plugin("100dmg=1frag", "1.0", "athr")
	RegisterHam(Ham_TakeDamage, "player", "Fragi", 1)
}

public Fragi(id, idinflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_connected(attacker))
		return HAM_IGNORED
	
	if(get_user_team(id) != get_user_team(attacker))
	{
		while(damage>99)
		{
			damage -= 99
			set_user_frags(attacker, get_user_frags(attacker) + 1)
		}
	}
	return HAM_IGNORED
}
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 04.07.2014

Hmm.. chyba to podziała na takiej zasadzie, gdy zadasz 100 obrażeń to da ci fraga, a nie wlicza aż do 100 obrażeń i wtedy dodatkowy frag.
Zbadaj:

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

public plugin_init() {
	register_plugin("100dmg=1frag", "1.0", "athr")
	RegisterHam(Ham_TakeDamage, "player", "Fragi", 1)
}

public Fragi(id, idinflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_connected(attacker))
		return HAM_IGNORED
	
	if(get_user_team(id) != get_user_team(attacker))
	{
		while(damage>99)
		{
			damage -= 99
			set_user_frags(attacker, get_user_frags(attacker) + 1)
		}
	}
	return HAM_IGNORED
}

A czemu -99? Jak już to -100, bo za każde 100 dmg ma dodać fraga, ale i tak taki plugin mało komu dodawałby tego fraga, bo tylko hs (i to nie każdy) lub strzał z awp dałby tego fraga.
Odpowiedz

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

 

Hmm.. chyba to podziała na takiej zasadzie, gdy zadasz 100 obrażeń to da ci fraga, a nie wlicza aż do 100 obrażeń i wtedy dodatkowy frag.

Zbadaj:

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

public plugin_init() {
	register_plugin("100dmg=1frag", "1.0", "athr")
	RegisterHam(Ham_TakeDamage, "player", "Fragi", 1)
}

public Fragi(id, idinflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_connected(attacker))
		return HAM_IGNORED
	
	if(get_user_team(id) != get_user_team(attacker))
	{
		while(damage>99)
		{
			damage -= 99
			set_user_frags(attacker, get_user_frags(attacker) + 1)
		}
	}
	return HAM_IGNORED
}

Jeszcze tak jak Kolega chciał, trzeba sprawdzać, który "frag ma wejść", że tak określę, czyli

 

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

new which_time[33];
public plugin_init() {
    register_plugin("100dmg=1frag", "1.0", "athr")
    RegisterHam(Ham_TakeDamage, "player", "Fragi", 1)
}

public client_connect(id)
    which_time[id] = 1;
public Fragi(id, idinflictor, attacker, Float:damage, damagebits)
{
    if(!is_user_connected(attacker))
        return HAM_IGNORED
    
    if(get_user_team(id) != get_user_team(attacker))
    {
        while(damage>=100*which_time[attacker])
        {
            damage -= 100*which_time[attacker]
            which_time[attacker]++
            set_user_frags(attacker, get_user_frags(attacker) + 1)
        }
    }
    return HAM_IGNORED
}
Odpowiedz

  • +
  • -
Drago36 - zdjęcie Drago36 04.07.2014

Czyli dobrze myślałem. : /

Odpowiedz