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] Precache modeli z pliku .ini


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

#1 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 21.03.2018 19:31

Siemka. Próbuje jakoś wczytać modele na serwer z pliku .ini ale coś mi to nie wychodzi. Dodam że pierwszy raz używam tablic dynamicznych (Array) tak że nie za bardzo wiem z czym to się je. Kawałek kodu:

public plugin_cfg(){
	//Create array	
	g_Skin_Name = ArrayCreate(64, 64);
	g_Skin_lokalizacja = ArrayCreate(64, 64);
	
	get_configsdir(g_Path, charsmax(g_Path)); // Pobiera katalog gry cstrike/amxmodx/configs/...
	
	formatex(g_Path, charsmax(g_Path), "%s/knife_skins.ini", g_Path);
	
	if(file_exists(g_Path)){ // sprawdza czy plik istnieje
	
		new g_Line[150],
			g_Len;
		
		for(new i = 0; read_file(g_Path, i, g_Line, charsmax(g_Line), g_Len); i++){
			if(g_Len == 0 || !g_Line[0] || g_Line[0] == ';'){
				continue;
			}
			
			parse(g_Line, Nazwa_skina, charsmax(Nazwa_skina), Lokalizacja_skina, charsmax(Lokalizacja_skina));
			
			ArrayPushString(g_Skin_Name, Nazwa_skina);
			ArrayPushString(g_Skin_lokalizacja, Lokalizacja_skina);
		}
	}
	else{
		set_fail_state("Brak pliku knife_skins.ini w folderze ^"configs/^". Plugin zostal zatrzymany.");
	}
}

public plugin_precache()
{
	if(file_exists(g_Path)) // Sprawdza czy plik istnieje
	{
		for(new i; i<ArraySize(g_Skin_lokalizacja);i++)
		{
			ArrayGetString(g_Skin_lokalizacja, i, Lokalizacja_skina, charsmax(Lokalizacja_skina));

			precache_model(Lokalizacja_skina)
		}
	}
}

Z tymi tablicami dynamicznymi to się wzorowałem na pluginie kontakt. Zrobiłem swoją wersję kontaktu i niby działa tak jak chciałem ale gdy przychodzi mi w 2 pluginie wczytać modele z pliku .ini to już mam ciężej. Dodam że nazwy skinów do menu ładnie mi się wczytują.


  • +
  • -
  • 0

#2 AwIlL^^

    Magiczny Gość

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:263
  • Steam:steam
  • Imię:Eryk
  • Lokalizacja:Gdańsk
Offline

Napisano 22.03.2018 09:12

Problem polega na tym, że tablica dynamiczna nie istnieje w plugin_precache.
Plugin_cfg wywołuje się później.
Zrób wszystko w plugin_precache.
  • +
  • -
  • 1

Potrzebujesz porad do amxx?? Pisz na [PW]


#3 Tojaocb

    Zaawansowany

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:96
Offline

Napisano 22.03.2018 18:07

public plugin_precache()
{
	new configfile[200]
	new configsdir[200]
	new map[32]
	get_configsdir(configsdir,199)
	get_mapname(map,31)
	formatex(configfile,199,"%s/new_weapons_%s.ini",configsdir,map)
	if(file_exists(configfile))
	{
		load_models(configfile)
	}
	else
	{
		formatex(configfile,199,"%s/new_weapons.ini",configsdir)
		load_models(configfile)
	}
}

 z pluginu GHW  zedytuj pod sb 


  • +
  • -
  • 1

Pomogłem? Daj add.png ciebie nie kosztuje, mnie motywuje.


#4 Toldi

    Czempion

  • Autor tematu
  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 23.03.2018 18:05

Zrobiłem wszystko w public plugin_precache(). Dodatkowo okazało się że nie potrzebnie pobierałem wartość lokalizacji skina ( ArrayGetString) tylko tuż po włożeniu lokalizacji do tablicy dynamicznej mogłem od razu model wczytać ze zmiennej ( Lokalizacja_skina ). Dzięki za pomoc :)


  • +
  • -
  • 0

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.03.2018 21:38

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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