←  Prośby o Klasę/Perk

AMXX.pl: Support AMX Mod X i SourceMod

»

[Nowy Cod] Klasa Hidden poprawiona

  • +
  • -
ivvanek - zdjęcie ivvanek 15.04.2012

Prosiłbym o zmienienie w tej klasie tylko tego aby zabijal z noza prawym kliknieciem myszki jednym strzalem. Robilem wedlug buildera klas jednak cos nie poprawnie to chyba zostalo wykonane.

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>

new const nazwa[] = "Hidden(Premium)";
new const opis[] = "Niewidocznosc podczas kucania na nozu. Zabijasz z noza jednym machnieciem.";
new const bronie = (1<<CSW_FIVESEVEN)|(1<<CSW_AK47);
new const zdrowie = 45;
new const kondycja = 25;
new const inteligencja = 0;
new const wytrzymalosc = 10;

new ostatnio_prawym[33];

new ma_klase[33];

public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);


RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");

}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
{
client_print(id, print_chat, "[Hidden(Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ma_klase[id] = true;

return COD_CONTINUE;
}

public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 140);
ma_klase[id] = false;

}


//Przy kucaniu
public fwPrethink_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;

new button = get_user_button(id);
if( button & IN_DUCK && get_user_weapon(id) == CSW_KNIFE)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 140);
}
}

public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}

public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 1;
}

public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}

Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 16.04.2012

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
new const nazwa[] = "Hidden(Premium)";
new const opis[] = "Niewidocznosc podczas kucania na nozu. Zabijasz z noza jednym machnieciem.";
new const bronie = (1<<CSW_FIVESEVEN)|(1<<CSW_AK47);
new const zdrowie = 45;
new const kondycja = 25;
new const inteligencja = 0;
new const wytrzymalosc = 10;
new ostatnio_prawym[33];
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);

RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
{
client_print(id, print_chat, "[Hidden(Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 140);
ma_klase[id] = false;
}

//Przy kucaniu
public fwPrethink_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;
new button = get_user_button(id);
if( button & IN_DUCK && get_user_weapon(id) == CSW_KNIFE)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 140);
}
}



Sprawdz ^^
Odpowiedz

Trikolo - zdjęcie Trikolo 16.04.2012

:facepalm2:
Zaraz ci zrobię
Odpowiedz

  • +
  • -
Człowiek Magi - zdjęcie Człowiek Magi 16.04.2012

coś chyba jest źle napisane bo nie będzie natychmiast zabijać z noża xD
Użytkownik Człowiek Magi edytował ten post 16.04.2012 17:02
Odpowiedz

Trikolo - zdjęcie Trikolo 16.04.2012


#include <amxmodx>

#include <amxmisc>

#include <codmod>

#include <engine>

#include <hamsandwich>

#include <cstrike>

#include <fakemeta>

	   

new const nazwa[]   = "Hidden(Premium)";

new const opis[]    = "Niewidocznosc podczas kucania na nozu. Zabijasz z noza jednym machnieciem.";

new const bronie    = (1<<CSW_FIVESEVEN)|(1<<CSW_AK47);

new const zdrowie   = 45;

new const kondycja  = 25;

new const inteligencja = 0;

new const wytrzymalosc = 10;

   

new ostatnio_prawym[33];

new ma_klase[33];

public plugin_init()

{

register_plugin(nazwa, "1.0", "amxx.pl");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");

RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");

RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");

}

public cod_class_enabled(id)

{

if(!(get_user_flags(id) & ADMIN_LEVEL_F))

{

  client_print(id, print_chat, "[Hidden] Nie masz uprawnien, aby uzywac tej klasy.")

  return COD_STOP;

}

set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);

ma_klase[id] = true;

  

return COD_CONTINUE;

}

public cod_class_disabled(id)

{

set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

	 ma_klase[id] = false;

}

public fwTakeDamage_JedenCios(id, ent, attacker)

{

if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && ostatnio_prawym[id])

{

  cs_set_user_armor(id, 0, CS_ARMOR_NONE);

  SetHamParamFloat(4, float(get_user_health(id) + 1));

  return HAM_HANDLED;

}

return HAM_IGNORED;

}

public fwPrimaryAttack_JedenCios(ent)

{

new id = pev(ent, pev_owner);

ostatnio_prawym[id] = 1;

}

public fwSecondaryAttack_JedenCios(ent)

