←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zmiana cvaru poprzez plugin.

Zablokowany

Screeaam... - zdjęcie Screeaam... 18.05.2010

Witam, jak zrobić funkcję, gdy serwer wylosuje coś, to zmienia cvar na exp z 200 na 300?

Chodzi mi jak wywołać zmianę cvaru poprzez plugin?

@Edit:

I jak zrobić, aby było co 30 sekund task, ale gdy 30 sekund minie, zeby on sie wylaczyl i wlączał następny który uaktywnia ten pierwszy? xD
Użytkownik Screeaam... edytował ten post 18.05.2010 15:13
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 18.05.2010

do zmiany cvarów set_pcvar_num lub set_cvar_num

Jeśli drugi task na tyle samo sekund co 1 to łatwiej puścić pojedynczy task i sterować flagą =1, =0, =1, =0 itd w switchu

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Taski"
#define VERSION "1.0"
#define AUTHOR "R3X"

#define TASKID 124

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("task", "cmdTask");
}
public cmdTask(){
	if(!task_exists(TASKID))
		firstTask();
	return PLUGIN_HANDLED;
}
public firstTask(){
	client_print(0, print_chat, "Pierwszy task");
	set_task(5.0, "nextTask", TASKID);
}
public nextTask(){
	client_print(0, print_chat, "Drugi task");
	set_task(5.0, "firstTask", TASKID);
}
Odpowiedz

Screeaam... - zdjęcie Screeaam... 18.05.2010

A jeżeli w jednym z tasków chce zrobić losowanie pomiędzy trzema opcjami, to jak ?

Bo chcę aby po 60 sek, po rozp gry włączał się tak i wybierał jedną z pośród trzech opcji. Jak to zrobić?
Użytkownik Screeaam... edytował ten post 18.05.2010 19:32
Odpowiedz

Screeaam... - zdjęcie Screeaam... 19.05.2010

Okej, to będzie działać:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Mgla Event"
#define VERSION "1.0"
#define AUTHOR "Screeaam"

#define TASKID 124


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(45.0, "mglaa", 0, "", 0, "a")
}


public mglaa(id){
if(!task_exists(TASKID))
event(id);
return PLUGIN_HANDLED;
}


public event(id)
{
new const ile_funkcji = 3;
set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
switch(random_num(1, ile_funkcji))
{
case 1:{
show_hudmessage(id, "Niestety, losowanie serwera nie udalo sie, mgly nie bedzie!")
}
case 2:{
show_hudmessage(id, "Losowanie serwera udane, mgła włączona!^nWidocznosc: Niska^nKolor: Szary.^nCzas: Do konca mapy")
set_cvar_num("amx_fog",1);
set_cvar_num("diablo_xpbonus",300);
set_cvar_num("diablo_xpbonus2",380);
}
case 3:{
show_hudmessage(id, "Losowanie serwera udane, mgła włączona!^nWidocznosc: Niska^nKolor: Losowy.^nCzas: 5 minut")
set_cvar_num("amx_fog",1);
set_cvar_num("diablo_xpbonus0",300);
set_cvar_num("diablo_xpbonus2",380);
set_task(300.0, "eventOFF")
}
}
}

public eventOFF(id)
{
show_hudmessage(id, "Mgla wylaczona!")
set_cvar_num("amx_fog",0);
set_cvar_num("diablo_xpbonus",200);
set_cvar_num("diablo_xpbonus2", 280);
}


Czyli:

45 sekund po rozpoczęciu gry serwer robi losowanie, włączyć mgłę i zmienić cvar expa, czy nie. Będzie to działać?

1. Czy na nowej mapie wszystko się od nowa będzie robi, czy trzeba na koniec mapy wszystko wyzerować?
2. Będzie działać?
3. Oraz jak zrobić, aby tutaj też zmieniało kolor mgły, bo w cvarach mogę ustawić kolor poprzez takie coś:
amx_fog "1" "rrr ggg bbb"

Ale nie mogę tego do pluginu włożyć...



Trochę to poprawiłem, ale mam pytanie, jak mam cvar:

amx_fog_color "100 100 100"

To jak go mogę ustawić przez plugin? bo:

set_cvar_num("amx_fog_color", "100 100 100")

Nie działa

20 maj 2010 - 14:08:
Więc jak mogę ustawić aby ustawiał także cvar koloru?
Użytkownik Screeaam... edytował ten post 20.05.2010 14:09
Odpowiedz
Zablokowany