←  Prośby o Klasę/Perk

AMXX.pl: Support AMX Mod X i SourceMod

»

Klasa
Prosba o zrobienie Klasy Postaniec

  • +
  • -
HuLiG4n - zdjęcie 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

 

 

 

Odpowiedz

  • +
  • -
Arab - zdjęcie Arab 26.06.2014

Sprawdź

Załączone pliki

Odpowiedz

  • +
  • -
HuLiG4n - zdjęcie HuLiG4n 03.07.2014

eror jest :(

Odpowiedz

  • +
  • -
trilex - zdjęcie trilex 03.07.2014

Spoiler

Odpowiedz

  • +
  • -
Alelluja - zdjęcie 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;
}

Odpowiedz

  • +
  • -
pro100wHS - zdjęcie 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ż.

Odpowiedz

  • +
  • -
Alelluja - zdjęcie Alelluja 04.07.2014

aha sory :D

 

#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

Odpowiedz