[Klasa] Złodziej
Klakier
04.01.2012
Przerobiłem klasę Złodziej z CoD'a nowego na starego. Umiejętnością tej klasy jest to, że może ona kraść itemy wrogom. Przerobiłem ja ze względu na to, że wiele osób szuka tej klasy do cod'a Starego.
Zaczynajmy:
Tworzymy nowa klasę, czyli dodajemy
do
to:
Do:
dodajemy:
Następnie do:
dodajemy:
Potem do public odrodzenie dodajemy:
Następnie pod public Damage(id) kopiujemy to:
Potem do public Death() dodajemy przed SprawdzPoziom(attacker);
to:
Mam nadzieję, że się przyda
Zaczynajmy:
Tworzymy nowa klasę, czyli dodajemy
do
enum { NONE = 0
to:
Zlodziej
Do:
new const nazwy_klas[][]
dodajemy:
"Zlodziej"
Następnie do:
new const opisy_klas[][]
dodajemy:
"Dostaje GALIL'a. Moze ukrasc przedmiot ofiarze"
Potem do public odrodzenie dodajemy:
case Zlodziej:
{
give_item(id, "weapon_galil");
}
Następnie pod public Damage(id) kopiujemy to:
public Zapytaj(id)
{
new tytul[55];
format(tytul, 54, "Czy chcesz ukrasc : %s ?", nazwy_przedmiotow[perk_ofiary[id]]);
new menu = menu_create(tytul, "Zapytaj_Handle");
menu_additem(menu, "Tak");
menu_setprop(menu, MPROP_EXITNAME, "Nie");
menu_display(id, menu);
}
public Zapytaj_Handle(id, menu, item)
{
if(item)
return;
if(informacje_przedmiotu_gracza[ofiara[id]][0] != perk_ofiary[id])
return;
new nick_zlodzieja[33];
get_user_name(id, nick_zlodzieja, 32);
ColorChat(ofiara[id], RED, "[COD:MW]^x01 Twoj item zostal skradziony przez^x03 %s^x01.", nick_zlodzieja);
UsunPrzedmiot(ofiara[id]);
DajPrzedmiot(id, perk_ofiary[id]);
}
Potem do public Death() dodajemy przed SprawdzPoziom(attacker);
to:
if(klasa_gracza[attacker] == Zlodziej)
{
if(random(2))
return HAM_IGNORED;
if(!informacje_przedmiotu_gracza[attacker][0])
return HAM_IGNORED;
if(!(perk_ofiary[attacker] = informacje_przedmiotu_gracza[id][0]))
return HAM_IGNORED;
ofiara[attacker] = id;
Zapytaj(attacker);
}
Mam nadzieję, że się przyda
Petrus1610
30.01.2012
Hej, a czy móglby ktoś to przerobić na klasę premium z flagą T (admin_level_h) ?
Kendzior87
30.01.2012
Error: Undefined symbol "perk_ofiary" on line 1630
Warning: Expression has no effect on line 1630
Error: Expected token: ";", but found "]" on line 1630
Error: Invalid expression, assumed zero on line 1630
Error: Too many error messages on one line on line 1630
Compilation aborted.
to jest linia 1630 u mnie:
Użytkownik Kendzior87 edytował ten post 30.01.2012 19:05
Warning: Expression has no effect on line 1630
Error: Expected token: ";", but found "]" on line 1630
Error: Invalid expression, assumed zero on line 1630
Error: Too many error messages on one line on line 1630
Compilation aborted.
to jest linia 1630 u mnie:
format(tytul, 54, "Czy chcesz ukrasc : %s ?", nazwy_przedmiotow[perk_ofiary[id]]);
Użytkownik Kendzior87 edytował ten post 30.01.2012 19:05
Klakier
01.02.2012
Hej, a czy móglby ktoś to przerobić na klasę premium z flagą T (admin_level_h) ?
przed
if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[COD:MW] Twoja klasa zostanie zmieniona w nastepnej rundzie ");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
dodaj:
if(item == Zlodziej && !(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[COD:MW] Nie masz Vipa! Wejdz na www.xxxxxx.pl i zakup go teraz!");
WybierzKlase(id);
return PLUGIN_CONTINUE
}
@up
kendzior daj cały public
Użytkownik Klakier edytował ten post 01.02.2012 21:10
Kendzior87
02.02.2012
public Damage(id)
{
new attacker = get_user_attacker(id);
new damage = read_data(2);
new hp = get_user_health(attacker);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !klasa_gracza[attacker])
return PLUGIN_CONTINUE;
if(informacje_przedmiotu_gracza[attacker][0] == 29 && random(3) == 1) // random(3) == 1) znaczy 1/3 szans, mozemy dowolnie zmienic.
draw_crosshair(id);
if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
if(klasa_gracza[attacker] == Specjalista && random(5) == 1)
Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
if(get_user_team(id) != get_user_team(attacker) && informacje_przedmiotu_gracza[attacker][0] == 42 && random_num(1, informacje_przedmiotu_gracza[attacker][1]) == 1)
{
if(hp>=maksymalne_zdrowie_gracza[attacker])
{
return PLUGIN_CONTINUE;
}
else
{
hp+=floatround(1.0*damage/(informacje_przedmiotu_gracza[attacker][1]), floatround_floor);
set_user_health(attacker, min(hp, maksymalne_zdrowie_gracza[attacker]));
}
}
if(get_user_team(id) != get_user_team(attacker))
{
while(damage>20)
{
damage-=20;
doswiadczenie_gracza[attacker]++;
}
}
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker] == Marynarz)
{
if(hp>=maksymalne_zdrowie_gracza[attacker])
{
return PLUGIN_CONTINUE;
}
else
{
hp+=floatround(1.0*damage/2, floatround_floor);
set_user_health(attacker, min(hp, maksymalne_zdrowie_gracza[attacker]));
}
}
if(get_user_team(id) != get_user_team(attacker))
{
while(damage>20)
{
damage-=20;
doswiadczenie_gracza[attacker]++;
}
}
if(informacje_przedmiotu_gracza[attacker][0] == 51 && random_num(1, informacje_przedmiotu_gracza[attacker][1]) == 1)
{
if(task_exists(id+2936))
remove_task(id+2936);
palenie_gracza[id] = 40;
set_task(0.5, "burning_flame", id+2936, _, _, "b");
}
if(informacje_przedmiotu_gracza[attacker][0] == 55 && random_num(1, 6) == 1)
{
new clip, ammo
get_user_weapon(id, clip, ammo);
if(ammo > 0)
{
set_user_clip(attacker, ammo+1);
}
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}
Klakier
02.02.2012
Coś źle dodajesz. U mnie wszystko śmiga Chyba, że podasz twoje całe sma ja naprawię.
Klakier
02.02.2012
Sorki, zapomniałem, że trzeba dodać w zmiennych itemów:
new ofiara[33], perk_ofiary[33];
Lost
11.02.2012
Rozumiem, że wcześniej miał 1/2 szansy?
Dodałem wcześniej:
i działało.
Dodałem wcześniej:
if(!informacje_przedmiotu_gracza[attacker][0] && random_num(1,5) == 1) return HAM_IGNORED;
i działało.
Equilibrium
15.02.2012
Komuś to działa? Bo zcompilowało mi się dobrze, klasa jest, ale itemu za zabicie nie dostaje na tej klasie. Złodziejstwo itema też nie działa
Klakier
15.02.2012
Złodziej ma kilka szans na ukradnięcie. On nie kradnie od razu po zabiciu. Zależy.