←  Gotowe funkcje

AMXX.pl: Support AMX Mod X i SourceMod

»

Tworzenie sprite na graczu

  • +
  • -
diablix - zdjęcie diablix 28.08.2010

Funkcja na tworzenie sprite. W moim przyadku wybrałem pozycje gracza.

new twojsprite;

public plugin_precache(id)
twojsprite = engfunc(EngFunc_PrecacheModel, "sprites/twojsprite.spr");

set_sprite(player_origin[3], sprite, radius){
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, player_origin);
write_byte(TE_EXPLOSION) //wg uznania;
write_coord(player_origin[0]); //ja użylem żeby działał na pozycje gracza. Oczywiście można według własnego uznania;
write_coord(player_origin[1]);
write_coord(player_origin[2]);
write_short(sprite); //bedziemy ustalac nasz sprite;
write_byte(radius); //bedzie uzywany do nadania sprite (promien razenia);
write_byte(18);
write_byte(6);
message_end();
}


Przykladowe uzycie (na pozycje gracza) :

new player_origin[3]; //tworzymy index, wczesniej uzywany w funkcji;
get_user_origin(ent, player_origin, 0);

set_sprite(player_origin, twojsprite, 40); //index, wybrany sprite, wielkość promienia;

Użytkownik Diablix edytował ten post 28.08.2010 00:41
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 28.08.2010

write_byte(TE_EXPLOSION) //wg uznania;

Nie myślałem że Wg uznania :F
Od tego zależy jak potem write_ wyglądają i to nie jest na graczu bo to akurat co podałeś zależy od originów które podasz ;]
To o dodawanie czegoś do gracza to:

#define TE_PLAYERATTACHMENT 124 // Attaches a TENT to a player (this is a high-priority tent)
// write_byte(TE_PLAYERATTACHMENT)
// write_byte(entity index of player)
// write_coord(vertical offset) (attachment origin.z = player origin.z + vertical offset)
// write_short(model index)
// write_short(life * 10 )
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 28.08.2010

Jak nie? Pobiera origin gracza i ustawia na nim sprite.
Odpowiedz

  • +
  • -
CeLeS - zdjęcie CeLeS 08.09.2010

explode nie zrobi dobrze sprita...
bo robi wybuch tego sprita i sypia sie takie odlamki wybuchu...

lepiej zrobic TE_PLAYERATTACHMENT

public gCrash( id ) {
        message_begin(MSG_ALL, SVC_TEMPENTITY);
        write_byte(TE_PLAYERATTACHMENT);
        write_byte(id);
        write_coord(60);
        write_short(Sprite1);
        write_short(200); // dlugosc wyswietlania
        message_end();
}
tylko ze to robi na wysokosci nie idzie dac 3 cordow...
wiec mozna zrobic tego sprita nad glowa...
Użytkownik CeLeS edytował ten post 08.09.2010 18:45
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 09.09.2010

Heh, no ja robiłem explosion bo coś typu kuli ognia chciałem.
Odpowiedz

  • +
  • -
WizZi - zdjęcie WizZi 27.11.2010

Warning: Symbol is never used: "set_sprite" on line 27

Hmmm ? :/
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 27.11.2010

Ostrzeżenie że nie użyłeś nigdy set_sprite
Odpowiedz