←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Użycie komendy raz na rundy


Najlepsza odpowiedź Wielkie Jol 25.09.2014 06:12

Jeżeli chcesz zrobić losowanie z jakąś tam liczbą możliwych trafów, to należałoby to zrobić tak:

public los(id)
{
 
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(block[id]){ // sprawdzamy czy wartosc nie przyjmuje true
ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!"); // gracz uzyl komendy wyswietlamy tekst, o tym
return PLUGIN_HANDLED; // zatrzymujemy dzialanie pluginu
}
// nie uzyl jeszcze komendy
block[id] = true; // ustawiamy wartosc na true, by nie mogl jej uzyc po raz kolejny
set_hudmessage(0, 255, 0, 0.41, 0.29, 0, 6.0, 1.0)
show_hudmessage(id, "Trwa losowanie!")
new totek = random_num(0, 1);
 
switch(totek)
{
case 0:
{
///// kod po wylosowaniu opcji 1
}
case 1:
{
///// kod po wylosowaniu opcji 2
}
}
return PLUGIN_CONTINUE
}

@Gwyn~

 

Nie ma nic takiego w regulaminie, że muszą być wcięcia.

Przejdź do postu
Zablokowany

  • +
  • -
Dziobak? - zdjęcie Dziobak? 24.09.2014

Tak jak w temacie, zrobiłem funkcję że komendy możesz użyć tylko raz na rundę, bynajmniej coś w tym stylu.

 

Oto kod:

new block[33];
public client_connect(id)
	block[id] = false;

public los(id)
{
	
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	
	set_hudmessage(0, 255, 0, 0.41, 0.29, 0, 6.0, 1.0)
	show_hudmessage(id, "Trwa losowanie!")
	new totek = random_num(0, 1);
	
	switch(totek)
	{
		case 0:
		{
			if(block[id])
			{	
				tetete[id]=true;
				ColorChat(id, NORMAL," tekst");
			}
			else
			{
				block[id] = true;
				ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!");
			}
		}
	}
	return PLUGIN_CONTINUE
}

Ale to nie działa ;/

Odpowiedz

  • +
  • -
Wielkie Jol - zdjęcie Wielkie Jol 24.09.2014

1. Raz na mapę czy raz na rundę?

2. Przestudiuj jeszcze raz co tutaj nawyprawiałeś.

 

            if(block[id])
            {    
                tetete[id]=true;
                ColorChat(id, NORMAL," tekst");
            }
            else
            {
                block[id] = true;
                ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!");
            }
Odpowiedz

  • +
  • -
Dziobak? - zdjęcie Dziobak? 24.09.2014

 

1. Raz na mapę czy raz na rundę?

2. Przestudiuj jeszcze raz co tutaj nawyprawiałeś.

            if(block[id])
            {    
                tetete[id]=true;
                ColorChat(id, NORMAL," tekst");
            }
            else
            {
                block[id] = true;
                ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!");
            }

 

haha, nie wiem o czym ja myślałem jak pisałem ten temat xD

 

Chodzi mi o wykonanie komendy tylko "JEDEN" raz na mapę.

 

No właśnie nie wiem właśnie, jak byś mógł mi pomóc to byłbym bardzo wdzięczny.

Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 24.09.2014

Jeśli chodziło Ci raz na mapę to masz, powinno działać, zmieniłem random_num(0,1) na 0,0, bo masz tylko jedne case ;)

 

new bool:block[33];

 

public client_connect(id)
    block[id] = true;

public los(id)
{
    
    if(!is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE;
    
    
    set_hudmessage(0, 255, 0, 0.41, 0.29, 0, 6.0, 1.0)
    show_hudmessage(id, "Trwa losowanie!")
    new totek = random_num(0, 0);
    
    switch(totek)
    {
        case 0:
        {
            if(block[id])
            {    
                block[id] = false;
                ColorChat(id, NORMAL," tekst");
            }
            else
            {
                ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!");
            }
        }
    }
    return PLUGIN_CONTINUE
}
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Wielkie Jol - zdjęcie Wielkie Jol 25.09.2014

Jeżeli chcesz zrobić losowanie z jakąś tam liczbą możliwych trafów, to należałoby to zrobić tak:

public los(id)
{
 
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(block[id]){ // sprawdzamy czy wartosc nie przyjmuje true
ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!"); // gracz uzyl komendy wyswietlamy tekst, o tym
return PLUGIN_HANDLED; // zatrzymujemy dzialanie pluginu
}
// nie uzyl jeszcze komendy
block[id] = true; // ustawiamy wartosc na true, by nie mogl jej uzyc po raz kolejny
set_hudmessage(0, 255, 0, 0.41, 0.29, 0, 6.0, 1.0)
show_hudmessage(id, "Trwa losowanie!")
new totek = random_num(0, 1);
 
switch(totek)
{
case 0:
{
///// kod po wylosowaniu opcji 1
}
case 1:
{
///// kod po wylosowaniu opcji 2
}
}
return PLUGIN_CONTINUE
}

@Gwyn~

 

Nie ma nic takiego w regulaminie, że muszą być wcięcia.


GwynBleidD (25.09.2014 08:51):
Naucz się wstawiać kod z poprawnymi wcięciami. Proszę poprawić post
Odpowiedz

  • +
  • -
Dziobak? - zdjęcie Dziobak? 25.09.2014

Jeżeli chcesz zrobić losowanie z jakąś tam liczbą możliwych trafów, to należałoby to zrobić tak:

public los(id)
{
 
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(block[id]){ // sprawdzamy czy wartosc nie przyjmuje true
ColorChat(id, NORMAL, "Ta opcje mozna uzyc raz na mape!"); // gracz uzyl komendy wyswietlamy tekst, o tym
return PLUGIN_HANDLED; // zatrzymujemy dzialanie pluginu
}
// nie uzyl jeszcze komendy
block[id] = true; // ustawiamy wartosc na true, by nie mogl jej uzyc po raz kolejny
set_hudmessage(0, 255, 0, 0.41, 0.29, 0, 6.0, 1.0)
show_hudmessage(id, "Trwa losowanie!")
new totek = random_num(0, 1);
 
switch(totek)
{
case 0:
{
///// kod po wylosowaniu opcji 1
}
case 1:
{
///// kod po wylosowaniu opcji 2
}
}
return PLUGIN_CONTINUE
}

@Gwyn~

 

Nie ma nic takiego w regulaminie, że muszą być wcięcia.

 

Dzięki, zadziałało :)

Odpowiedz
Zablokowany