Dodawanie Fraga za zabicie członka drużyny.
nad3jf
08.05.2010
Jak każdy z Was wie Counter Strike 1.6 za zabicie członka drużyny odbiera dwa fragi. Jednak w niektórych modyfikacjach przydaję się aby dość, że nie zabierało to dodatkowo dodawało fraga.
Użytkownik nad3jf edytował ten post 08.05.2010 17:40
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "Fragi za Team Killer"
#define VERSION "1.0"
#define AUTHOR "Nad3jf"
new zabojca
new ofiara
new team_ofiary
new team_zabojcy
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "DeathMsg", "a") // Rejestrujemy Event Smierci Gracza
}
public DeathMsg()
{
zabojca = read_data(1) // Pobieramy id zabojce
ofiara = read_data(2) // Pobieramy id ofiary
set_task(0.1,"statystyki",zabojca,_,0,"a") // Robimy zadanie, ktore wysle id zabojcy do funkcji statystyki
set_task(0.1,"statystyki",ofiara,_,0,"a") // Robimy Zadanie, ktore wysle id ofiary do funkcji statystyki.
}
public statystyki()
{
team_ofiary = get_user_team(ofiara) // Pobieramy team ofiary
team_zabojcy = get_user_team(zabojca) // Pobieramy team zabojcy
if(team_zabojcy == team_ofiary) // Jezeli sa z jednego teamu to:
{
new fragi = get_user_frags(zabojca) // Pobiera obecna liczbe fragow
set_user_frags(zabojca,fragi + 2) // Ustawia liczbe fragow na poprawna wartosc po zabiciu
}
}
Użytkownik nad3jf edytował ten post 08.05.2010 17:40
sbstn
08.05.2010
Po co to komu...
Czary mary, hokus pokus, bum bum 38linijkek vs. 18 !! Oszczędzasz pamięć i miejsce.
Czary mary, hokus pokus, bum bum 38linijkek vs. 18 !! Oszczędzasz pamięć i miejsce.
#include <amxmodx>
#include <fun>
public plugin_init()
{
register_event("DeathMsg", "Death", "a")
}
public Death()
{
new killer=read_data(1)
new victim=read_data(2)
if(get_user_team(killer)==get_user_team(victim))
{
set_user_frags(killer,get_user_frags(killer)+2)
}
}
nad3jf
08.05.2010
A no w sumie nie przemyślałem. Optymalizacja to niestety nie moja dobra strona.
G[o]Q
08.05.2010
set_task(0.1,"statystyki",zabojca,_,0,"a") // Robimy zadanie, ktore wysle id zabojcy do funkcji statystyki set_task(0.1,"statystyki",ofiara,_,0,"a")
hmm po co wywolujesz taska z takimi parametrami skoro funkcja zadnych nie ma mogles np dac w jednym tasku id 333 a w drugim 444
nie sprawdzalem jak jest z tym eventem ale jesli jest on wywolywany gdy sami zginiemy to co wtedy
nie przypisuj danych z eventow do globalnych zmiennych jesli chcesz ich uzyc w innej funkcji bo po to sa wlasnie w funkcjach parametry i troche trudniejsza rzecz a mianowicie referencja
aha no i oczywiscie set_user_frags nie zmienia danych w tablicy musicie wyslac do silnika "wiadomosc" - message zeby to zmienic bo tak to efekt nie bedzie widoczny
Vertricus
09.05.2010
Można użyć hamsandwicha i na moment przed śmiercią zmienić team ofiary po czym zaraz zmienić go na poprzedni
I to nawet da fraga nie będą to mniejsze obrażenia (do teamu są mniejsze) i dostaniemy hajs
I to nawet da fraga nie będą to mniejsze obrażenia (do teamu są mniejsze) i dostaniemy hajs
QTM. Peyote
10.05.2010
Tutaj według pomysłu Verticus'a:
Można dodać tylko w Ham_Killed, ale wtedy obrażenia będą zmniejszone.
Użytkownik QTM_Peyote edytował ten post 10.05.2010 13:13
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Bij Wszystkich"
#define VERSION "0.1"
#define AUTHOR "QTM_Peyote"
new bool: zmienione[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamage")
RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamagePost", 1)
}
public PlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
new victim_team = get_user_team(this)
if(victim_team == get_user_team(idattacker))
{
switch(victim_team)
{
case 1: cs_set_user_team(this, 2)
case 2: cs_set_user_team(this, 1)
}
zmienione[this] = true
}
}
public PlayerTakeDamagePost(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(zmienione[this])
{
switch(get_user_team(this))
{
case 1: cs_set_user_team(this, 2)
case 2: cs_set_user_team(this, 1)
}
zmienione[this] = false
}
}
public client_connect(id)
zmienione[id] = false
Można dodać tylko w Ham_Killed, ale wtedy obrażenia będą zmniejszone.
Użytkownik QTM_Peyote edytował ten post 10.05.2010 13:13