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

MenuCallBack jak zrobić niemożliwy wybór w menu ?


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 woras

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:146
  • Lokalizacja:bydgoszcz
Offline

Napisano 14.05.2015 14:21

Cześć

 

Mam tak, ranking buntowników i życzeń na serwerze.

Odpowiednio zablokowane że w piątek i sobotę wybór duszka jest niemożliwy.

Lecz w funkcje można klikać i przez to, ludzie nabijają ranking życzeń do nie wiadomej jakiej liczby ...

 

Oryginalny kod, wygląda teraz tak (pokaże na freedayu):

else if(zyczenie == id_freeday)
{
if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd
return JAIL_HANDLED;
 
user_kill(id);
jail_set_prisoner_free(id, true); 
}

Po dodaniu menucallback jest tak:
 
else if(zyczenie == id_freeday)
(
public mcbMyMenu(id, menu, item){
if(0 <= item <= 2 && (jail_get_days() == PIATEK || jail_get_days() == SOBOTA)) 
return ITEM_DISABLED;
return ITEM_ENABLED;
return JAIL_HANDLED;
 
user_kill(id);
jail_set_prisoner_free(id, true);
 
}
)
 
 
Tylko że wyskakuje błąd krytyczny przy kompilacji 
amxx fatal error 103 insufficient memory
 
 
Ktoś pomoże
Poda odpowiednią funkcję ?
 

Użytkownik woras edytował ten post 14.05.2015 14:22

  • +
  • -
  • 0

#2 Kowalsky

    master of disaster

  • Użytkownik

Reputacja: 136
Zaawansowany

  • Postów:424
  • Lokalizacja:San José
Offline

Napisano 15.05.2015 12:44

Jak można w warunku dać pełną funkcje? Pokaż lepiej cały ten kod. I przerobiony i oryginalny.


  • +
  • -
  • 0

#3 woras

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:146
  • Lokalizacja:bydgoszcz
Offline

Napisano 16.05.2015 11:46

Oryginalny

public OnLastPrisonerTakeWish(id, zyczenie)
{
if(zyczenie == id_bezruch)
{
strip_user_weapons(id);
give_item(id, "weapon_knife");
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, maxAmmo[CSW_DEAGLE]);
 
jail_set_ct_hit_tt(true);
 
for(new i=1; i<=32; i++)
{
if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT)
continue;
 
strip_user_weapons(i);
give_item(i, "weapon_knife");
jail_set_user_speed(i, 0.1);
}
}
else if(zyczenie == id_freeday)
{
if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd
return JAIL_HANDLED;
 
user_kill(id);
jail_set_prisoner_free(id, true); 
}
else if(zyczenie == id_podpalenie){
for(new i=1; i<=32; i++){
if(is_user_alive(i) && get_user_team(i) == 2){
exec_punishmentfire()
}
}
set_user_health(id, 3000);}
 
else if(zyczenie == id_duszek)
{
if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść duszka
return JAIL_HANDLED;
 
user_kill(id);
jail_set_prisoner_ghost(id, true);
}
else if(zyczenie == id_rambomod)
{
client_cmd(0, "spk jb_cypis/rambomode.wav");
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 4.0);
show_hudmessage(0, "RamboMod aktywny!");
 
set_user_health(id, 1500);
 
strip_user_weapons(id);
give_item(id, "weapon_knife");
give_item(id, "weapon_m249");
cs_set_user_bpammo(id, CSW_M249, maxAmmo[CSW_M249]);
}
else if(zyczenie == id_m4a1)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_M4A1
 
MenuPojedynek(id);
}
else if(zyczenie == id_ak47)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_AK47
 
MenuPojedynek(id);
}
 
else if(zyczenie == id_scouty)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_SCOUT;
 
MenuPojedynek(id);
}
else if(zyczenie == id_awp)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_AWP;
 
MenuPojedynek(id);
}
else if(zyczenie == id_autolama)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_SG550;
 
