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.
|
Item czy mozna cos takego zrobic
#1
Napisano 04.06.2011 17:02
Oraz item który będzie miał 1/x na zabicie danej klasy czyli ze np: ustawiamy taki item 1/1 aby zabijał paladyna
Czyli we wszystkich uderzamy normalnie a jeśli uderzymy paladyna od razu umiera
#2
Napisano 04.06.2011 18:05
w tym 2 da sie
if(klasa_gracza...)jakos tak
Użytkownik grs4 edytował ten post 04.06.2011 18:06
#3
Napisano 04.06.2011 18:53
Użytkownik sebul edytował ten post 04.06.2011 18:53
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#4
Napisano 04.06.2011 19:57
#5
Napisano 04.06.2011 20:05
if(player_lvl[id]-player_lvl[attacker] > 40)
attacker - id atakującego (posiadającego item)
id - id ofiary
Użytkownik sebul edytował ten post 04.06.2011 20:05
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#6
Napisano 04.06.2011 20:20
#7
Napisano 04.06.2011 20:38
if (zmiena_damage[attacker_id] > 0) { if(player_lvl[id]-player_lvl[attacker_id] > 40) { if (get_user_health(id) > zmiena_damage[attacker_id]) { set_user_health(id,get_user_health(id) - zmiena_damage[attacker_id]) if (random_num(1,2) == 1) Effect_Bleed(id,248) } } }
#8
Napisano 04.06.2011 23:25
#include <hamsandwich> // Nie wiem czy jest w standardzie DB
plugin_init:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_connected(idattacker) && get_user_team(idattacker) != get_user_team(this))
{
if(zmienna_itemu[idattacker] > 0 && player_lvl[this] >= player_lvl[idattacker] + 40)
{
new Float:dmg = float(zmienna_itemu[idattacker]);
SetHamParamFloat(4, damage + dmg);
return HAM_HANDLED;
}
}
return HAM_IGNORED;
}
Spróbuj tak. Stwórz zmienna zmienna_itemu[33] i ona ustala ile dmg więcej ma mieć gdy będzie się posiadało item.
Użytkownik GoldeN edytował ten post 04.06.2011 23:26
#9
Napisano 04.06.2011 23:26
public add_bonus_antypaldamage(attacker_id,id,weapon) { if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M4A1) { if (!is_user_alive(id)) return PLUGIN_HANDLED if (random_num(1,player_b_antypal[attacker_id]) == 1) UTIL_Kill(attacker_id,id,"m4a1") } return PLUGIN_HANDLED } /* ==================================================================================================== */
i co podłożyć w tej linijce za m4a1 aby działało na każdej broni ?
jak zrobię tak będzie działać z każdej broni bo skompilowało
public add_bonus_antypaldamage(attacker_id,id,weapon) { if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id)) { if (!is_user_alive(id)) return PLUGIN_HANDLED if (random_num(1,player_b_antypal[attacker_id]) == 1) UTIL_Kill(attacker_id,id,"weapon") } return PLUGIN_HANDLED }
Użytkownik Divic edytował ten post 04.06.2011 23:43
#10
Napisano 04.06.2011 23:42
Jak dla mnie, dla jednej rzeczy nie opłaca się tego dodawać, ale też może być.Spróbuj tak. Stwórz zmienna zmienna_itemu[33] i ona ustala ile dmg więcej ma mieć gdy będzie się posiadało item.
i co podłożyć w tej linijce za m4a1 aby działało na każdej broni ?
if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[id] == Paladyn)
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#11
Napisano 04.06.2011 23:43
#include <hamsandwich> // Nie wiem czy jest w standardzie DB
plugin_init:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_connected(idattacker) && get_user_team(idattacker) != get_user_team(this))
{
if(zmienna_itemu[idattacker] > 0 && player_lvl[this] >= player_lvl[idattacker] + 40)
{
new Float:dmg = float(zmienna_itemu[idattacker]);
SetHamParamFloat(4, damage + dmg);
return HAM_HANDLED;
}
}
return HAM_IGNORED;
}
Spróbuj tak. Stwórz zmienna zmienna_itemu[33] i ona ustala ile dmg więcej ma mieć gdy będzie się posiadało item.
bez sensu
public add_bonus_antypaldamage(attacker_id,id,weapon)
{
if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_M4A1)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1,player_b_antypal[attacker_id]) == 1)
UTIL_Kill(attacker_id,id,"m4a1")
}
return PLUGIN_HANDLED
}
/* ==================================================================================================== */
i co podłożyć w tej linijce za m4a1 aby działało na każdej broni ?
o co ci chodzi? Chcesz żeby działało nie tylko na m4, to usuń "&& weapon == CSW_M4A1"
#12
Napisano 04.06.2011 23:50
UTIL_Kill(attacker_id,id,"m4a1")
zamiast m4a1 dam "weapon" będzie dobrze?
Użytkownik Divic edytował ten post 04.06.2011 23:50
#13
Napisano 05.06.2011 00:09
Nie, daj "world", a jak chcesz, aby była broń, którą akurat ten paladyn obrywa, to musisz dodać takie cośo ta linijke mi chodzi
UTIL_Kill(attacker_id,id,"m4a1")
zamiast m4a1 dam "weapon" będzie dobrze?
new weaponname[32];
get_weaponname(weapon, weaponname, 31);
replace(weaponname, 31, "weapon_", "");
i potem
UTIL_Kill(attacker, id, weaponname);
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#14
Napisano 05.06.2011 00:55
/* ==================================================================================================== */ public add_bonus_antypaldamage(attacker_id,id,weapon) { if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[id] == Paladyn) { if (!is_user_alive(id)) return PLUGIN_HANDLED if (random_num(1,player_b_antypal[attacker_id]) == 1) new weaponname[32]; get_weaponname(weapon, weaponname, 31); replace(weaponname, 31, "weapon_", ""); UTIL_Kill(attacker, id, weaponname); } return PLUGIN_HANDLED }
tak ma to byc?
czy
/* ==================================================================================================== */ public add_bonus_antypaldamage(attacker_id,id,weapon) { if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[id] == Paladyn) { if (!is_user_alive(id)) return PLUGIN_HANDLED if (random_num(1,player_b_antypal[attacker_id]) == 1) { new weaponname[32]; get_weaponname(weapon, weaponname, 31); replace(weaponname, 31, "weapon_", ""); } UTIL_Kill(attacker, id, weaponname); } return PLUGIN_HANDLED }
Użytkownik Divic edytował ten post 05.06.2011 01:04
#15
Napisano 05.06.2011 10:08
To ma bycczyli ma byc
/* ==================================================================================================== */
public add_bonus_antypaldamage(attacker_id,id,weapon)
{
if (player_b_antypal[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[id] == Paladyn)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (random_num(1,player_b_antypal[attacker_id]) == 1)
new weaponname[32];
get_weaponname(weapon, weaponname, 31);
replace(weaponname, 31, "weapon_", "");
UTIL_Kill(attacker, id, weaponname);
}
return PLUGIN_HANDLED
}
#16
Napisano 05.06.2011 11:34
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#17
Napisano 05.06.2011 11:34
Użytkownik Divic edytował ten post 05.06.2011 11:47
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych