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

[ROZWIĄZANE] Gildia + CoDMod


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

#1 Chmielik

    Profesjonalista

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:153
  • GG:
  • Lokalizacja:PgW
Offline

Napisano 16.06.2012 15:15

Witam, przerobiłem sobie gangi z jailbreak na gildie, teraz chcę aby w sma coda w Pokaz_Informacje była nazwa gildii danego gracza. Zacząłem robić to tak

public plugin_natives()
{
register_native("cod_get_user_gang", "PobierzGildie");
}


Do codmod.inc
native cod_get_user_gang(id)
/*------------------------------
Zwraca nazwe gildi gracza
------------------------------*/

I w .sma coda


new gildia_gracza = cod_get_user_gang(id);

ShowSyncHudMsg(id, SyncHudObj, "[Cs-AbduliA.pl]^n[Gracz : %s]^n[Klasa : %s]^n[Poziom : %i | %0.1f%% ]^n[Gang : %s]^n[Przedmiot#1 : %s]^n[Przedmiot#2 : %s]^n[Zdrowie : %d]", nazwa_gracza[target], nazwy_klas[klasa_gracza[target]], poziom_gracza[target], fProcent, gildia_gracza[target], nazwy_perkow[perk_gracza[0][target]], nazwy_perkow[perk_gracza[1][target]], hp);



I podczas kompilacji wyskakuje błąd :
Error : Invalid subscript (not an array or too many subscripts): "gildia_gracza"

Coś pominąłem, lub zepsułem?
  • +
  • -
  • 0

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 16.06.2012 15:22

gildia_gracza powinna być tablicą o 33 komórkach.
Tak się też odwołujesz w ShowSyncHudMsg(), jednak definiujesz gildia_gracza jako pojedynczą zmienną, stąd błąd, ponieważ odwołujesz się do konkretnej komórki zmiennej, której nie zadeklarowałeś jako tablicy.

Aby to poprawić, zadeklaruj globalnie tablicę
new gildia_gracza[33];
a następnie zamiast
new gildia_gracza = cod_get_user_gang(id);
przypisz wartość dla poszczególnego gracza, tj. odwołaj się do odpowiedniej komórki tablicy
new gildia_gracza[id] = cod_get_user_gang(id);


#3 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 16.06.2012 15:36

Po 1 to skoro ten natyw ma zwracać nazwę to musisz przechowywać ją w tablicy.
Po 2 skoro wyświetlasz każdemu z osobna gildię to musisz ustworzyć tablicę 33 elementową.
Czyli musisz użyć tablicy o dwóch wymiarach, pokaż też funkcję PobierzGildie bo nie wydaje mi się żeby była dobra.

@@UP
Możesz mi powiedzieć co to w ogóle jest?

new gildia_gracza[id] = cod_get_user_gang(id);

nie wiem jak chcesz taką talbicę zadeklarować w ogóle.

Użytkownik Jak się nazwać edytował ten post 16.06.2012 15:40

  • +
  • -
  • 1
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#4 Chmielik

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:153
  • GG:
  • Lokalizacja:PgW
Offline

Napisano 16.06.2012 15:38

Error : Must be a constant expression : assumed zero na lini new gildia_gracza[id] = cod_get_user_gang(id);

  • +
  • -
  • 0

#5 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 16.06.2012 15:40

jw. Pokaż funkcję cod_get_user_gang()

#6 Chmielik

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:153
  • GG:
  • Lokalizacja:PgW
Offline

Napisano 16.06.2012 15:43

cod_get_user_gang( id )
{
new szAuthID[ 35 ];
get_user_name( id, szAuthID, charsmax( szAuthID ) );

new aData[ GangInfo ];

for( new i = 0; i < ArraySize( g_aGangs ); i++ )
{
ArrayGetArray( g_aGangs, i, aData );

if( TrieKeyExists( aData[ GangMembers ], szAuthID ) )
return i;
}

return -1;
}

  • +
  • -
  • 0

#7 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 16.06.2012 15:44

No to po 1 rejestrując natyw podajesz złą nazwę funkcji, po 2 zwracasz index gangu a nie jego nazwę
  • +
  • -
  • 1
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#8 Chmielik

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:153
  • GG:
  • Lokalizacja:PgW
Offline

Napisano 16.06.2012 15:52

Dzięki za wyjaśnienie. Do zamknięcia
  • +
  • -
  • 0

#9 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 16.06.2012 15:53

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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