MenuPojedynek(id);
}
else if(zyczenie == id_m249)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_M249;
 
MenuPojedynek(id);
}
else if(zyczenie == id_deagle)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_DEAGLE;
 
MenuPojedynek(id);
}
else if(zyczenie == id_rpg)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_G3SG1;
 
MenuPojedynek(id);
}
else if(zyczenie == id_noze)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_KNIFE;
 
MenuPojedynek(id);
}
else if(zyczenie == id_he)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_HEGRENADE;
 
MenuPojedynek(id);
}
return JAIL_CONTINUE;
} 

W public dałem tak:

public mcbMyMenu(id, menu, item)
{
if(0 <= item <= 1 && (jail_get_days() == PIATEK || jail_get_days() == SOBOTA))
return ITEM_DISABLED;
 
if (item == 0) {
if (id == id_freeday || id_duszek)
return ITEM_DISABLED;
} else {
if(id != id_freeday || id_duszek)
return ITEM_DISABLED;
}
 
return ITEM_ENABLED;
}

Użytkownik woras edytował ten post 16.05.2015 11:48

  • +
  • -
  • 0

#4 woras

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:146
  • Lokalizacja:bydgoszcz
Offline

Napisano 16.05.2015 23:32

Załączony plik  jail_zyczenia.sma   15,49 KB  19 Ilość pobrań
  jail_zyczenia.amxx

 

i

 

public mcbMyMenu(id, menu, item)
{
if(0 <= item <= 1 && (jail_get_days() == PIATEK || jail_get_days() == SOBOTA))
return ITEM_DISABLED;
 
if (item == 0) {
if (id == id_freeday || id_duszek)
return ITEM_DISABLED;
} else {
if(id != id_freeday || id_duszek)
return ITEM_DISABLED;
}
 
return ITEM_ENABLED;
}

  • +
  • -
  • 0

#5 woras

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:146
  • Lokalizacja:bydgoszcz
Offline

Napisano 23.05.2015 10:57

znajdę pomoc u użytkowników amxx :)?


  • +
  • -
  • 0

#6 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.05.2015 23:34

1. - Nie rób publicków w publicku. Od tego error.
 

2. - Gotowe. (callback dodajesz w API jailbreaka, w tych życzeniach nie ma tego.)

Załączony plik  jail_zyczenia.sma   15,24 KB  19 Ilość pobrań
  jail_zyczenia.amxx

 

3. Daj sma api. Tylko w nim można tego dokonać.


Użytkownik NoLiFeR edytował ten post 27.05.2015 23:38

  • +
  • -
  • 1

#7 woras

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:146
  • Lokalizacja:bydgoszcz
Offline

Napisano 28.05.2015 05:42

Co ty gadasz że nie można w jail_zyczenia jak już miałem zablokowany wybór w sobotę i niedzielę.

Zablokowane tylko że bez callback i dlatego chce dodać do tego callback w te dni.

Właśnie w jail_zyczenia i ty mi to z tego usunąłeś :D

 

było to tak:

else if(zyczenie == id_freeday)
{
if(jail_get_days() == PIATEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd
return JAIL_HANDLED;
 
user_kill(id);
jail_set_prisoner_free(id, true); 
}

 

a teraz tak:

 

else if(zyczenie == id_freeday)
{
user_kill(id);
jail_set_prisoner_free(id, true); 
}

 

usunąłeś blokadę :D


  • +
  • -
  • 0

#8 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.05.2015 14:57

Tak -.- ale ty chcesz aby wyboru nie dało się wybrać(w sensie nie mozna nawet klinkac), bo tylko wtedy nie naliczy Ci ranku życzeń. A wtedy ten w/w protector jest zbędny.


Użytkownik NoLiFeR edytował ten post 28.05.2015 14:58

  • +
  • -
  • 1

#9 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.05.2015 19:00

Jeżeli nie chcesz upubliczniania daj sma na pw. 


  • +
  • -
  • 1




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

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