←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Gotowa klasa z piorunem

  • +
  • -
Na 5tyk's Photo Na 5tyk 02.07.2011

Witam. Jako, że sam miałem problemy z dodaniem pioruna do CODa dziś zrobię poradnik jak go dodać do Nowego CODa.

Robimy nową klasę, w moim wypadku to SWAT [P].
Kod klasy:
/* Plugin generated by AMXX-Studio */

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

new sprite;
new ilosc_blyskawic[33],poprzednia_blyskawica[33];
new const gszSound[] = "ambience/thunder_clap.wav";

new const nazwa[] = "SWAT [P]";
new const opis[] = "Masz 3 blyskawice. Aby jesj uzyc wpisz w konsole - bind e +use;blysk";
new const bronie = 1<<CSW_AWP | 1<<CSW_M249;
new const zdrowie = 40;
new const kondycja = 40;
new const inteligencja = 20;
new const wytrzymalosc = 20;

public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, "Premium");
register_clcmd("blysk", "cmdBlyskawica");

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

public plugin_precache()
{
sprite = precache_model("sprites/lgtning.spr");
}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
{
client_print(id, print_chat, "[Bog] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ilosc_blyskawic[id] = 3;
return COD_CONTINUE;
}

public cod_class_disabled(id)
{
ilosc_blyskawic[id] = 0;
}

public cmdBlyskawica(id){
if(!is_user_alive(id)) return PLUGIN_HANDLED;
if(!ilosc_blyskawic[id]) {
return PLUGIN_HANDLED;
}
if(poprzednia_blyskawica[id]+5.0>get_gametime()) {
client_print(id,print_chat,"Blyskawicy mozesz uzyc raz na 5 sek.");
return PLUGIN_HANDLED;
}
poprzednia_blyskawica[id]=floatround(get_gametime());
ilosc_blyskawic[id]--;
new ofiara, body;
get_user_aiming(id, ofiara, body);

if(is_user_alive(ofiara)){
puscBlyskawice(id, ofiara, 50.0, 0.5);
}
return PLUGIN_HANDLED;
}
stock Create_TE_BEAMENTS(startEntity, endEntity, iSprite, startFrame, frameRate, life, width, noise, red, green, blue, alpha, speed){

message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMENTS )
write_short( startEntity ) // start entity
write_short( endEntity ) // end entity
write_short( iSprite ) // model
write_byte( startFrame ) // starting frame
write_byte( frameRate ) // frame rate
write_byte( life ) // life
write_byte( width ) // line width
write_byte( noise ) // noise amplitude
write_byte( red ) // red
write_byte( green ) // green
write_byte( blue ) // blue
write_byte( alpha ) // brightness
write_byte( speed ) // scroll speed
message_end()
}


puscBlyskawice(id, ofiara, Float:fObrazenia = 55.0, Float:fCzas = 1.0){
//Obrazenia
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "blyskawica");
ExecuteHamB(Ham_TakeDamage, ofiara, ent, id, fObrazenia, DMG_SHOCK);
remove_entity(ent);

//Piorun
Create_TE_BEAMENTS(id, ofiara, sprite, 0, 10, floatround(fCzas*10), 150, 5, 200, 200, 200, 200, 10);

//Dzwiek
emit_sound(id, CHAN_WEAPON, gszSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public ResetHUD(id)
ilosc_blyskawic[id] = 3;
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Kopiujecie ten kod zmieniacie nazwę i statystyki. Gotowe :D (dla leniwych *.sma w załączniku)

Attached Files

Quote

radek_b11's Photo radek_b11 14.07.2011

Najpierw zobacz co wrzucasz bo klasa przy kompilacji lokalnej wywala błędy.
Quote

  • +
  • -
xyz?'s Photo xyz? 14.07.2011

ja mam działająca wersję ;) sam robiłem.
Quote

manipers's Photo manipers 14.07.2011

nie da się skompilowac
Quote

  • +
  • -
Goliath's Photo Goliath 14.07.2011

Brak biblioteki hamsandwich + niepotrzebny ostatni parametr natywu cod_register_class (przecież nie wszyscy mają wgrane frakcje).
Quote

Pan BooYaka's Photo Pan BooYaka 14.07.2011

testowal to ktos ?
bo mi nie dziala
Quote

adek1479's Photo adek1479 15.07.2011

Błędy ooo
"ss.sma(21) : error 088: number of arguments does not match definition
ss.sma(92) : error 017: undefined symbol "ExecuteHamB"
ss.sma(92) : warning 215: expression has no effect
ss.sma(92) : warning 215: expression has no effect
ss.sma(92) : warning 215: expression has no effect
ss.sma(92) : warning 215: expression has no effect
ss.sma(92) : warning 215: expression has no effect
ss.sma(92) : error 001: expected token: ";", but found ")"
ss.sma(92) : error 029: invalid expression, assumed zero
ss.sma(92) : fatal error 107: too many error messages on one line

