Jump to content

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

Posted Image Posted Image

Guest Message by DevFuse
 

Photo

Ilość wartości enuma


Best Answer Rivit , 28.07.2019 09:27

#include <amxmodx>

#define stepSize 2

enum _:someName (+= stepSize)
{
	someValue,
	someOtherValue,
	biggerValue
};

public plugin_init(){


	log_amx("%i | %i", someName/stepSize, someName)

}

someName będzie ilością elementów, a jak masz stepsize inny to trzeba podzielić.

 

Czyli log powinien dać 3 | 6

Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 Robiin

    Godlike

  • Support Team

Reputacja: 1,107
Super Hero

  • Postów:2,053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Posted 27.07.2019 20:54

Można jakoś wykryć ilośc wartości, jaką przechowuje enum?

Wiem, że w pythonie mogę użyć metody len a w C# użyć Count z pomocą wielu innych metod.

Poradziłem sobie z samym wyliczaniem ilości elementów, ale zastanawiam się czy jest jakaś wbudowana funkcja albo inny sposób (najlepiej bez dodawania kolejnego elementu).

 

Na ten moment przychodzi mi na myśl tylko tworzenie dodatkowego elementu i obliczanie wartości:

#define stepSize 1

enum _:someName (+= stepSize)
{
	someValue,
	someOtherValue,
	biggerValue,
	lastElementOfEnumerator 
};

log_amx("Enum's highest value: %i (items count: %i)", lastElementOfEnumerator - stepSize, floatround(float((lastElementOfEnumerator - stepSize) / stepSize)));

  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#2 Rivit

    Godlike

  • Support Team

Reputacja: 1,319
Godlike

  • Postów:4,381
Offline

Posted 27.07.2019 22:48

enum _:g_iStartDay
{
	DAY_NONE, DAY_GRAVITY, DAY_FREEDAY,
	DAY_ZOMBIE, DAY_LAVA, DAY_SHARK
};

new const g_iStartDayNames[g_iStartDay][] =
{
	"", "JB_DAYNAME_GRAVITY", "JB_DAYNAME_FREEDAY",
	"JB_DAYNAME_ZOMBIE", "JB_DAYNAME_LAVA", "JB_DAYNAME_SHARK"
};

Chyba, że coś źle rozumiem to o co pytasz.

Czy u Ciebie wartością będzie: someName ?

 

 


Edited by TibacK, 27.07.2019 22:52.

  • +
  • -
  • 1

#3 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1,107
Super Hero

  • Postów:2,053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Posted 27.07.2019 23:27

Chcę wiedzieć ile elementów ma enum

 

W przypadku pierwszego posta będzie to 4.

 


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#4 tytusek

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:822
Offline

Posted 27.07.2019 23:30

sizeof ?


  • +
  • -
  • 2

#5 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1,107
Super Hero

  • Postów:2,053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Posted 28.07.2019 02:07

Nie działa na enuma


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#6 Rivit

    Godlike

  • Support Team

Reputacja: 1,319
Godlike

  • Postów:4,381
Offline

Posted 28.07.2019 09:27   Best Answer

#include <amxmodx>

#define stepSize 2

enum _:someName (+= stepSize)
{
	someValue,
	someOtherValue,
	biggerValue
};

public plugin_init(){


	log_amx("%i | %i", someName/stepSize, someName)

}

someName będzie ilością elementów, a jak masz stepsize inny to trzeba podzielić.

 

Czyli log powinien dać 3 | 6


Robiin (28.07.2019 09:42):
Tak oczywiste, że aż boli. Dzięki :)
Rivit (28.07.2019 09:45):
Toć Ci mówił ja wcześniej :D

Edited by TibacK, 28.07.2019 09:27.

  • +
  • -
  • 1




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users