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

Czas funkcji.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 Ender #

    Pomocny

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 15:57

Kurczę, chciałbym się dowiedzieć jak użyć set_task'a aby no clip działał jakiś czas. Z tamtego poradnika mało rozumiem, coś tam rozumiem, ale za mało :P

 

Mam nadzieję, że ktoś mi to wyjaśni na "Chłopski Rozum" a najlepiej jakby mi napisał gotowego taska jako przykład który będzie trwał np. 10sek.


  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 26.01.2014 16:26

Robisz drugą funkcję, która będzie służyła jako wyłączenie no-clipa

public wyłącz(id){
if(!is_user_connected(id)
     return;
set_user_noclip(id, 0)
}

 

i w funkcji gdzie jest ustawianie noclipa, robisz set_task(10.0, "wyłącz", id);


Użytkownik Wielkie Jol edytował ten post 26.01.2014 16:27

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 18:05

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "Ender #"


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

public ruletka(id)
{

switch(random_num(1, 2))
{

         case 1:
		 {
		   client_print (id,print_center, "Masz 1 HP");
		   set_user_health (id, 1)
		   }
		   
		   case 2:
		   
		   {
		   client_print (id, print_center, "Jestes Duchem!");
		   set_user_noclip (id, 1)
		  
		   }
		   
		   
		   
	}
}

To jest kod ruletki (skopiowałem tylko do no clipa) i jak miałbym to zmodyfikować ? :)

 


  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#4 Niide

    *** it I'm done

  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 26.01.2014 18:26

W taki sposób.

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "Ender #"


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

public ruletka(id)
{
	if(is_user_alive(id))
	{
		switch(random_num(1, 2))
		{
			case 1:
			{
				client_print(id,print_center, "Masz 1 HP");
				set_user_health(id, 1)
			}
			case 2:	
			{
				client_print(id, print_center, "Jestes Duchem!");
				set_user_noclip(id, 1)
				set_task(10.0, "off_no", id);
			}
		}
	}
}

public off_no(id)
{
	if(is_user_connected(id))
		set_user_noclip(id, 0);
}

  • +
  • -
  • 1

kP8HWV.png


#5 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 18:36

Dzięki wielkie ;) Najlepiej mi się uczyć jak mam to przed oczami :)

 


Użytkownik Ender # edytował ten post 26.01.2014 18:43

  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#6 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 26.01.2014 18:36

Na marginesie dodaj wartość bool, żeby sprawdzać, czy grasz już nie użył ruletki w tej rundzie czy cuś, bo inaczej będzie mógł ją cały czas używać.


  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#7 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 18:42

O właśnie chciałem o to spytać ;) Jak dokładnie to zrobić? Mógłbyś tak samo dodać do kodu tylko tam razem do tego co dał Niide

 

To przy okazji żeby nie spamić tematami to się spytam również jak dać wiadomość typu admin_say, ale żeby wyświetlało się tylko 1 użytkownikowi i po środku :)


Użytkownik Ender # edytował ten post 26.01.2014 18:46

  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#8 Niide

    *** it I'm done

  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 26.01.2014 19:22

Tu to z boolem: Co 300 sekund (5 minut) można używać ruletki).

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "Ender #"

new bool: uzyl[33];

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

public client_connect(id)
{
	uzyl[id] = false;
}

public ruletka(id)
{
	if(is_user_alive(id))
	{
		if(uzyl[id])
		{
			client_print(id, print_chat, "Poczekaj jeszcze troche przed uzyciem ruletki!");
			return PLUGIN_HANDLED;
		}
		switch(random_num(1, 2))
		{
			case 1:
			{
				client_print(id,print_center, "Masz 1 HP");
				set_user_health(id, 1)
			}
			case 2:	
			{
				client_print(id, print_center, "Jestes Duchem!");
				set_user_noclip(id, 1)
				set_task(10.0, "off_no", id);
			}
		}
		uzyl[id] = true;
		set_task(300.0, "uzycie", id);
	}
	return PLUGIN_CONTINUE;
}

public off_no(id)
{
	if(is_user_connected(id))
		set_user_noclip(id, 0);
}

public uzycie(id)
{
	if(is_user_connected(id) && uzyl[id])
		uzyl[id] = false;
}

Co do komendy, to zawze można użyć admin_psay. Wysyłasz prywatną wiadomość na czacie podanemu graczowi.


Użytkownik Niide edytował ten post 26.01.2014 19:23

  • +
  • -
  • 0

kP8HWV.png


#9 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 19:26

A dało by radę taką wiadomość napisać tak jak w print_center?

 

Fajnie że co 300 sekund bo to nawet wygodniejsze :)

 


  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#10 Niide

    *** it I'm done

  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 26.01.2014 19:43

Trzeba to zmienić w admichat.amxx. Trzymaj, w załączniku masz zmienione na print_center.

Załączone pliki


  • +
  • -
  • 1

kP8HWV.png


#11 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 19:49

