Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Dodatek do niewidzialności


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 BoB0_

    Wszechpomocny

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:365
  • GG:
  • Lokalizacja:Przemyśl
Offline

Napisano 07.08.2011 14:37

Witam.

Mam pytanie. Czy jest możliwe zrobienie czegoś takiego że gracz po użyciu np. +use staje się niewidzialny ale gdy strzela z broni staje się w tym czasie widoczny?
Jeśli tak prosiłbym o jakiegoś eventa czy coś bo jeszcze się na tym nie znam. Najlepiej jeszcze sposób zastosowania. Będę bardzo wdzięczny jeżeli mi coś takiego podrzucicie.

Dodano 07 sierpień 2011 - 17:55:
@edit.

Znalazłem event który rejestruje wystrzelenie naboju.

Oto on:

CurWeapon - obecna bron


Wykrywa zmiane broni - takze gdy sie sawnujesz dostajesz nowa bron i funkcja tez jest wywolana.

[sma]#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_event("CurWeapon","CurWeapon","be", "1=1")
}

public CurWeapon(id)
{
	new wid = read_data(2)	// Id broni
	new ammo = read_data(3)	// liczba naboi w magazynku
	//code
}[/sma]


Noz, granaty itp. maja ammo = -1

Info-bronie

Z testow wynika, ze w/w event jest tez wywolywany po wystrzeleniu naboju (ammo sie zmienia) lub po przeladowaniu.

Nie wiem jednak jak zrobić to co opisałem wyżej. Oto klasy do której chciałbym to dodać. Jak na razie jest Godmode ale chciałbym to zamienić.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <codmod>
#include <colorchat>

#define CZAS_GODMOD 3 //SEKUND

new const nazwa[] = "[Pro] Rusher";
new const opis[] = "Dostaje M3 oraz 3 sekund niesmiertelnosci co runde";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:wykorzystal[33];
new bool:ma_klase[33];

new msg_bartime;

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

cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");

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


msg_bartime = get_user_msgid("BarTime");
}

public cod_class_enabled(id)
{
ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);
ma_klase[id] = true;
ResetHUD(id);
}

public cod_class_disabled(id)
ma_klase[id] = false;

public cod_class_skill_used(id)
{
if(!is_user_alive(id))
return;

if(wykorzystal[id])
{
ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");
return;
}

wykorzystal[id] = true;

set_user_godmode(id, 1);
set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0);
cod_set_user_bonus_trim(id, 0-cod_get_user_trim(id, 1, 1, 1)+50);
set_task(CZAS_GODMOD.0, "WylaczGod", id);

message_begin(MSG_ONE, msg_bartime, _, id)
write_short(CZAS_GODMOD)
message_end()
}

public WylaczGod(id)
{
if(!is_user_connected(id)) return;
cod_set_user_bonus_trim(id, 0);
set_user_godmode(id, 0);
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0);
}

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


Macie może jakieś pomysły? D

Dziękuję z góry za pomoc.
  • +
  • -
  • 0

#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 07.08.2011 18:02

new button = get_uc(uc_handle, UC_Buttons);

if(button & IN_USE)
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 5);

else

set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);



Wklep to gdzieś, dorób task, warunki, opcjonalnie bartime i w końcu osiągniesz cel.
  • +
  • -
  • 0

#3 BoB0_

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:365
  • GG:
  • Lokalizacja:Przemyśl
Offline

Napisano 07.08.2011 18:58

Zrobiłem coś takiego :

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <codmod>
#include <colorchat>

#define CZAS_GODMOD 10 //SEKUND

new const nazwa[] = "[Pro] Rusher";
new const opis[] = "Dostaje M3 oraz 10 sekund niesmiertelnosci co runde";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:wykorzystal[33];
new bool:ma_klase[33];

new msg_bartime;

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

cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");

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

register_event("CurWeapon","CurWeapon","be", "1=1")


msg_bartime = get_user_msgid("BarTime");
}

public cod_class_enabled(id)
{
ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);
ma_klase[id] = true;
ResetHUD(id);
}

public cod_class_disabled(id)
ma_klase[id] = false;

public cod_class_skill_used(id)
{
if(!is_user_alive(id))
return;

if(wykorzystal[id])
{
ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");
return;
}

wykorzystal[id] = true;

set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 1);
set_user_footsteps(id, 1)
set_task(CZAS_GODMOD.0, "WylaczGod", id);

message_begin(MSG_ONE, msg_bartime, _, id)
write_short(CZAS_GODMOD)
message_end()
}