{

new id = pev(ent, pev_owner);

ostatnio_prawym[id] = 0;

}

Odpowiedz

  • +
  • -
Człowiek Magi - zdjęcie Człowiek Magi 16.04.2012

W generatorze klas jest źle zrobione.

Na samym początku dodajesz:
#include <hamsandwich>


Później w public_init dodajesz:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");


A na samym końcu dodajesz takie coś:
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_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(get_user_button(idattacker) & IN_ATTACK))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}


Tak powinno być xD
Użytkownik Człowiek Magi edytował ten post 16.04.2012 17:10
Odpowiedz

Trikolo - zdjęcie Trikolo 16.04.2012

W generatorze klas jest źle zrobione.

Na samym początku dodajesz:

#include <hamsandwich>


Później w public_init dodajesz:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");


A na samym końcu dodajesz takie coś:
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_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(get_user_button(idattacker) & IN_ATTACK))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}


Tak powinno być xD

Omg. Taki kod powoduje , że z noża masz na lewy przycisk myszki
Odpowiedz

  • +
  • -
ivvanek - zdjęcie ivvanek 16.04.2012

@Trikolo
Nie da sie przekompilowac, probowalem takze na localu. Jakis blad wyskakuje...
Odpowiedz

  • +
  • -
Człowiek Magi - zdjęcie Człowiek Magi 16.04.2012

W generatorze klas jest źle zrobione.


Na samym początku dodajesz:

#include <hamsandwich>
Później w public_init dodajesz:

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
A na samym końcu dodajesz takie coś:

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_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(get_user_button(idattacker) & IN_ATTACK))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}
Tak powinno być xD


Omg. Taki kod powoduje , że z noża masz na lewy przycisk myszki


A mi działa na prawym przycisku xD
Użytkownik Człowiek Magi edytował ten post 16.04.2012 19:05
Odpowiedz

  • +
  • -
ivvanek - zdjęcie ivvanek 16.04.2012

No to fajnie ze wam dziala :) mi nie ma nawet jak dzialac bo nie moge przekompilowac :P
Odpowiedz

Trikolo - zdjęcie Trikolo 16.04.2012

W generatorze klas jest źle zrobione.


Na samym początku dodajesz:

#include <hamsandwich>
Później w public_init dodajesz:

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
A na samym końcu dodajesz takie coś:

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_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(get_user_button(idattacker) & IN_ATTACK))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}
Tak powinno być xD


Omg. Taki kod powoduje , że z noża masz na lewy przycisk myszki


A mi działa na prawym przycisku xD

Na prawym i na lemym :facepalm2:
Odpowiedz

  • +
  • -
ivvanek - zdjęcie ivvanek 16.04.2012

@Trikolo
Czy moglbys wrzucic jeszcze raz ten skrypt jakos bym mogl go przekompilowac? bo niestety sie nie da tamten ;/
Odpowiedz

  • +
  • -
ivvanek - zdjęcie ivvanek 17.04.2012

odświeżam :)
Mozesz Trikolo poprawic skrypt abym go mogl skompilowac?
Odpowiedz

  • +
  • -
Engi - zdjęcie Engi 17.04.2012

odświeżam :)
Mozesz Trikolo poprawic skrypt abym go mogl skompilowac?


Masz ten od Trikolo poprawiony


Spoiler


Co do pierwszego posta "Człowiek Magi" to :facepalm:

Może to pomoże wam na przyszłość (nie wiem jak będzie u was działać ale u mnie działa) z oryginalnej klasy Komandos:

do include
#include <hamsandwich>


i pod tym
#define DMG_BULLET (1<<1)


do plugin init
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");


i na koniec public
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_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 1.0)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}


To jest na 1/1 z PPM u komandosa i jak już pisałem u mnie działa a u was nie musi (ale powinno :P)
Użytkownik playaz44 edytował ten post 17.04.2012 14:54
Odpowiedz

  • +
  • -
ivvanek - zdjęcie ivvanek 21.04.2012

Powroce do tematu, a to dlatego ze skrypt jest zle zrobiony. Nie zabija 1/1 PPM z noza niestety. Potrafilby ktos to zrobic?
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 21.04.2012

Sprawdz ^^ Mi działa

Załączone pliki


Użytkownik ChadaWGW2 edytował ten post 21.04.2012 21:13
Odpowiedz