←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Kilka pytań.

Locked

Screeaam...'s Photo Screeaam... 28.04.2010

Witam, mam kilka pytań..

1. Jak zrobić funkcję, aby dawała niewidzialność i po 15 sekundach wyłączała? (Tylko tak, abym mógł podpiąć pod menu)
2. Jak zrobić funkcję, dzięki której nie możemy być oślepieni przez Flasha?
3. Jak zrobić, że kupuje AWP i mam w clipie tylko 1 amunicje?
Quote

  • +
  • -
Lukasz5's Photo Lukasz5 28.04.2010

Co do niewidzialności to ja zrobiłem po swojemu tak:
set_user_rendering(id,1) / włącza komendę
					set_user_rendering(id,kRenderFxExplode,255,0,0,kRenderNormal,25) / ta niewidzialność
					set_task(15.0, "RenderingOFF", id) - czas i funkcja, aby wyłączyło
I np.: na końcu dajesz kod dzięki któremu duch się wyłączy... :)
public RenderingOFF(id)
{
	set_user_rendering(id,0)
}

Aby wszystko działało i nie było bugów ustaw eventa...
New boola zrób:
new bool:heveGlow[33] = false
dodaj koło include/define
Potem
heveGlow[id] = true;
To dodaj w public "twoja nazwa"(id)
register_event("ResetHUD","StartRound","be")
/ Event, aby po new rundzie nie było już ducha... :)

Tutaj jeszcze do tego eventa funkcja...
public StartRound(id)
{
	if(heveGlow[id])
	{
		set_user_rendering(id, 0, 0, 0, 0, 0, 0)
	}
}

Edited by Lukasz5, 28.04.2010 13:58.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Czyli robie tak:

public widzialność(id)
{
                                        set_user_rendering(id,1) / włącza komendę
					set_user_rendering(id,kRenderFxExplode,255,0,0,kRenderNormal,25) / ta niewidzialność
					set_task(15.0, "RenderingOFF", id) - czas i funkcja, aby wyłączyło
}

public RenderingOFF(id)
{
	set_user_rendering(id,0)
}

Ale o co na nowej rundzie mam wyłączać i wogóle? Przecież od tego jest funkcja do wyłączenia, nie ? xD



EDIT: Chyba o to chodziło:

public StartRound(id)
{
	if(heveGlow[id])
	{
		set_user_rendering(id, 0, 0, 0, 0, 0, 0)
	}
}

public niewidzialnosc(id)
{
        heveGlow[id] = true;
        set_user_rendering(id,1)
	set_user_rendering(id,kRenderFxExplode,255,0,0,kRenderNormal,25)
        set_task(15.0, "niewidzialnoscOFF", id)
}

public niewidzialnoscOFF(id)
{
        set_user_rendering(id,0)
}

Tylko wytłumaczcie, czemu w startround jest
	if(heveGlow[id])
	{
		set_user_rendering(id, 0, 0, 0, 0, 0, 0)
	}

A nie np.

heveGlow[id] = false

?

a funkcje wywoluje w meny tym:

niewidzialnosc(id)

?
Edited by Screeaam..., 28.04.2010 14:28.
Quote

  • +
  • -
Lukasz5's Photo Lukasz5 28.04.2010

Ale o co na nowej rundzie mam wyłączać i wogóle? Przecież od tego jest funkcja do wyłączenia, nie ? xD

Też tak myślałem jak nie zrobiłem eventu i miałem ducha na 30s to jak był win w ciągu 30s lub restart to na next rundę to miałem... Taki jakby bug... ;/

Działa ci? heveGlow[id] = true; tam gdzie dałeś, bo ja mam gdzie indziej kolo plugin_init...
new bool:heveGlow[33] = false to ma być tam gdzie podałem, a co do
if(heveGlow[id])
	{
		set_user_rendering(id, 0, 0, 0, 0, 0, 0)
	}
