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

Poszukiwany "noob spawn"


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

#1 Julia

    Profesjonalista

  • Girl

Reputacja: 36
Życzliwy

  • Postów:163
  • Steam:steam
  • Imię:Julia
  • Lokalizacja:Gdynia
Offline

Napisano 29.07.2011 20:55

Plugin, zasadniczo ma być przeznaczony na DR. Chodzi o to, by zrespił gracza, gdy ten spadnie x sekund po rozpoczęciu rundy (do ustawienia za pomocą cvaru). Taki plugin widziałam na serwerze zagranicznym.
BTW, żeby respiło od razu po spadnięciu, bez żadnego lipnego info. :D

Użytkownik Julia edytował ten post 29.07.2011 21:21

  • +
  • -
  • 0

#2 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 30.07.2011 21:56

Zmieniasz sobie cvarem amx_noobresp_time
Możliwe że nie działa, jak nie działa to pisz tutaj ; d
#edit
Mała poprawka co by nie próbowało respić spectatorów :D

#include <amxmodx>
#include <hamsandwich>

#define PLUGIN "Noob respawner"
#define AUTHOR "Dawedov"
#define VERSION "1.0"

#define TASK_COUNTER 453

new gCvarTime;
new gTimeCounter;

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

gCvarTime = register_cvar( "amx_noobresp_time", "10" );

register_event( "HLTV", "ResetCounter", "a", "1=0", "2=0" );
register_event( "DeathMsg", "DeathMessage_Hook", "a" )
register_logevent( "StartCount", 2, "1=Round_Start" );
}
public ResetCounter()
gTimeCounter = 0;

public StartCount()
set_task( float( get_pcvar_num( gCvarTime ) ), "addToCounter", TASK_COUNTER );

public addToCounter()
{
gTimeCounter++;
if( gTimeCounter >= get_pcvar_num( gCvarTime ) && task_exists( TASK_COUNTER ) )
remove_task( TASK_COUNTER );
}
public DeathMessage_Hook()
{
new id = read_data( 2 );

if( gTimeCounter <= get_pcvar_num( gCvarTime ) && get_user_team( id ) != 3 )
ExecuteHamB( Ham_CS_RoundRespawn, id )
}

Użytkownik Dawedov edytował ten post 30.07.2011 22:01

Nie pomagam na PW, tylko na forum.


#3 Julia

    Profesjonalista

  • Autor tematu
  • Girl

Reputacja: 36
Życzliwy

  • Postów:163
  • Steam:steam
  • Imię:Julia
  • Lokalizacja:Gdynia
Offline

Napisano 31.07.2011 21:25

Próbowałam użyć tego na new game. 4 razy. Kiedy spadałam, za każdym razem zawieszał mi się, a to oznacza, że coś jest nie tak. :P
  • +
  • -
  • 0

#4 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 31.07.2011 21:55

Nie wiem czemu nie można spawnować odraz z deathmsg, dobra nvm. To działa:

#include <amxmodx>
#include <hamsandwich>

#define PLUGIN "Noob respawner"
#define AUTHOR "Dawedov"
#define VERSION "1.0"

#define TASK_COUNTER 453
#define TASK_WSKRZES 593

new gCvarTime;
new gTimeCounter;

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

gCvarTime = register_cvar( "amx_noobresp_time", "10" );

register_event( "HLTV", "ResetCounter", "a", "1=0", "2=0" );
register_event( "DeathMsg", "DeathMessage_Hook", "ade" )
register_logevent( "StartCount", 2, "1=Round_Start" );
}
public ResetCounter()
gTimeCounter = 0;

public StartCount()
set_task( float( get_pcvar_num( gCvarTime ) ), "addToCounter", TASK_COUNTER );

public addToCounter()
{
gTimeCounter++;
if( gTimeCounter >= get_pcvar_num( gCvarTime ) && task_exists( TASK_COUNTER ) )
remove_task( TASK_COUNTER );
}
public DeathMessage_Hook()
{
new id = read_data(2);

if( gTimeCounter <= get_pcvar_num( gCvarTime ) && get_user_team( id ) != 3 )
set_task( 0.1, "taskWskrzes", id+TASK_WSKRZES );

return PLUGIN_HANDLED;
}
public taskWskrzes( taskid )
{
new id = taskid - TASK_WSKRZES;
ExecuteHamB( Ham_CS_RoundRespawn, id );
}





# 2 posty nizej
Wiem że jest i dopiero pomyślałem o tym jak już to napisałem, a nie chciało mi się zmieniać tego kodu. W sumie to nawet zastanawiałem się dlaczego tak to zrobiłem.

Co do tego że respiło po czasie to sprawdzałem tylko czy respawnuje bo wydawało mi się że dobrze to napisałem xD



Użytkownik Dawedov edytował ten post 06.08.2011 16:51

Nie pomagam na PW, tylko na forum.


#5 Julia

    Profesjonalista

  • Autor tematu
  • Girl

Reputacja: 36
Życzliwy

  • Postów:163
  • Steam:steam
  • Imię:Julia
  • Lokalizacja:Gdynia
Offline

Napisano 04.08.2011 17:34

Działa, ale coś jest nie tak z czasem tzn. po czasie dalej respi (przynajmniej na new game ^^).

Użytkownik Julia edytował ten post 04.08.2011 17:36

  • +
  • -
  • 0

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.08.2011 18:26

Dawedov, jak już puszczasz taska do kontroli czasu to z flagą "b" lub "a", no i jest łatwiejszy sposób na upilnowanie tych 10 sekund

Julia, spróbuj tego
#include <amxmodx>
#include <hamsandwich>

#define PLUGIN  "Noob respawner"
#define AUTHOR  "Dawedov&R3X"
#define VERSION "1.0"

#define TASK_WSKRZES 593

new gCvarTime;
new Float:gfTime;

public plugin_init()
{
        register_plugin( PLUGIN, VERSION, AUTHOR )
        
        gCvarTime = register_cvar( "amx_noobresp_time", "10" );
        
        register_event( "DeathMsg", "DeathMessage_Hook", "ade" )
        register_logevent( "StartCount", 2, "1=Round_Start" );
}

public StartCount(){
	gfTime = get_gametime();
	gfTime += get_pcvar_float( gCvarTime );
}


public DeathMessage_Hook()
{
        new id = read_data(2);
        
	new Float:fNow = get_gametime();
	
        if( fNow < gfTime && get_user_team( id ) != 3 )
                set_task( 0.1, "taskWskrzes", id+TASK_WSKRZES );
        
        return PLUGIN_HANDLED;
}
public taskWskrzes( taskid )
{
        new id = taskid - TASK_WSKRZES;
        ExecuteHamB( Ham_CS_RoundRespawn, id );
}

  • +
  • -
  • 1

#7 Julia

    Profesjonalista

  • Autor tematu
  • Girl

Reputacja: 36
Życzliwy

  • Postów:163
  • Steam:steam
  • Imię:Julia
  • Lokalizacja:Gdynia
Offline

Napisano 06.08.2011 16:45

Dziękuję. +
  • +
  • -
  • 0




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

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