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

set_task


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

#1 VirusX

    Pomocny

  • Użytkownik

Reputacja: 75
Zaawansowany

  • Postów:48
  • Imię:Adam
  • Lokalizacja:Zabrze
Offline

Napisano 26.03.2012 14:27

Witam.
Zwracam sie z pytaniem, jakie flagi mam ustawic taskowi, ktory co 0.6s wywoluje jakas funkcje ale robi to tylko przez 10minut od rozpoczecia mapy? Po 10 minutach ma sie po prostu wylaczac.

set_task(0.6, "spawn", victim + 483);

Z gory dziekuje za pomoc.

Użytkownik VirusX edytował ten post 26.03.2012 14:30

  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

Napisano 26.03.2012 14:57

ustaw drugi set task który usunie poprzedni po 10 min ( remove_task )


  • +
  • -
  • 0

#3 VirusX

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 75
Zaawansowany

  • Postów:48
  • Imię:Adam
  • Lokalizacja:Zabrze
Offline

Napisano 26.03.2012 15:33

to stworzy mi strasznie duzo taskow, nie wiem czy to optymalny pomysl szczegolnie, ze jest on tworzony przy kazdej smierci


/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "Ultimate respawn"
#define VERSION "1.1"
#define AUTHOR "naven & amxx.pl"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "DeathMsg", "a");
register_clcmd("say /respawn", "sayrespawn");
register_clcmd("say /start", "sayrespawn");
register_cvar("amx_respawn", "1")
register_cvar("amx_autorespawn", "1")
}
public DeathMsg(){
new victim;
victim = read_data(2)
set_task(0.6, "spawn", victim + 483);
}
public spawn(id){
if (get_cvar_num("amx_autorespawn") == 0)
return PLUGIN_HANDLED;
id -= 483;
if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)		 return PLUGIN_CONTINUE
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE);
dllfunc(DLLFunc_Think, id);
if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE)
{
dllfunc(DLLFunc_Spawn, id) ;
}
return PLUGIN_HANDLED;
}
public sayrespawn(gracz)
{
if (get_cvar_num("amx_respawn") == 0){
client_print(gracz, print_chat, "Respawny wylaczone");
return PLUGIN_HANDLED;
}
if (!is_user_connected(gracz) || cs_get_user_team(gracz) == CS_TEAM_SPECTATOR)		 return PLUGIN_HANDLED;
set_pev(gracz, pev_deadflag, DEAD_RESPAWNABLE);
dllfunc(DLLFunc_Think, gracz);
dllfunc(DLLFunc_Spawn, gracz);
return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

  • +
  • -
  • 0

#4 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 26.03.2012 15:43

w plugin_init dodaj

set_task(600.0,"wyłącz");

a i to

public wylącz()
{
	  new Players[33],num;
	  get_players(Players,num);
	  for(new id =0;id<num;id++)
	  {
			 remove_task(id+483);
	  }
}

może tak?
  • +
  • -
  • 0

#5 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 26.03.2012 16:09

@up
tak nie zablokujesz taska, trzeba by dodać nową zmienna albo użyć state albo ustawić cvara

powinno zadziałać :P

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Respawn"
#define VERSION "1.0"
#define AUTHOR "amxx.pl"

new HamHook:fHamKilled;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);

fHamKilled = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
register_clcmd("say /respawn", "Respawn");
register_clcmd("say /start", "Respawn");

register_cvar("amx_respawn", "1");
register_cvar("amx_autorespawn", "1");

set_task(600.0, "WylaczHama");
}

public WylaczHama()
{
if(fHamKilled)
DisableHamForward(fHamKilled);
}

public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(id) || !get_cvar_num("amx_autorespawn"))
return HAM_IGNORED;

set_task(0.6, "Respawn", id+483);
return HAM_IGNORED;
}

public Respawn(id)
{
if(id <= 32)
{
if(!get_cvar_num("amx_respawn"))
{
client_print(id, 3, "Respawn wylaczony");
return PLUGIN_HANDLED;
}
}
else
id -= 483;

if(!is_user_connected(id) || is_user_alive(id) || !(0 < _:cs_get_user_team(id) < 3))
return PLUGIN_CONTINUE;

ExecuteHamB(Ham_CS_RoundRespawn, id);
return PLUGIN_HANDLED;
}


Użytkownik Cypis' edytował ten post 26.03.2012 15:57

  • +
  • -
  • 0




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

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