Prosba o zrobienie Klasy Postaniec
HuLiG4n
26.06.2014
Witam czy ktos byl by taki mily iZrobil mi 1 klase Z gory Dziekuje
Klasa:Postawniec
Kodycha: 60
hp:20
int:0
wytrzymalosc:0
opis:Posiada Uzi z niego 10dmg+ int (5inta=2dmg)
bronie:Mac10 ,Dgl ,He,Fb
Alelluja
04.07.2014
Proszę działa
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new const nazwa[] = "Postawniec";
new const opis[] = "Posiada Uzi z niego 10dmg+ int (5inta=2dmg)";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_MAC10)|(1<<CSW_FLASHBANG)|(1<<CSW_DEAGLE);
new const zdrowie = 20;
new const kondycja = 60;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool:ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "Alelluja");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_MAC10 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 2.0, 0.5, idinflictor, damagebits);
return HAM_IGNORED;
}
pro100wHS
04.07.2014
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_MAC10 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 2.0, 0.5, idinflictor, damagebits);
Kolego, małe błędy tu zrobiłeś. Budowa cod_inflict_damage to:
cod_inflict_damage(gracz atakujący, gracz atakowany, wartość dodatkowych obrażeń, współczynnik inteligencji, byt uszkadzający, flagi).
Tak więc wedle tego twoja klasa mam dodatkowe 2DMG zagwarantowanych z góry oraz dodatkowe 0,5DMG za każdy punkt w inteligencje. Autor tematu natomiast chce dodatkowe 10DMG zagwarantowanych z góry oraz dodatkowe 0,4DMG(po przeliczeniu) za 1 punkt inteligencji. Dobrze zrobiona klasa jest przez Trilex. Jednak w jego wersji martwi mnie, czy nie wywoła jakiś błędów zdefiniowanie DMG_BULLET a potem dodanie odpowiedniej biblioteki. Nigdy nie pisałem tak klas to nie wiem, czy będzie to miało wpływ czy nie. W razie czego można to raz dwa zamienić przecież.
Alelluja
04.07.2014
aha sory
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new const nazwa[] = "Postawniec";
new const opis[] = "Posiada Uzi z niego 10dmg+ int (5inta=2dmg)";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_MAC10)|(1<<CSW_FLASHBANG)|(1<<CSW_DEAGLE);
new const zdrowie = 20;
new const kondycja = 60;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool:ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "Alelluja");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_MAC10 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 10.0, 0.4, idinflictor, damagebits);
return HAM_IGNORED;
}
Tutaj działa all on źle daj biblioteki