To dzięki temu komenda się zeruje... :) I znika... ;P
Edited by Lukasz5, 28.04.2010 14:35.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Okej, do startround dodałem tamto.

Czyli jak mam to:

public godmode(id)
{
           if(!is_user_alive(id))
           {
           client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
           }
           else{
           set_user_godmode(id, 1)
           setGlowShell(id,10.0,255,0,0);
           message_begin(MSG_ONE, gmsgBartimer, {0,0,0}, id) 
           write_byte(15) 
           write_byte(0) 
           message_end() 
           if(!task_exists(id))
           set_task(15.0, "godOFF", id);
           }
           return PLUGIN_HANDLED
}

To też musze zrobić boola i wpisać false w startround a tu true w tej funkcji?

@Edit:

A to gdzie to heveGlow mialem wpisac?

Ja nie robie pluginu dla siebie, po drugie nei mam gdzie spr. xD


new bool:heveGlow[33] = false

wpisałem do zmiennych..
Edited by Screeaam..., 28.04.2010 14:36.
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

public niewidzialnosc(id)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,13)
set_task(15.0,"widzialnosc",id)
}

public widzialnosc(id)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
}


EDIT: Oczywiście moduł <fun>. Do wywoływania:
niewidzialnosc(id)

Edited by sbstn, 28.04.2010 14:40.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

public niewidzialnosc(id)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,13)
set_task(15.0,"widzialnosc",id)
}

public widzialnosc(id)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
}


I nie bd żadnych bugów i nic nie muszę dopisywać nigdzie ?
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

Różnie to bywa. Wygląda na to, że nie. Ale sprawdź dla świętego spokoju :)
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

A czy moja funkcja jest dobrze napisana? :D

public godmode(id)
{
           if(!is_user_alive(id))
           {
           client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
           }
           else{
           set_user_godmode(id, 1)
           setGlowShell(id,10.0,255,0,0);
           message_begin(MSG_ONE, gmsgBartimer, {0,0,0}, id) 
           write_byte(15) 
           write_byte(0) 
           message_end() 
           set_task(15.0, "godOFF", id);
           }
           return PLUGIN_HANDLED
}



public godOFF(id)
{
           set_user_godmode(id, 0)
           setGlowShell(id,0.0);
}



Edited by Screeaam..., 28.04.2010 14:43.
Quote

  • +
  • -
Lukasz5's Photo Lukasz5 28.04.2010

Ja miałem z tym problem jak w ciągu 15s będzie restart albo win to będziesz miał to w next rundzie... ;P
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

Ja miałem z tym problem jak w ciągu 15s będzie restart albo win to będziesz miał to w next rundzie... ;P


No to dodajesz zmienną logiczną i ok.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Okej. Napiszcie mi jak zrobić, że jak kupuje z mojego stworzonego AWP to ma 1 nabój w clipie, jak zrobić, aby fleshe nie dzialaly na kogos i czy ta funkcja jest dobra:

public godmode(id)
{
           if(!is_user_alive(id))
           {
           client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
           }
           else{
           set_user_godmode(id, 1)
           setGlowShell(id,10.0,255,0,0);
           message_begin(MSG_ONE, gmsgBartimer, {0,0,0}, id) 
           write_byte(15) 
           write_byte(0) 
           message_end() 
           set_task(15.0, "godOFF", id);
           }
           return PLUGIN_HANDLED
}



public godOFF(id)
{
           set_user_godmode(id, 0)
           setGlowShell(id,0.0);
}
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

public niewidzialnosc_godmode(id)
{
if(!is_user_alive(id))
{
client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
}
else
{
set_user_godmode(id,1)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,13)
message_begin(MSG_ONE,gmsgBartimer,{0,0,0},id)
write_byte(15)
write_byte(0)
message_end()
set_task(15.0,"widzialnosc_normal",id)
}
return PLUGIN_HANDLED
}

