Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

brains..? - zdjęcie

brains..?

Rejestracja: 15.10.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 10.04.2014 20:52
-----

#424727 Dodanie Do Klasy Pare Dodatków.

Napisane przez brains..? w 26.06.2012 17:19

http://amxx.pl/kompi...class_Klasa.sma
  • +
  • -
  • 1


#345479 Jak dodac 20hp,oraz pełen magazynek za każde zabójstwo?

Napisane przez brains..? w 06.01.2012 14:31

#include <amxmisc>
#include <codmod>
#include <fun>
#include <fakemeta>
#include <engine>
#include <cstrike>

new bool:ma_klase[33];

new const nazwa[] = "Kapitan";
new const opis[] = "20hp,oraz pełen magazynek za każde zabójstwo.";
new const bronie = (1<<CSW_USP)|(1<<CSW_AWP)|(1<<CSW_FLASHBANG)|(1<<CSW_AK47);
new const zdrowie = 15;
new const kondycja = 10;
new const inteligencja = 14;
new const wytrzymalosc = 14;

public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("DeathMsg", "DeathMsg", "ade");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Kapitan] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
ma_klase[id]=true;
return PLUGIN_CONTINUE;

}

public cod_class_disable(id)
ma_klase[id]=false;



public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);

if(!is_user_connected(killer))
return PLUGIN_CONTINUE;

if(ma_klase[victim] && !ma_klase[killer])
cod_set_user_xp(killer, cod_get_user_xp(killer)+10);

if(ma_klase[killer])
{
new cur_health = pev(killer, pev_health);
new Float:max_health = 100.0+cod_get_user_health(killer);
new Float:new_health = cur_health+20.0<max_health? cur_health+20.0: max_health;
set_pev(killer, pev_health, new_health);



}


return PLUGIN_CONTINUE;
}
  • +
  • -
  • 1


#345330 Klasa Mnich - posiada Teleport

Napisane przez brains..? w 06.01.2012 10:49

#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
new const nazwa[] = "Mnich";
new const opis[] = "Posiada teleport (Mozna uzyc co 10s)";
new const bronie = 1<<CSW_AK47 | 1<<CSW_FLASHBANG;
new const zdrowie = 0;
new const kondycja = 17;
new const inteligencja = 0;
new const wytrzymalosc = 6;
new Odliczanie[33]
new bool:uzyl[33];

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");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Mnich] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
uzyl[id] = false;
return COD_CONTINUE;
}

public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
return PLUGIN_CONTINUE;
}
if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;
new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);
new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);
engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);
new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);
if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;
new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);
xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 12.0, "ResetHUD", id )
set_task ( 12.0, "start", id )
}
public ResetHUD(id)
{
uzyl[id] = false;
}
public start(id)
{

Odliczanie[id] = 10 // nasza zmienna + czas ile ma odliczać do zera w tym przypadku 30sekund

if(task_exists(id + 3431))
{
remove_task(id + 3431)
}
set_task(1.0, "Koniec", id + 3431, _, _, "b")

return PLUGIN_CONTINUE
}
public Koniec(task_id)
{
new id = task_id - 3431

set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
show_hudmessage(id, "Za %d mozesz sie teleportowac", Odliczanie[id])

Odliczanie[id] -= 1

if(Odliczanie[id] <= 0)
{
if(task_exists(task_id))
{
remove_task(task_id)
}
}
}


Wersja z odliczaniem po lewej stronie.

A ten error oznacza (chyba), ze powinna zwracac jakąs wartosc ale nie moze zwrocic poniewac jest wykonywana caly czas petla ktora nigdy sie nie skonczy. Nalezalo by wprowadzic ograniczenie, ze mozna uzyc np teleportu 3 razy na runde to wtedy bedzie sma wolne od errorow ale tego jak na razie to nie potrafie xD
  • +
  • -
  • 1


#345124 Klasa Mnich - posiada Teleport

Napisane przez brains..? w 05.01.2012 20:39

Lap sma ;D




#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
new const nazwa[] = "Mnich";
new const opis[] = "Posiada teleport (Mozna uzyc co 10s)";
new const bronie = 1<<CSW_AK47 | 1<<CSW_FLASHBANG;
new const zdrowie = 0;
new const kondycja = 17;
new const inteligencja = 0;
new const wytrzymalosc = 6;
new Odliczanie[33]
new bool:uzyl[33];

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");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Mnich] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
uzyl[id] = false;
return COD_CONTINUE;
}