Dzięki, mam nadzieję że nikogo nie denerwuję tym, że ciąglę zmieniam że jednak nie do zamknięcia ;P

 

Jeszcze chciałbym wiedzieć jak dodać pasek który pokazywał ile no clipa zostało :)


Użytkownik Ender # edytował ten post 26.01.2014 19:58

  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#12 Niide

    *** it I'm done

  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 26.01.2014 20:12

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "Ender #"

new bool: uzyl[33];

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

public client_connect(id)
{
	uzyl[id] = false;
}

public ruletka(id)
{
	if(is_user_alive(id))
	{
		if(uzyl[id])
		{
			client_print(id, print_chat, "Poczekaj jeszcze troche przed uzyciem ruletki!");
			return PLUGIN_HANDLED;
		}
		switch(random_num(1, 2))
		{
			case 1:
			{
				client_print(id,print_center, "Masz 1 HP");
				set_user_health(id, 1)
			}
			case 2:	
			{
				client_print(id, print_center, "Jestes Duchem!");
				set_user_noclip(id, 1)
				set_bartime(id, 10);
				set_task(10.0, "off_no", id);
			}
		}
		uzyl[id] = true;
		set_task(300.0, "uzycie", id);
	}
	return PLUGIN_CONTINUE;
}

public off_no(id)
{
	if(is_user_connected(id))
	{
		set_user_noclip(id, 0);
		set_bartime(id, 0);
	}
}

public uzycie(id)
{
	if(is_user_connected(id) && uzyl[id])
		uzyl[id] = false;
}

stock set_bartime(id, czas)
{
	message_begin((id)?MSG_ONE:MSG_ALL, get_user_msgid("BarTime2"), _, id)
	write_short(czas);
	write_short(0);
	message_end();   
}

  • +
  • -
  • 0

kP8HWV.png


#13 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 20:26

Pomogłeś mi jak nie wiem, jak Ci dam kolejny plus to warna dostanę :P

 

A teraz Dzięki wszystkim za pomoc.

 

Tym razem na pewno do zamknięcia :)


  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów


#14 Amaroq

    AMXX Contributor

  • Użytkownik

Reputacja: 304
Wszechpomocny

  • Postów:380
  • GG:
  • Steam:steam
  • Imię:Karol
  • Lokalizacja:Łódź
Offline

Napisano 26.01.2014 21:09

To rozwiązanie jest moim zdaniem bardziej optymalne
#include <amxmodx>
#include <fun>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "Ender #"

new Uzyl;

#define SetUzyl(%1) (Uzyl |= (1<<(%1-1)))
#define CheckUzyl(%1) (Uzyl & (1<<(%1-1)))
#define RemoveUzyl(%1) (Uzyl &= ~(1<<(%1-1)))

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

public client_connect(id)
{
	RemoveUzyl(id);
}

public client_disconnect(id)
{
	RemoveUzyl(id);
	
	if(task_exists(id))
	 	remove_task(id);
	 	
}

public ruletka(id)
{
	if(is_user_alive(id))
	{
		if(CheckUzyl(id))
		{
			client_print(id, print_chat, "Poczekaj jeszcze troche przed uzyciem ruletki!");
			return PLUGIN_HANDLED;
		}
		switch(random(2))
		{
			case 0:
			{
				client_print(id,print_center, "Masz 1 HP");
				set_user_health(id, 1)
			}
			case 1:	
			{
				client_print(id, print_center, "Jestes Duchem!");
				set_user_noclip(id, 1)
				set_bartime(id, 10);
				set_task(10.0, "off_no", id);
			}
		}
		SetUzyl(id);
		set_task(300.0, "uzycie", id);
	}
	return PLUGIN_CONTINUE;
}

public off_no(id)
{
	if(is_user_connected(id))
	{
		set_user_noclip(id, 0);
	}
}

public uzycie(id)
{
	if(is_user_connected(id) && CheckUzyl(id))
		RemoveUzyl(id)
}

stock set_bartime(id, czas)
{
	static MsgBarTime;
	
	if(!MsgBarTime)
		MsgBarTime = get_user_msgid("BarTime");
		
	message_begin((id)?MSG_ONE:MSG_ALL, MsgBarTime, _, id)
	write_short(czas);
	message_end();   
}

  • +
  • -
  • 1
Plugin informujący o zabiciu zakładnika (wysyła do admina na say nick gracza oraz zapisuje o tym logi) - Hostage Killer v1.3.3
DarkGL to mój autorytet.

#15 Ender #

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:66
  • GG:
  • Imię:Radek
  • Lokalizacja:Głowno
Offline

Napisano 26.01.2014 21:10

Dzięki za robotę, ale jestem zielony i z tamtego więcej rozumiem :P :)


  • +
  • -
  • 0

DeathStreak.pl

                Pomogłem daj rep_up.png

b_350_20_692108_381007_FFFFFF_000000.png

 

26.01.2014 | 50 postów





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

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