public widzialnosc_normal(id)
{
set_user_godmode(id, 0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
}

Do plugin_init:
gmsgBartimer = get_user_msgid("BarTime")

Poza funkcjami:
new gmsgBartimer


EDIT:

cs_set_weapon_ammo - Sets the amount of ammo in a player's weapon clip.
UŻYCIE: cs_set_weapon_ammo ( index, newammo )

by Amxmodx Doc
Edited by sbstn, 28.04.2010 15:07.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

public niewidzialnosc_godmode(id)
{
if(!is_user_alive(id))
{
client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
}
else
{
set_user_godmode(id,1)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,13)
message_begin(MSG_ONE,gmsgBartimer,{0,0,0},id)
write_byte(15)
write_byte(0)
message_end()
set_task(15.0,"widzialnosc_normal",id)
}
return PLUGIN_HANDLED
}

public widzialnosc_normal(id)
{
set_user_godmode(id, 0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
}

Do plugin_init:
gmsgBartimer = get_user_msgid("BarTime")

Poza funkcjami:
new gmsgBartimer


EDIT:

cs_set_weapon_ammo - Sets the amount of ammo in a player's weapon clip.
UŻYCIE: cs_set_weapon_ammo ( index, newammo )

by Amxmodx Doc



Ja się tylko pytałem, czy dobrze ją napisałem. :P

Co do cs_set_weapon_ammo to doda ammo do plecaka, nie do clip'a.
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

Sprawdzałeś? Bo ja szczerze powiem, że nie wiem..

Chyba to jest do bp:

cs_set_user_bpammo - Restock/remove ammo in a user's backpack for a specific weapon.

UŻYCIE:cs_set_user_bpammo ( index, weapon, amount )


EDIT:
Screeaam..., gadaliśmy już chyba o tym na pw. Sam mi nawet mówiłeś xD:
new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id)
if(magazynek[id] > 0 && weapon_id)
{
cs_set_weapon_ammo(weapon_id, 55)
}
new weapon_id2 = find_ent_by_owner(-1, "weapon_usp", id)
if(magazynek[id] > 0 && weapon_id2)
{
cs_set_weapon_ammo(weapon_id, 55)
}

Edited by sbstn, 28.04.2010 19:49.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Racja, to mi się porąbało. xD

Ale do jakiego to eventu wpisać, aby był 1 ammo?
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

Hmmm... Złap to i powiedz, czy o to Ci cho :)
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>

#define PLUGIN "Awupa"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"


public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /awupa","awupa")
}

public awupa(id)
{
give_item(id,"weapon_awp")
cs_set_user_bpammo(id,CSW_AWP,0)
new weapon_id=find_ent_by_owner(-1,"weapon_awp",id)
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id,1)
}
}
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Dzięki.

Mam jeszcze jedno pyt.

Jeżeli w danej funkcji zrobię tak:

public kroki(id)
{      
           if(!is_user_alive(id))
           {
                   client_print(id,print_chat,"[SHOP] Musisz byc zywy, aby to kupic!")
           }
           else
           {
                   set_user_footsteps(id, 1)
                   kroki[id] = true
           }
}

A potem w roundstart tak:

public StartRound(id)
{
	if(kroki[id])
	{
		set_user_footsteps(id, 0)
	}
}

To na nowej rundzie już nie będzie mieć cichego chodzenia?
Quote

  • +
  • -
sbstn's Photo sbstn 28.04.2010

public StartRound(id)
{
if(kroki[id]==true)
{
set_user_footsteps(id, 0)
kroki[id]=false
}
}


Teraz wszystko chyba już ok :)
Edited by sbstn, 28.04.2010 20:21.
Quote

Screeaam...'s Photo Screeaam... 28.04.2010

Ok, dzięki. :D

Jak zrobić anty flesh?

Btw. Czemu pierw jest

if(kroki[id] == true)

To rozumiem, ale czemu potem jest

kroki[id] = false

Czemu tu tylko jedno równanie?
Quote
Locked