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

[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


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

#1 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 24.09.2014 17:41

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 ;/


  • +
  • -
  • 0

#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 24.09.2014 18:05

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!");
            }

  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 Dziobak?

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 24.09.2014 21:32

 

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.


  • +
  • -
  • 0

#4 Petpat

    Wszechwidzący

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:246
  • Imię:Łukasz
  • Lokalizacja:Rzeszów
Offline

Napisano 24.09.2014 21:53

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
}

  • +
  • -
  • 0

#5 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 25.09.2014 06:12   Najlepsza odpowiedź

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

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#6 Dziobak?

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 25.09.2014 13:23

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 :)


  • +
  • -
  • 0




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

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