Pana acum am obtinut 23% din 60 de euro.
Ajuta comunitatea cu o donatie si primesti in schimb VIP permanent pe server-ul CS.NextGamer.Ro si pe forum !


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Contributor: Wolf.[Tutorial] Countdown
#1
Astazi vreau sa va invat, cum sa va creati un countdown. De exemplu, sa zicem ca vrem sa apara un mesaj in hud, in care sa scrie:

[b]Quote:
In Y secunde vei primi o grenada de tip Z
[/b]

Iar acel mesaj sa fie permanent. (sa se repete, chiar si dupa ce primesti grenada)
1. Cream un vector global, de aproximativ 33 de pozitii, in care vom stoca numarul 10 (un exemplu (voi puteti sa puneti ce numar doriti))
[b][b]Code:[/b]
new g_iCountDown[ 33 ] = 10
[/b]

2. Acum vom crea un public numit client_putinserver. Cu parametrul id/index (respectiv id-ul playerului care se conecteaza). Ce este/ce face el? Acest public este chemat de fiecare data cand un player intra pe server; Mai precis http://www.amxmodx.org/doc/index.html?p ... server.htm
[b][b]Code:[/b]
public client_putinserver( id )
{

}
[/b]

3. Vom crea un task, care sa se repete pana la infinit. In cazul nostru, taskul se va repeta odata la 1 secunda; Atentie!!! Secunda va fi trecuta cu decimale. In cazul nostru, de tip float, respectiv 1.0.
[b][b]Code:[/b]
set_task( 1.0, "countDown", id, _, _, "b", _ );
[/b]

4. Cream publicul care este executat de task, cu parametrul id/index (in cazul nostru countDown)
[b][b]Code:[/b]
public countDown( id )
{

}
[/b]

5. Acum vom verifica daca variabila globala, g_iCountDown, este mai mica/sau egala cu 0; Daca este, vom verifica daca playerul este in viata, iar daca este, ii vom da o grenada de tip he
[b][b]Code:[/b]
if( g_iCountDown[ id ] <= 0 )
{
   if( is_user_alive( id ) )
   {
      give_item( id, "weapon_hegrenade" );
   }

   g_iCountDown[ id ] = 10;
}
[/b]

6. Vom adauga o exceptie, mai pe inteles, daca variabila globala, g_iCountDown nu este mai mica/sau egala cu 0, vom scade din ea cate 1, si vom adauga un mesaj hud.
[b][b]Code:[/b]
else
{
   g_iCountDown[ id ]--;
   
   set_hudmessage( 150, 10, 10, -1.0, 0.28, 0, 1.0 );
   show_hudmessage( id, "Vei primi o grenada in %i secunde.", g_iCountDown[ id ] );
}
[/b]


In final iese cam asa:
Ascunde codul
#include < amxmodx >
#include < fun >



#define PLUGIN "Count down"
#define VERSION "0.1"


new g_iCountDown[ 33 ] = 10;


public plugin_init( )
{
register_plugin( PLUGIN, VERSION, "falseq" );
}

public client_putinserver( id )
{
set_task( 1.0, "countDown", id, _, _, "b", _ );
}

public countDown( id )
{
if( g_iCountDown[ id ] <= 0 )
{
if( is_user_alive( id ) )
{
give_item( id, "weapon_hegrenade" );
}

g_iCountDown[ id ] = 10;
}

else
{
g_iCountDown[ id ]--;

set_hudmessage( 150, 10, 10, -1.0, 0.28, 0, 1.0 );
show_hudmessage( id, "Vei primi o grenada in %i secunde.", g_iCountDown[ id ] );
}
}



#2
T/C
                [Image: fgRMHmJ.jpg]


Forum Jump:


Users browsing this thread: 1 Guest(s)