Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Zrobienie funkcji (stocka) do kodu


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

#1 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 28.05.2011 16:12

Witam. Mam taki kod
new disallowed[] = { CSW_SCOUT, CSW_XM1014, CSW_MAC10 }
new weapons[32], num, bool:has = false;
get_user_weapons(id, weapons, num);
for(new i=0; i<num; i++) {
for(new o=0; o<sizeof(disallowed); o++) {
if(weapons[i] == disallowed[o]) {
has = true;
break;
}
}
if(has) break;
}

i nie bardzo wiem jak to napisać, żeby zrobić z tego stock, który będzie zwracał true, albo false. Oczywiście numerki w "disallowed" mają się zmieniać w zależności co wpiszemy do stocka. Może ktoś mógłby napisać taki stock? Albo może jest już coś podobnego?
Pseudo kod
stock bronie(id, id_wybranych_broni) {
new disallowed[] = { id_wybranych_broni }
new weapons[32], num, bool:has = false;
get_user_weapons(id, weapons, num);
for(new i=0; i<num; i++) {
for(new o=0; o<sizeof(disallowed); o++) {
if(weapons[i] == disallowed[o]) {
has = true;
break;
}
}
if(has) break;
}
}

  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#2 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 587
Wszechwiedzący

  • Postów:2013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 28.05.2011 16:53

o to ci chodzi ?
stock bool:bronie(id, disallowed[])
{
new weapons[32], num, bool:has = false;
get_user_weapons(id, weapons, num);
for(new i=0; i<num; i++)
{
for(new o = 0; o < sizeof(disallowed); o++)
{
if(weapons[i] == disallowed[o])
{
has = true;
break;
}
if(has) break;
}
}
return has;
}

  • +
  • -
  • 1

#3 sebul

    Godlike

  • Autor tematu
  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 28.05.2011 17:12

No mniej więcej, ale tutaj chyba najpierw będę musiał zrobić tablicę z id broni...? Nie da się tak, żeby od razu w funkcji "bronie" w miejsce "disallowed" wypisywało by się te id?

Dodano 28 maj 2011 - 18:45:
Warning: Indeterminate array size in "sizeof" expression (symbol "") on line 1911
Hmmm... Chyba trzeba to zrobić trochę inaczej, ale już wiem jak, tak jak w taskach powinno być dobrze, zaraz sprawdzę.

Dodano 28 maj 2011 - 19:00:
Zrobiłem tak
new disallowed[] = { CSW_SCOUT, CSW_XM1014, CSW_MAC10 }
new bool:mabronie = sprawdz_bronie(id, disallowed, sizeof(disallowed));

stock bool:sprawdz_bronie(id, disallowed[], ile) {
new weapons[32], num, bool:has = false;
get_user_weapons(id, weapons, num);
for(new i=0; i<num; i++) {
for(new o=0; o<ile; o++) {
if(weapons[i] == disallowed[o]) {
has = true;
break;
}
}
if(has) break;
}
return has;
}

I błędów nie ma, sprawdza chyba też dobrze, szkoda tylko, że nie da się jeszcze tego ukrócić (chyba), ale tak też może być. Można zamknąć.

Użytkownik sebul edytował ten post 28.05.2011 18:00

  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu




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

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