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

limit znaków nazwy klanu i blokada założeniajak dodać blokadę założenia klanu jeśli ilość znaków przekracza ustalony limit


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

#1 FinalRing

    Pomocny

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:43
  • Imię:Kacper
  • Lokalizacja:Bydgoszcz
Offline

Napisano 23.10.2016 16:36

Witam korzystam z cod_klany by donaciak z tego tematu https://amxx.pl/topic/152515-klany/

 

Chciałbym zapytać jak dodać blokadę przy tworzeniu klanu aby po przekroczeniu 9 znaków klanu nie dało się stworzyć?? 


  • +
  • -
  • 0

#2 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 24.10.2016 20:54

public cmd_WpisalNazweKlanu(id)
{
	if(g_iIdAktywnegoKlanuGracza[id])
	{
		PrintMsg(id, "Wystapil blad.");
		return PLUGIN_CONTINUE;
	}
	
#if defined WYMAGANA_ILOSC_MONET
	if(cod_get_user_coins(id) < WYMAGANA_ILOSC_MONET)
	{
		PrintMsg(id, "Wystapil blad.");
		return PLUGIN_CONTINUE;
	}
#endif
	new szNazwaKlanu[32], szKluczVault[128], szDaneVault[32], szNick[32];
	read_argv(1, szNazwaKlanu, 31);

Do w/w funkcji dodaj:

if(strlen(szNazwaKlanu) > 9)
{
     ColorChat(id,RED,"Nazwa jest za dluga")
     return plugin_continue;
}

P.S 3 parametr funkcji read_argv to wielkość tablicy ( a co za tym idzie maksymalna liczba wczytanych znaków ).

 

Warunek ten powinieneś dodać również w momencie gdy gracz próbuje zmienić nazwę klanu :)


  • +
  • -
  • 1

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#3 FinalRing

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:43
  • Imię:Kacper
  • Lokalizacja:Bydgoszcz
Offline

Napisano 24.10.2016 21:27

Niestety klan dalej da się stworzyć tyle, że ucina jego nazwę do 9 znaków a mi chodzi by gdy przekroczy się ta liczbę klan się nie tworzył

 

kod

public cmd_WpisalNazweKlanu(id)
{
if(g_iIdAktywnegoKlanuGracza[id])
{
PrintMsg(id, "Wystapil blad.");
return PLUGIN_CONTINUE;
}
 
#if defined WYMAGANA_ILOSC_MONET
if(cod_get_user_coins(id) < WYMAGANA_ILOSC_MONET)
{
PrintMsg(id, "Wystapil blad.");
return PLUGIN_CONTINUE;
}
#endif
new szNazwaKlanu[9], szKluczVault[128], szDaneVault[32], szNick[32];
read_argv(1, szNazwaKlanu, 9);
if(strlen(szNazwaKlanu) > 9)
{
ColorChat(id,RED,"Nazwa jest za dluga")
return PLUGIN_CONTINUE;
}
 
 
g_iIloscKlanow ++;
g_iIloscAktywnychKlanow ++;
 
formatex(szKluczVault, 127, "%d-1-DaneKlanow", g_iIloscKlanow);
nvault_set(g_iVault, szKluczVault, szNazwaKlanu);
 
formatex(szKluczVault, 127, "%d-2-DaneKlanow", g_iIloscKlanow);
nvault_set(g_iVault, szKluczVault, "1 0 0 0 0 0");
 
formatex(szKluczVault, 127, "%d-3-DaneKlanow", g_iIloscKlanow);
get_user_name(id, szNick, 31);
nvault_set(g_iVault, szKluczVault, szNick);
 
formatex(szKluczVault, 127, "%d-4-DaneKlanow", g_iIloscKlanow);
nvault_set(g_iVault, szKluczVault, "^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ");
 
formatex(szKluczVault, 127, "%s-DaneGracza", szNick);
formatex(szDaneVault, 31, "%d 1", g_iIloscKlanow);
nvault_set(g_iVault, szKluczVault, szDaneVault);
 
g_iIdAktywnegoKlanuGracza[id] = g_iIloscAktywnychKlanow;
g_bCzyWlascicielKlanu[id] = true;
 
g_iAktywnyKlan[g_iIloscAktywnychKlanow] = g_iIloscKlanow;
g_iPoziomAktywnegoKlanu[g_iIloscAktywnychKlanow] = 1;
g_iDoswiadczenieAktywnegoKlanu[g_iIloscAktywnychKlanow] = 0;
g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][DO_ROZDANIA] = 0;
g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][XP] = 0;
g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][KRYTYK] = 0;
g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][BOGACTWO] = 0;
g_iIloscCzlonkowAktywnegoKlanu[g_iIloscAktywnychKlanow] = 0;
copy(g_szNazwaAktywnegoKlanu[g_iIloscAktywnychKlanow], 31, szNazwaKlanu);
copy(g_szWlascicielAktywnegoKlanu[g_iIloscAktywnychKlanow], 31, szNick);
for(new i = 1; i <= LIMIT_CZLONKOW; i++)
copy(g_szCzlonekAktywnegoKlanu[g_iIloscAktywnychKlanow][i], 31, "");
 
#if defined WYMAGANA_ILOSC_MONET
cod_set_user_coins(id, cod_get_user_coins(id) - 500);
#endif
PrintMsg(id, "Klan^x03 %s^x01 zostal stworzony!", szNazwaKlanu);
 
return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

#4 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 24.10.2016 22:30

735719c07c6ab0mega_facepalm_gif.gif

read_argv(1, szNazwaKlanu, 9);
if(strlen(szNazwaKlanu) > 9)

Nie dziw się, że warunek nie zostanie nigdy spełniony skoro wczytujesz tylko 9 znaków...


Użytkownik Master Yoga edytował ten post 24.10.2016 22:42

  • +
  • -
  • 1

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#5 FinalRing

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:43
  • Imię:Kacper
  • Lokalizacja:Bydgoszcz
Offline

Napisano 26.10.2016 14:36

Okej, poprawiłem i działa, dzięki wielkie leci plusik :)

 

 

Do Zamknięcia


  • +
  • -
  • 0




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

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