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

Błędne przypisywanie w menuBłędne przypisywanie w menu


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

#1 MaxioR

    Wszechpomocny

  • Użytkownik

Reputacja: 83
Zaawansowany

  • Postów:352
  • Lokalizacja:Poland
Offline

Napisano 17.08.2015 20:23

Witam, posiadam problem mianowicie mam plugin, który blokuje dmg u gracza, lecz posiada on błędy w menu, tzn. od numeru 1-6 menu wszystko jest ok, lecz problem pojawia sie, gdy chcemy wybrać 7 wtedy plugin blokuje hltv.

cyzi2k.jpg
Następnie na drugiej stronie każda pozycja tj. 0d 1-7 blokuje hltv.

 

#include <amxmodx>
#include <hamsandwich>
 
new bool:g_bCantShoot[33];
new iMaxPlayers;
 
public plugin_init()
{
register_plugin("Block Damage for Player", "0.1", "asiap");
 
register_clcmd("say /admin", "Clcmd_Admin", ADMIN_BAN);
 
RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
 
iMaxPlayers = get_maxplayers();
}
 
public Clcmd_Admin(id, iBitFlag)
{
if(~get_user_flags(id) & iBitFlag)
{
console_print(id,  "Nie masz dostepu do tej komendy.");
return PLUGIN_HANDLED;
}
new szNum[3], szName[48];
new menu = menu_create("\yWybierz gracza", "Handle_Admin");
for(new i = 1; i <= iMaxPlayers; i++)
{
if(!is_user_connected(i) || is_user_hltv(i) || i == id)
{
continue;
}
get_user_name(i, szName, 31);
 
if(g_bCantShoot[i])
{
add(szName, 47, " \R[ODBLOKUJ]");
}
 
num_to_str(i, szNum, 2);
menu_additem(menu, szName, szNum);
}
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
return menu_display(id, menu);
}
 
public Handle_Admin(id, menu, item)
{
new iBitAccess, szData[2], szName[32], iPid;
menu_item_getinfo(menu, item, iBitAccess, szData, 1, _, _, iPid);
 
iPid = str_to_num(szData);
get_user_name(iPid, szName, 31);
 
g_bCantShoot[iPid] = !g_bCantShoot[iPid];
client_print(id, print_chat, "%sblokowales mozliwosc zadawania obrazen graczowi ^"%s^"", g_bCantShoot[iPid] ? "Za" : "Od", szName);
}
 
public TraceAttack(id, iAttacker, Float:fDamage)
{
if(!is_user_connected(iAttacker) || !is_user_connected(id) || !g_bCantShoot[iAttacker]) return HAM_IGNORED;
 
SetHamParamFloat(3, 0.0);
return HAM_SUPERCEDE;
}

  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 18.08.2015 00:45

sprobuj

new iBitAccess, szData[2], szName[32], iPid;
menu_item_getinfo(menu, item, iBitAccess, szData, 1, _, _, iPid);

na

new iBitAccess, szData[3], szName[32], iPid;
menu_item_getinfo(menu, item, iBitAccess, szData, 2, _, _, iPid);

  • +
  • -
  • 2

#3 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

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

Napisano 18.08.2015 00:55

@up powinno rozwiązać twój problem, ponieważ gdy masz szData z dwoma zarezerwowanymi bajtami, może zmieścić się tam tylko jedna cyfra / jeden znak (Ponieważ w pawnie ostatni bajt musi być pusty)

 

wybierasz 12 zwróci 1

wybierasz 412 zwróci 4

Użytkownik NoLiFeR edytował ten post 18.08.2015 00:56

  • +
  • -
  • 1




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

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