public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 10s");
return PLUGIN_CONTINUE;
}
if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;
new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);
new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);
engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);
new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);
if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;
new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);
xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 12.0, "ResetHUD", id )
set_task ( 12.0, "start", id )
}
public ResetHUD(id)
{
uzyl[id] = false;
}
public start(id)
{

Odliczanie[id] = 10 // nasza zmienna + czas ile ma odliczać do zera w tym przypadku 30sekund

if(task_exists(id + 3431))
{
remove_task(id + 3431)
}
set_task(1.0, "Koniec", id + 3431, _, _, "b")

return PLUGIN_CONTINUE
}
public Koniec(task_id)
{
new id = task_id - 3431

set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
show_hudmessage(id, "Za %d mozesz sie teleportowac", Odliczanie[id])

Odliczanie[id] -= 1

if(Odliczanie[id] <= 0)
{
if(task_exists(task_id))
{
remove_task(task_id)
}
}
}


Jak cos nie bedzie dzialac to pisz
  • +
  • -
  • 1


#344834 Teleporter sypie logi

Napisane przez brains..? w 05.01.2012 14:24

Bląd po mojej stronie.


#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>

new const nazwa[] = "Teleporter";
new const opis[] = "Posiada teleport (mozna uzyc co 30s) oraz wszystkie granaty";
new const bronie = (1<<CSW_ELITE)|(1<<CSW_AK47)|(1<<CSW_HEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_SMOKEGRENADE);
new const zdrowie = 20;
new const kondycja = 15;
new const inteligencja = 0;
new const wytrzymalosc = 15;


new bool:uzyl[33];


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");
}

public cod_class_enabled(id)
{

uzyl[id] = false;
return COD_CONTINUE;
}



public cod_class_skill_used(id)
{

if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 30s");
return PLUGIN_CONTINUE;
}

if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;

new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);

new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 3000.0, dest);
xs_vec_add(start, dest, dest);

engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);

new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);

if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;

new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);

xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 30.0, "ResetHUD", id )
set_task ( 30.0, "InfoTel", id )
}

public ResetHUD(id)
{
uzyl[id] = false;
}

public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}

  • +
  • -
  • 1


#344650 Klasa Mnich - posiada Teleport

Napisane przez brains..? w 04.01.2012 19:05

Łap z odliczaniem ;)

Załączone pliki


  • +
  • -
  • 2


#344560 przerobienie klasy by mogła się teleportować co 30 sekund

Napisane przez brains..? w 04.01.2012 16:55

#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>

new const nazwa[] = "Naukowiec";
new const opis[] = "Wysoka inteligencja, posiada teleport";
new const bronie = 1<<CSW_ELITE ;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 130;
new const wytrzymalosc = 0;

new bool:uzyl[33];


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_event("InfoTel", "InfoTel", "abe");
}

public cod_class_enabled(id)
{
uzyl[id] = false;
return COD_CONTINUE;
}



public cod_class_skill_used(id)
{

if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 30s");
return PLUGIN_CONTINUE;
}

if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;

new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);

new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);

engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);

new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);

if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;

new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);

xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 30.0, "ResetHUD", id )
set_task ( 30.0, "InfoTel", id )
}

public ResetHUD(id)
{
uzyl[id] = false;
}

public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}

  • +
  • -
  • 1


#344431 Klasa Mnich - posiada Teleport

Napisane przez brains..? w 04.01.2012 14:08

Goliath Zapomnialem usunąć :)
=ToRRent= Gdy natrafisz przeszkode to zatrzymujesz się przed nią.
Tuptusiowy Dziala w pionie oraz poziomie.
sebul Klase testowalem, czasami mozna się zabkolokać na pochylniach
  • +
  • -
  • 1


#344271 Klasa Mnich - posiada Teleport

Napisane przez brains..? w 03.01.2012 20:41

Witam


Jest duzo pytan o klase z teleportem wiec tutaj ją zamieszczam.



#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>

new const nazwa[] = "Mnich";
new const opis[] = "Posiada teleport (Mozna uzyc co 10s)";
new const bronie = 1<<CSW_AK47 | 1<<CSW_FLASHBANG;
new const zdrowie = 0;
new const kondycja = 17;
new const inteligencja = 0;
new const wytrzymalosc = 6;


new bool:uzyl[33];


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");
}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Mnich] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}

uzyl[id] = false;
return COD_CONTINUE;
}



public cod_class_skill_used(id)
{

if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 10s");
return PLUGIN_CONTINUE;
}

if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;

new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);

new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);

engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);

new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);

if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;

new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);

xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 10.0, "ResetHUD", id )
set_task ( 10.0, "InfoTel", id )
}

public ResetHUD(id)
{
uzyl[id] = false;
}

public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}



Mini Tutorial :)

1. Aby zmienić czas pomiędzy użyciem Teleportu nalezy zmienic 10 na dowolną liczbe:

set_task ( 10.0, "ResetHUD", id )



2.Aby zmieić odległość teleportacji nalezy edytować 999 na dowolną liczbe:

xs_vec_mul_scalar(dest, 999.0, dest);





Przepraszam za błędy ortograficzen, J.Polski nie jest moją mocną stroną.

Załączone pliki


  • +
  • -
  • 10