Aura na ziemi za pomoca sprites
Nightmare * 08.09.2012
Witam czy może mi ktoś napisać jak lub podać kod do stworzenia aury pod nogami za pomoca sprites tak jak w warcrafcie
Może być także jakis tutorial
proszę o pomoc
Może być także jakis tutorial
proszę o pomoc
Nightmare * 09.09.2012
Przykładowo nap coś takiego
i trzeba do tego zrobic odnosnik ze sprite ?
i trzeba do tego zrobic odnosnik ze sprite ?
public Aura(id) {
new origin[3]
get_user_origin(id, origin)
message_begin(MSG_ONE ,SVC_TEMPENTITY)
write_byte(TE_BEAMENTPOINT)
write_coord(id) // end position
write_coord(origin[0])
write_coord(origin[1])
write_short(sprite path) // sprite index
write_byte(0) // starting frame
write_byte(0) // frame rate in 0.1's write_byte(100) // life in 0.1's
write_byte(10) // line width in 0.1's
write_byte(10) // noise amplitude in 0.01's
write_byte(0) // Red write_byte(0) // Green
write_byte(255) // Blue
write_byte(127) // brightness
write_byte(0) // scroll speed in 0.1's
message_end()
K!113r
09.09.2012
Jeżeli chodzi ci o
to jest to index zwracany przez
write_short(sprite path) // sprite index
to jest to index zwracany przez
precache_model("sciezka")
Gość_21977_* 09.09.2012
K!113r dobrze pisze.
Żeby użyć jakiegoś sprite`a, musisz go najpierw precache`ować, np. poprzez funkcję precache_model.
Bardzo prostym do zrozumienia przykładem będzie plugin Death skull by DarkGL, który wyświetla czaszkę jako sprite
w miejscu zabitego gracza. Ta z kolei wcześniej została precache`owana. Kod jest naprawdę przystępny, krótki i łatwy do zrozumienia.
Żeby użyć jakiegoś sprite`a, musisz go najpierw precache`ować, np. poprzez funkcję precache_model.
Bardzo prostym do zrozumienia przykładem będzie plugin Death skull by DarkGL, który wyświetla czaszkę jako sprite
w miejscu zabitego gracza. Ta z kolei wcześniej została precache`owana. Kod jest naprawdę przystępny, krótki i łatwy do zrozumienia.
Nightmare * 09.09.2012
Ok wszystko zrozumiałem
Zrobilem wszystko według waszych porad
Macie po +
Oczy wiscie macie po plusie jednakże mam kolejne pytanie z tym wiążące
jak dodac tak aure tylko dla wybranej klasy
i czy nie powinienen czasem zrobić jeszcze taska do niej?
Zrobilem wszystko według waszych porad
Macie po +
Oczy wiscie macie po plusie jednakże mam kolejne pytanie z tym wiążące
jak dodac tak aure tylko dla wybranej klasy
i czy nie powinienen czasem zrobić jeszcze taska do niej?
Nightmare * 10.09.2012
Mam także problem ponieważ dodaje register_event i potem wszystko zaczyna szalec leca same errory
Gość_21977_* 10.09.2012
Przydałby się troszkę pełniejszy kod, żeby móc lepiej się temu przyjrzeć.
Nightmare * 10.09.2012
Ok oto cały kod moda
sporo pozmieniałem i dodałem parę funkcji jednakże mam nadzieje ze nie zrobiłem zbyt dużych błędów
Dodaje cod bez dodania ostanie funkcji aury ponieważ mam z nią problemy licze na jakąś pomoc
Plugin.sma 14,68 KB 51 Ilość pobrań
sporo pozmieniałem i dodałem parę funkcji jednakże mam nadzieje ze nie zrobiłem zbyt dużych błędów
Dodaje cod bez dodania ostanie funkcji aury ponieważ mam z nią problemy licze na jakąś pomoc
Plugin.sma 14,68 KB 51 Ilość pobrań
Użytkownik benio101 edytował ten post 10.09.2012 14:12
Gość_21977_* 10.09.2012
public Smierc()Zacznijmy od tego, że nie jesteś pewien, że attacker żyje, ba! nie wiesz nawet, czy jest to gracz.
{
new attacker = read_data( 1 );
if(player_class[attacker] == 0)
return PLUGIN_CONTINUE
new headshot = read_data( 3 )
new weaponname[20]
read_data(4,weaponname,31)
//Jaka bron została użyta
new clip, ammo,
weapon = get_user_weapon(attacker,clip,ammo);
player_exp[attacker] += get_pcvar_num(jb_normal)
if(headshot)
player_exp[attacker] += get_pcvar_num(jb_hs)
if(weapon == CSW_KNIFE)
player_exp[attacker] += get_pcvar_num(jb_sword)
while(player_exp[attacker] >= Poziomy[player_lvl[attacker]])
{
client_print(attacker, print_chat, "[Final Fantasy] Gratulacje! Uzyskales poziom i jestes teraz na poziomie %i postaci %s!", player_lvl[attacker],modetext[_:player_class[attacker]])
client_cmd(attacker, "mp3 play sound/final/lvlup")
player_lvl[attacker] += 1
}
// Pokazujemy jego poziom w HUDzie
return PLUGIN_HANDLED;
}
Może to być równie dobrze byt o id=200, co będzie powodowało błąd wywołany próbą odniesienia się do player_class[200] podczas, gdy tablica ma tylko 33 komórki.
Proponuję dodać zmienną globalną
new gMaxPlayers;i przypisać jej maksymalną liczbę graczy na serwerze
plugin_cfg(){oraz przekształcić pierwszy warunek na
gMaxPlayers=get_maxplayers();
}
if(!attacker || attacker>gMaxPlayers || !is_user_alive(id) || player_class[attacker] == 0)Tak samo wszędzie, gdzie jest taka potrzeba, sprawdzaj, czy gracz żyje, w RoundStart dajesz przedmioty graczom, których może nie być na serwerze, a ponadto nie wiadomo, czy są żywi, a dodanie przedmiotu trupom może sypać Ci błędami.
return PLUGIN_CONTINUE
BTW. Jakiej klasie chcesz dodawać aurę i kiedy?
Nightmare * 10.09.2012
Aura miała by być na pierwsze klasie czyli Knight
Co do globalnej zmienie zgodnie z poradą
Z roundstartem spróbuje pozmieniać aby sprawdzało czy gracz żyje
Co do globalnej zmienie zgodnie z poradą
Z roundstartem spróbuje pozmieniać aby sprawdzało czy gracz żyje
Gość_21977_* 10.09.2012
Może inaczej: czy aura ma się świecić non-stop na graczu z klasą Knight czy tylko w wybranych momentach / eventach?
Nightmare * 10.09.2012
Zdradze ci moje zamierzenie chciałem zrobić aurę najlepiej jeżeli można żeby była migająca jeśli jednak i także zadowolę się zwykłą
Aura miała by działać na klawiszu v oraz jeśli możesz
Podał mi jakiś tutorial jak zrobić by aura np dodawała życie lub odbierała
Aura miała by działać na klawiszu v oraz jeśli możesz
Podał mi jakiś tutorial jak zrobić by aura np dodawała życie lub odbierała
d0naciak
12.09.2012
do plugin_init dodaj
na sam dol daj
dodaj jeszcze gdzies funkcje Aura(id), skonfigurowac mozesz sobie ją jak tylko chcesz
Jeśli chodzi o dodawanie / odejmowanie życia to użyj
wiecej o funkcjach get_user_health i set_user_health mozesz sie dowiedziec uzywajac dokumentacji, natomiast jesli chcialbys zadawac obrazenia, to juz nie co inna bajka
A i dokładnie określ kto ma tracić/dostawac życie, bo jeżeli dodasz to co dalem do publica UseSKill zaraz pod Aura(id) to gracz ktory uzyje aury straci/dostanie 5hp
register_clcmd("ultimate", "UseSkill");
register_clcmd("say /bind", "BindKeys");
na sam dol daj
pulbic UseSkill(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED;
if(player_class[id] == Knight)
{
Aura(id);
//jakas funkcja dla klasy Knight (po uzyciu aury)
}
return PLUGIN_HANDLED;
}
public BindKeys(id)
{
client_cmd(id, "bind v ultimate");
return PLUGIN_HANDLED;
}
dodaj jeszcze gdzies funkcje Aura(id), skonfigurowac mozesz sobie ją jak tylko chcesz
Jeśli chodzi o dodawanie / odejmowanie życia to użyj
set_user_health(id, get_user_health(id)+5) //dodaje 5hp
set_user_health(id, get_user_health(id)-5) //odejmuje 5hp
wiecej o funkcjach get_user_health i set_user_health mozesz sie dowiedziec uzywajac dokumentacji, natomiast jesli chcialbys zadawac obrazenia, to juz nie co inna bajka
A i dokładnie określ kto ma tracić/dostawac życie, bo jeżeli dodasz to co dalem do publica UseSKill zaraz pod Aura(id) to gracz ktory uzyje aury straci/dostanie 5hp
Nightmare * 12.09.2012
Don the proo chodzi o to ze jak ktos ma klase Knight to ma regeneracje zycia
Co do odbioru zycia chciałem zrobic to dla innej klasy nie tej samej "przerpraszam jeśli żle przedstawiłem zarys"
Plus leci ale jeśli już tu zaglądłeś to możesz mi dać kode na aure migającą ?
proszę
Co do odbioru zycia chciałem zrobic to dla innej klasy nie tej samej "przerpraszam jeśli żle przedstawiłem zarys"
Plus leci ale jeśli już tu zaglądłeś to możesz mi dać kode na aure migającą ?
proszę
d0naciak
14.09.2012
aura to dla mnie przynajmniej zbyt dużę pojęcie, moze dodaj jaki ma miec kolor, gdzie ta aura ma sie znajdowac i jak dokladnie wyglądać
Nightmare * 14.09.2012
Daje szczegółowo
Aura za pomoca sprite ma sie pojawiac pod nogami gracza kolor niebieski i mogła pulsowac lub byc stała
Aura za pomoca sprite ma sie pojawiac pod nogami gracza kolor niebieski i mogła pulsowac lub byc stała