←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Edycja Pluginu
[ROZWIĄZANE] Edycja losowania w sklepiku


Najlepsza odpowiedź Drago36 27.03.2014 16:36

Prawdopodobnie to powoduje dalszą blokadę losowań.

gUsed[id][6]=true;

Nie jestem pewny czy to pomoże, ale sprawdź.

Dodaj pod bibliotekami:

new iBuyCount
const iMaxBuy = 3 // <=ile razy mozna losowan na runde

Następnie zarejestruj nową rundę (chyba że masz to kod możesz tam wlepić):

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

I najlepiej wrzuć na koniec ten public:

public event_round_start()
{
    iBuyCount = 0
}

A teraz podmieniasz cały kod który pokazałeś na mój:

case 6: {
if(guf>=(3-cena2)){
if(is_user_alive(id)){
if(!gUsed[id][6]){
if(iBuyCount >= iMaxBuy)
{
gUsed[id][6]=true;
}
iBuyCount++
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);
}
else client_print(id, print_chat,"[%s] Mozna tylko 3 razy na runde losowac",gszPrefix);
}
else {
if(!gUsed[id][7]){
if(iBuyCount >= iMaxBuy)
{
gUsed[id][7]=true;
}
iBuyCount++
fm_set_user_frags(id, guf-(3-cena2));
los_respawn(id);
}
else client_print(id, print_chat,"[%s] Mozna tylko 3 razy na runde brac udzial w losowaniu respawnu",gszPrefix);
}
}
else client_print(id, print_chat,"[%s] Nie masz tylu fragow",gszPrefix);
WyswietlShopMen(id);
}
}
Przejdź do postu
Zablokowany

  • +
  • -
papasmerf1222 - zdjęcie papasmerf1222 27.03.2014

case 6: {
if(guf>=(3-cena2)){
if(is_user_alive(id)){
if(!gUsed[id][6]){
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][6]=true;
}
else client_print(id, print_chat,"[%s] Juz raz brales udzial w losowaniu",gszPrefix);
}
else {
if(!gUsed[id][7]){
fm_set_user_frags(id, guf-(3-cena2));
los_respawn(id);
gUsed[id][7]=true;
}
else client_print(id, print_chat,"[%s] Juz raz brales udzial w losowaniu respawnu",gszPrefix);
}
}
else client_print(id, print_chat,"[%s] Nie masz tylu fragow",gszPrefix);
WyswietlShopMen(id);
}
}

Co muszę przestawić w tym kodzie żebym mógł losować 3x na rundę a nie 1x

Z góry dzięki wielkie za pomoc.

 

Odpowiedz

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

Prawdopodobnie to powoduje dalszą blokadę losowań.

gUsed[id][6]=true;

Nie jestem pewny czy to pomoże, ale sprawdź.

Dodaj pod bibliotekami:

new iBuyCount
const iMaxBuy = 3 // <=ile razy mozna losowan na runde

Następnie zarejestruj nową rundę (chyba że masz to kod możesz tam wlepić):

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

I najlepiej wrzuć na koniec ten public:

public event_round_start()
{
    iBuyCount = 0
}

A teraz podmieniasz cały kod który pokazałeś na mój:

case 6: {
if(guf>=(3-cena2)){
if(is_user_alive(id)){
if(!gUsed[id][6]){
if(iBuyCount >= iMaxBuy)
{
gUsed[id][6]=true;
}
iBuyCount++
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);
}
else client_print(id, print_chat,"[%s] Mozna tylko 3 razy na runde losowac",gszPrefix);
}
else {
if(!gUsed[id][7]){
if(iBuyCount >= iMaxBuy)
{
gUsed[id][7]=true;
}
iBuyCount++
fm_set_user_frags(id, guf-(3-cena2));
los_respawn(id);
}
else client_print(id, print_chat,"[%s] Mozna tylko 3 razy na runde brac udzial w losowaniu respawnu",gszPrefix);
}
}
else client_print(id, print_chat,"[%s] Nie masz tylu fragow",gszPrefix);
WyswietlShopMen(id);
}
}
Odpowiedz

  • +
  • -
papasmerf1222 - zdjęcie papasmerf1222 27.03.2014

Zrobiłem tak jak napisałeś. Teraz w pierwszej rundzie po zmianie mapy mogę losować 4x. A w kolejnych rundach do końca mapy już mogę tylko 1x na rundę.

Odpowiedz

  • +
  • -
Drago36 - zdjęcie Drago36 27.03.2014

Musiałeś zapomnieć o:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

i kodzie na końcu

public event_round_start()
{
    iBuyCount = 0
}

I zamiast:

const iMaxBuy = 3 // <=ile razy mozna losowan na runde

Daj:

const iMaxBuy = 2 // <=ile razy mozna losowan na runde
Odpowiedz

  • +
  • -
papasmerf1222 - zdjęcie papasmerf1222 27.03.2014

Przy kompilowaniu mam 2x warning

 

Warning: Loose indentation on line 178
Warning: Loose indentation on line 191
Header size:           1776 bytes
Code size:            23368 bytes
Data size:            16380 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:   57908 bytes
 
2 Warnings.
Done.

 

 

I ten warning to jest iBuyCount++ od tego.

Zaraz napisze czy działa plugin bo właśnie go sprawdzam.

Edit: Dalej jest tak samo i wszystko dopisałem tak jak powinno być z tym, że teraz na początku rundy mogę losować 3x, a potem tak jak wcześniej 1x.

Użytkownik papasmerf1222 edytował ten post 27.03.2014 18:49
Odpowiedz

  • +
  • -
Drago36 - zdjęcie Drago36 27.03.2014

Wrzuć tutaj plik sklepu .sma

Odpowiedz

  • +
  • -
papasmerf1222 - zdjęcie papasmerf1222 28.03.2014

Okej już sobie poradziłem był podobny temat na forum ale dziękuję za pomoc tak czy inaczej oraz leci plusik dla Ciebie ;)

Pozdrowionka

Odpowiedz
Zablokowany