←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Klasa z perkiem

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

Witam.

Mam malą proźbę czy moze mi ktos powiedziec jak sie robi klase z perkiem..?
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 08.10.2011

Nie ma czegoś takiego jak klasa z perkiem. Zapewne chodzi o wbudowanie mocy perku klasie. Skopiuj kod z perku do pluginu z klasą, zmień parę warunków i tyle.

@Down: A bardziej dokładnie się nie da napisać.
Użytkownik Goliath edytował ten post 08.10.2011 11:03
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

A bardziej dokladnie?
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 08.10.2011

Skopiuj kod z perku do pluginu z klasą, zmień parę warunków i tyle.


Ja to zawsze robiłem tak. Przede wszystkim rzeba zamieńic te linijki :
new const perk_name[] = "nazwa perku";
new const perk_desc[] = "opis perku";

na
new const nazwa[] = "Nazwa klasy";
new const opis[] = "opis.";
new const bronie = Bronie;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

następnie zamieniamy :
cod_register_perk(perk_name, perk_desc);

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



Potem zamieniamy:
public cod_perk_enabled(id)

na
public cod_class_enabled(id)


trzeba zmienic jeszcze:
public cod_perk_disabled(id)

na
public cod_class_disabled(id)



Potem jak znajdziesz jakieś
ma_perk

zamień na :
ma_klase



I to chyba wszystko, lecz przyda ci się ten poradnik :
http://amxx.pl/topic...c-prosta-klase/
@edit
A i skopiuj jeszcze wszystkie moduły i tym podobne
Użytkownik nex_ edytował ten post 08.10.2011 11:05
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

Zrobilem wszystko z twoim postem i mi wyskakuje :

Nie udało się skompilować twojego pluginu!
Przeczytaj poniższe błędy:
Odpowiedz

  • +
  • -
radim - zdjęcie radim 08.10.2011

Daj sma klasy i sma perk'a to Ci zrobię..
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

Ja bym wolal zeby mi ktos to wytlumaczyl..
Odpowiedz

Niby co ? :P - zdjęcie Niby co ? :P 08.10.2011

To ci wytłumaczyli wyżej zle cos robisz poprostu
Amxx-studio pobierz a nie notatnik
Odpowiedz

  • +
  • -
radim - zdjęcie radim 08.10.2011

Wytłumaczone zostało w 3-cim poście, nie nasza wina że nie ogarniasz. Chcesz mieć zrobione, daj sma.
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

proszę

Załączone pliki

Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 08.10.2011

/* Plugin generated by AMXX-Studio */

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

new const nazwa[] = "Teleport";
new const opis[] = "Uzyj, aby przeniesc sie w miejsce wskazane celownikiem";

new bool:uzyl[33];

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

cod_register_class(nazwa, opis, 0, 0, 0, 0, 0);

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

public cod_class_enabled(id)
uzyl[id] = false;

public cod_class_skill_used(id)
{
if(!is_user_alive(id) || uzyl[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, 9999.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;


return PLUGIN_CONTINUE;
}

public ResetHUD(id)
uzyl[id] = false;
Odpowiedz

Niby co ? :P - zdjęcie Niby co ? :P 08.10.2011

No nie goliath kopne cie zaraz w dupe ;P
Ciagle o kilka sekund szybciej nie ma tak!






/* Plugin generated by AMXX-Studio */


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

new const nazwa[] = "Nazwa klasy";
new const opis[] = "opis.";
new const bronie = CSW_M4A1;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
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");
}

public cod_class_enabled(id)
uzyl[id] = false;

public cod_class_disabled(id)
{
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, 9999.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;


return PLUGIN_CONTINUE;
}

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


Użytkownik Niby Co? edytował ten post 08.10.2011 12:04
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

A mam pytanie umicie jeszcze zrobic zeby mogl sie teleportowac np 3 razy?
Odpowiedz

Niby co ? :P - zdjęcie Niby co ? :P 08.10.2011

umiemy
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 08.10.2011

a ZROBISZ by mozna bylo sie 2 razy teleportowac
Odpowiedz

sekio - zdjęcie sekio 08.10.2011

fajnie by było jak by każdy teleport miał mały odstęp czasowy :P
Odpowiedz

  • +
  • -
Elder98 - zdjęcie Elder98 09.10.2011

Powie mi ktos jak zmienic zeby mozna bylo sie 2 razy teleportowac pojda ++
Odpowiedz

sekio - zdjęcie sekio 10.10.2011

dobra temat do zamknięcia najwidoczniej nikt nie potrafi tego wykonać
Odpowiedz