Compilation aborted.
5 Errors."
Quote

  • +
  • -
Szymon035's Photo Szymon035 15.07.2011

Tu masz:

Attached Files


Edited by Szymon95, 15.07.2011 13:01.
Quote

radek_b11's Photo radek_b11 17.07.2011

klasa ma jakiegoś buga bo raz strzelisz jest ok a potem cały czas jest ze "Możesz użyć raz na 5sek"
Quote

PRoMEN's Photo PRoMEN 25.12.2011

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <codmod>
#include <engine>
#include <hamsandwich>
new sprite;
new ilosc_blyskawic[33],poprzednia_blyskawica[33];
new const gszSound[] = "ambience/thunder_clap.wav";
new const nazwa[] = "Bog [Premium]";
new const opis[] = "Masz 6 blyskawic. Aby ich uzyc wpisz w konsole - bind e +use;blysk";
new const bronie = 1<<CSW_FAMAS | 1<<CSW_DEAGLE | 1<<CSW_AK47;
new const zdrowie = 40;
new const kondycja = 40;
new const inteligencja = 20;
new const wytrzymalosc = 20;
public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_clcmd("blysk", "cmdBlyskawica");

register_event("ResetHUD", "ResetHUD", "abe");
}
public plugin_precache()
{
sprite = precache_model("sprites/lgtning.spr");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
{
client_print(id, print_chat, "[Bog] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ilosc_blyskawic[id] = 6;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ilosc_blyskawic[id] = 0;
}
public cmdBlyskawica(id){
if(!is_user_alive(id)) return PLUGIN_HANDLED;
if(!ilosc_blyskawic[id]) {
return PLUGIN_HANDLED;
}
if(poprzednia_blyskawica[id]+0.0>get_gametime()) {
client_print(id,print_chat,"");
return PLUGIN_HANDLED;
}
poprzednia_blyskawica[id]=floatround(get_gametime());
ilosc_blyskawic[id]--;
new ofiara, body;
get_user_aiming(id, ofiara, body);

if(is_user_alive(ofiara)){
puscBlyskawice(id, ofiara, 50.0, 0.5);
}
return PLUGIN_HANDLED;
}
stock Create_TE_BEAMENTS(startEntity, endEntity, iSprite, startFrame, frameRate, life, width, noise, red, green, blue, alpha, speed){

message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMENTS )
write_short( startEntity ) // start entity
write_short( endEntity ) // end entity
write_short( iSprite ) // model
write_byte( startFrame ) // starting frame
write_byte( frameRate ) // frame rate
write_byte( life ) // life
write_byte( width ) // line width
write_byte( noise ) // noise amplitude
write_byte( red ) // red
write_byte( green ) // green
write_byte( blue ) // blue
write_byte( alpha ) // brightness
write_byte( speed ) // scroll speed
message_end()
}

puscBlyskawice(id, ofiara, Float:fObrazenia = 55.0, Float:fCzas = 1.0){
//Obrazenia
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "blyskawica");
ExecuteHamB(Ham_TakeDamage, ofiara, ent, id, fObrazenia, DMG_SHOCK);
remove_entity(ent);

//Piorun
Create_TE_BEAMENTS(id, ofiara, sprite, 0, 10, floatround(fCzas*10), 150, 5, 200, 200, 200, 200, 10);

//Dzwiek
emit_sound(id, CHAN_WEAPON, gszSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}
public ResetHUD(id)
ilosc_blyskawic[id] = 6;


klasa ma jakiegoś buga bo raz strzelisz jest ok a potem cały czas jest ze "Możesz użyć raz na 5sek"


to nie bug lecz ustawienia mój drogi.Powyżej masz sma w którym zmieniłem ilość błyskawic na 6, i nie musisz czekać tych 5 sec tylko możesz od razu puszczać błyskawice
Edited by PRoMEN, 26.12.2011 10:07.
Quote

  • +
  • -
radim's Photo radim 25.12.2011

Ale przecie z na forum jest klasa z piorunem o nazwie Elektryk
Quote

PRoMEN's Photo PRoMEN 25.12.2011

ja wiem że elektryk jest ale radek_b11 pisał że co 5 sec to ja mu przerobiłem żeby nie trzeba było czekać i **dodatkowo** dodałem 3 błyskawice (oraz zmieniłem nazwe klasy)
Quote

  • +
  • -
radim's Photo radim 25.12.2011

To mógł dać poradnik jak dodać "Multi Błyskawice dla klasy/perku" xD
Quote

PRoMEN's Photo PRoMEN 25.12.2011

...
Edited by PRoMEN, 26.12.2011 10:09.
Quote