public WylaczGod(id)
{
if(!is_user_connected(id)) return;
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 255);
set_user_footsteps(id, 0)
}

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

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


I mam jeden problem. Po strzeleniu gracz już na stałe staje się widoczny. Ja chciałbym żeby ten czas dalej leciał a żeby on był widoczny tylko gdy strzela. To jest np. 1 sek. Da się tak?
  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 09.08.2011 11:01


#include <amxmodx>

#include <fun>

#include <codmod>

#include <colorchat>



#define CZAS_GODMOD 10 //SEKUND



new const nazwa[] = "[Pro] Rusher";

new const opis[] = "Dostaje M3 oraz 10 sekund niesmiertelnosci co runde";

new const bronie = 1<<CSW_M3;

new const zdrowie = 0;

new const kondycja = 55;

new const inteligencja = 10;

new const wytrzymalosc = 0;



new bool:wykorzystal[33];

new bool:ma_klase[33];



new msg_bartime;



public plugin_init() {

	register_plugin(nazwa, "1.0", "QTM_Peyote");

	

	cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");

	

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

	

	register_event("CurWeapon","CurWeapon","be", "1=1")

	

	

	msg_bartime = get_user_msgid("BarTime");

}



public cod_class_enabled(id)

{

	ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);

	ma_klase[id] = true;

	ResetHUD(id);

}



public cod_class_disabled(id)

	ma_klase[id] = false;



public cod_class_skill_used(id)

{

	if(!is_user_alive(id))

		return;

	

	if(wykorzystal[id])

	{

		ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");

		return;

	}

	

	wykorzystal[id] = true;

	

	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 1);

	set_user_footsteps(id, 1)

	set_task(CZAS_GODMOD.0, "WylaczGod", id);

	

	message_begin(MSG_ONE, msg_bartime, _, id)

	write_short(CZAS_GODMOD)

	message_end()

}



public WylaczGod(id)

{

	if(!is_user_connected(id)) return;

	

	remove_task(id);

	

	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 255);

	set_user_footsteps(id, 0)

}



public ResetHUD(id)

	wykorzystal[id] = false;



public CurWeapon(id)

{

	set_user_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);

	set_task(1.0,"onNiew",id)

}



public onNiew(id){

	if(is_user_alive(id))

		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 1);

	

}

  • +
  • -
  • 0

#5 BoB0_

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:365
  • GG:
  • Lokalizacja:Przemyśl
Offline

Napisano 09.08.2011 11:12

Przy takim ustawieniu po każdym strzale będzie ustawiać na widoczność 1. Chciałbym żeby tak się działo tylko gdy będzie odliczany CZAS_GODMOD, tj. te 10 sekund.
  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 09.08.2011 11:15

nie dałeś warunku w curwepaon
#include <amxmodx>
#include <fun>
#include <codmod>
#include <colorchat>

#define CZAS_GODMOD 10 //SEKUND

new const nazwa[] = "[Pro] Rusher";
new const opis[] = "Dostaje M3 oraz 10 sekund niesmiertelnosci co runde";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:wykorzystal[33];
new bool:ma_klase[33];

new msg_bartime;

public plugin_init() {
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");
	
	register_event("ResetHUD", "ResetHUD", "abe");
	
	register_event("CurWeapon","CurWeapon","be", "1=1")
	
	
	msg_bartime = get_user_msgid("BarTime");
}

public cod_class_enabled(id)
{
	ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);
	ma_klase[id] = true;
	ResetHUD(id);
}

public cod_class_disabled(id)
	ma_klase[id] = false;

public cod_class_skill_used(id)
{
	if(!is_user_alive(id))
		return;
	
	if(wykorzystal[id])
	{
		ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");
		return;
	}
	
	wykorzystal[id] = true;
	
	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 1);
	set_user_footsteps(id, 1)
	set_task(CZAS_GODMOD.0, "WylaczGod", id);
	
	message_begin(MSG_ONE, msg_bartime, _, id)
	write_short(CZAS_GODMOD)
	message_end()
}

public WylaczGod(id)
{
	if(!is_user_connected(id)) return;
	
	remove_task(id+666);
	
	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 255);
	set_user_footsteps(id, 0)
}

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

public CurWeapon(id)
{
	if(task_exists(id)){
		set_user_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
		set_task(1.0,"onNiew",id+666)
	}
}

public onNiew(id){
	id-=666;
	if(is_user_alive(id))
		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0 , kRenderTransAlpha, 1);
	
}

  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych