←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Zrobienie dwóch klas

UszaTeK - zdjęcie UszaTeK 27.10.2011

Komandor (Premium) (s) - Posiada M3/XM1014(1/5) + Deagle (1/8) + he (1/6), Kosa(1/2)(PPM+LPM), 120HP bazowe, widocznosc na nozu 180/255, 20 dodatkowej szybkosci, , 1 dodatkowy skok
Upaleniec (Premium) (t) - Posiada AWP (1/1) + Deagle (1/10) + he (1/8), Kosa(1/1)(PPM+LMP), 150HP bazowe, widocznosc 150/255, 3 dodatkowe skoki, 40 dodatkowej szybkosci i wytrzymalosci
Odpowiedz

  • +
  • -
NewaX - zdjęcie NewaX 27.10.2011

Wiekszosc z tego mozesz zrobic na generatorze klas ktory jest a tej stronie w zakladce dodatki AMXX
Odpowiedz

UszaTeK - zdjęcie UszaTeK 27.10.2011

Newax, robiąc Generatorem np wale 1/1 z awp to mam także 1/1 z Deagla. I nie wszystkie rzeczy da sie zrobić w generatorze.
Odpowiedz

  • +
  • -
Kaleka - zdjęcie Kaleka 28.10.2011

Komandor:
Spoiler


Upaleniec:
Spoiler


Nie testowane.

Załączone pliki


Użytkownik Zielony Smerf edytował ten post 28.10.2011 10:52
Odpowiedz

UszaTeK - zdjęcie UszaTeK 28.10.2011

Plusik, lece testować.

To wyżej nie działa ;/
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 28.10.2011

Upalaniec, także nie testowany, ale chyba wiem w czym był błąd wyżej
Spoiler

Użytkownik d0n tHe Pr0oo edytował ten post 28.10.2011 18:10
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 28.10.2011

Spoiler

Użytkownik Fili:P edytował ten post 29.10.2011 09:40
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 28.10.2011

Co to ma być ?

public CurWeapon(id)
{
if(!ma_klase[id])
return;

if(get_user_weapon(id) != CSW_KNIFE)
{
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
return;
}
if(get_user_weapon(id) == CSW_KNIFE)
{
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 180);
}
}


Kolega nie chce aby widoczność była zmniejszona na kosie, a jak na kosie to tak jak juz :
public CurWeapon(id)
{
if(!ma_klase[id])
return;

if(get_user_weapon(id) != CSW_KNIFE)
{
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 180);
else
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);

return;
}
}
Odpowiedz

UszaTeK - zdjęcie UszaTeK 28.10.2011

Ide sprawdzić :)
Don to jak z tą kosą w tamtej klasie?
Użytkownik UszaTeK edytował ten post 28.10.2011 18:26
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 28.10.2011

Ups nie doczytałem xD Zara dam zmniejszoną widocznosc na kosie :D


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

#define DMG_BULLET (1<<1)

new bool:ma_klase[33];
new skoki[33];

new const nazwa[] = "Upaleniec (Premium)";
new const opis[] = "Posiada M3/XM1014(1/5), Deagle (1/8), he (1/6), Kosa(1/2)(PPM+LPM), 120HP bazowe, widocznosc na nozu 180/255, 1 dodatkowy skok";
new const bronie = 1<<CSW_M3 | 1<<CSW_XM1014| 1<<CSW_DEAGLE | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 40;
new const inteligencja = 0;
new const wytrzymalosc = 0;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote")

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

register_event("ResetHUD", "ResetHUD", "abe");

register_forward(FM_CmdStart, "CmdStart");

register_event("CurWeapon", "CurWeapon", "be", "1=1");

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

}


public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H)) // flaga t w user.ini
{
client_print(id, print_chat, "[COD:MW] Upaleniec jest klasa premium, nie masz uprawnien by jej uzywac.")
return COD_STOP;
}
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 150);
ma_klase[id] = true;

return COD_CONTINUE;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 150);
}
public CmdStart(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id]) //jeśli tworzymy perk, wstawiamy ma_perk zamiast ma_klase
return FMRES_IGNORED;

new flags = pev(id, pev_flags);

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 1; //tutaj podajemy ilość skokow w powietrzu, jaką może wykonać klasa

return FMRES_IGNORED;
}
public CurWeapon(id)
{
if(!ma_klase[id])
return;

if(get_user_weapon(id) != CSW_KNIFE)
{
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 180);
else
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);

}
return;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_M3 && random_num(1,5) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_XM1014 && random_num(1,5) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_DEAGLE && random_num(1,8) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_HEGRENADE && random_num(1,6) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_KNIFE && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}

Odpowiedz

  • +
  • -
Kaleka - zdjęcie Kaleka 28.10.2011

Upalaniec, także nie testowany, ale chyba wiem w czym był błąd wyżej


Na czym polegał błąd? Uświadom mnie :crazy:
Odpowiedz

UszaTeK - zdjęcie UszaTeK 28.10.2011

d0n nie moge skompilować tego kodu, w nazwie klasy blad zrobiłem miał być Kamandor

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
codclass_komandor.sma(86) : error 029: invalid expression, assumed zero
codclass_komandor.sma(90) : warning 217: loose indentation
codclass_komandor.sma(107) : warning 217: loose indentation
codclass_komandor.sma(110) : warning 217: loose indentation
1 Error.
Could not locate output file codclass_komandor.amxx (compile failed).
Odpowiedz

  • +
  • -
Kaleka - zdjęcie Kaleka 28.10.2011

Łap
Spoiler


Nie testowane. :&
Użytkownik Zielony Smerf edytował ten post 28.10.2011 22:07
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 29.10.2011

To się skopilowało więc raczej zadziała :)

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

#define DMG_BULLET (1<<1)

new bool:ma_klase[33];
new skoki[33];

new const nazwa[] = "Upaleniec (Premium)";
new const opis[] = "Posiada M3/XM1014(1/5), Deagle (1/8), he (1/6), Kosa(1/2)(PPM+LPM), 120HP bazowe, widocznosc na nozu 180/255, 1 dodatkowy skok";
new const bronie = 1<<CSW_M3 | 1<<CSW_XM1014| 1<<CSW_DEAGLE | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 40;
new const inteligencja = 0;
new const wytrzymalosc = 0;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote")

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

register_event("ResetHUD", "ResetHUD", "abe");

register_forward(FM_CmdStart, "CmdStart");

register_event("CurWeapon", "CurWeapon", "be", "1=1");

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

}


public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H)) // flaga t w user.ini
{
client_print(id, print_chat, "[COD:MW] Upaleniec jest klasa premium, nie masz uprawnien by jej uzywac.")
return COD_STOP;
}
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 150);
ma_klase[id] = true;

return COD_CONTINUE;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 150);
}
public CmdStart(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id]) //jeśli tworzymy perk, wstawiamy ma_perk zamiast ma_klase
return FMRES_IGNORED;

new flags = pev(id, pev_flags);

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 1; //tutaj podajemy ilość skokow w powietrzu, jaką może wykonać klasa

return FMRES_IGNORED;
}
public CurWeapon(id)
{
if(!ma_klase[id])
return;

if( read_data(2) == CSW_KNIFE )
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 80);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_M3 && random_num(1,5) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_XM1014 && random_num(1,5) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_DEAGLE && random_num(1,8) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_HEGRENADE && random_num(1,6) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_KNIFE && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}
Odpowiedz

UszaTeK - zdjęcie UszaTeK 29.10.2011

Nie wiem co jest ale nie działa mi ani Komandor ani Upaleniec.
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 29.10.2011

moduły odblokowałeś ?
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 29.10.2011

don the pro, zamiast używać porównania używaj koniunkcji bitowej, jeżeli chodzi o get_user_weapon czy get_user_flags
Odpowiedz

UszaTeK - zdjęcie UszaTeK 01.11.2011

Tak moduły odblokowane i nie dzialaja 1/x

Refresh ;/ Pomoże ktoś?

Pomoże ktoś?
Odpowiedz