←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak zmienić liczbę losowania ?


Najlepsza odpowiedź GwynBleidD 27.03.2014 16:18

Teraz każdy gracz może losować tylko raz na rundę , a jak mam ustawić aby losować można było 2 razy na rundę ?

Jeśli chcesz zmienić np. że gracz otrzymuję nagrodę w postaci od 1-100 to zamieniasz

Bo faktycznie o to autorowi chodziło... Przeczytaj może najpierw pierwszy post zanim odpowiesz, a nie na ślepo trafiasz z odpowiedzią na podstawie samej nazwy tematu...

Kluczowa jest tu tablica gUsed, musisz usunąć z niej bool: (jeśli jest ustawiony) a następnie przechowywać w niej ilość losowań na rundę, czyli:
gUsed[id][7]=true;
zamienić na:
++gUsed[id][7];
Następnie warunek:
if(!gUsed[id][7]){
zmieniasz na:
if(gUsed[id][7] < 2){
I masz max 2 losowania. Jak chcesz powrócić do 1 to jest prościej, bo wystarczy zmienić 2 na 1 w warunku. Tak samo 2 możesz zmienić na 10, żeby mieć max 10 losowań. Przejdź do postu
Zablokowany

  • +
  • -
unknowN. - zdjęcie unknowN. 27.03.2014

Witam, mam problem iż posiadam sklepik , w którym jest opcja losowania, która polega, że raz na runde za określoną ilość fragów można coś wylosować (np,+hp,fragi itp). Głowię się i głowię i nie mam pojęcia jak zwiększyć liczbę losować w ciągu rundy. Teraz każdy gracz może losować tylko raz na rundę , a jak mam ustawić aby losować można było 2 razy na rundę ?

public Losowanko(id)
{
new szName[33];
get_user_name(id, szName, 31);
switch(random_num(1,211))

-------------------------------------

case 8: {
			if(guf>=(3-cena2)){
				if(is_user_alive(id)){
					if(!gUsed[id][7]){
						fm_set_user_frags(id, guf-(3-cena2));
						set_task(1.0, "Losowanko",id);
						client_print(id, print_chat,"[%s] Bierzesz udzial w losowaniu",gszPrefix);
						gUsed[id][7]=true;
					}
					else client_print(id, print_chat,"[%s] Juz raz brales udzial w losowaniu",gszPrefix);
				}


Użytkownik unknowN. edytował ten post 27.03.2014 12:39
Odpowiedz

EffectivePL. - zdjęcie EffectivePL. 27.03.2014

Jak dobrze pamiętam to jest to. Czyli losuje ci od 1 do 211 

switch(random_num(1,211))

Jeśli chcesz zmienić np. że gracz otrzymuję nagrodę w postaci od 1-100 to zamieniasz
na:

switch(random_num(1,100))

Jeszcze coś na koniec

http://amxx.pl/dokum...f146/random_num

Odpowiedz

  • +
  • -
Najlepsza odpowiedź GwynBleidD - zdjęcie GwynBleidD 27.03.2014

Teraz każdy gracz może losować tylko raz na rundę , a jak mam ustawić aby losować można było 2 razy na rundę ?

Jeśli chcesz zmienić np. że gracz otrzymuję nagrodę w postaci od 1-100 to zamieniasz

Bo faktycznie o to autorowi chodziło... Przeczytaj może najpierw pierwszy post zanim odpowiesz, a nie na ślepo trafiasz z odpowiedzią na podstawie samej nazwy tematu...

Kluczowa jest tu tablica gUsed, musisz usunąć z niej bool: (jeśli jest ustawiony) a następnie przechowywać w niej ilość losowań na rundę, czyli:
gUsed[id][7]=true;
zamienić na:
++gUsed[id][7];
Następnie warunek:
if(!gUsed[id][7]){
zmieniasz na:
if(gUsed[id][7] < 2){
I masz max 2 losowania. Jak chcesz powrócić do 1 to jest prościej, bo wystarczy zmienić 2 na 1 w warunku. Tak samo 2 możesz zmienić na 10, żeby mieć max 10 losowań.
Odpowiedz

  • +
  • -
unknowN. - zdjęcie unknowN. 27.03.2014

Dzięki wielkie. Działa !!

 

/Do zamknięcia !

Odpowiedz
Zablokowany