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

Zapis zmiennych true/false do nvault


Najlepsza odpowiedź Asiap, 05.06.2017 17:08

przy odczycie mozesz ewentualnie uzyc

usp_model[id] = bool:str_to_num(vaultdata1)

aby 'zmienic' liczbe na bool (true/false)

Przejdź do postu


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

#1 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

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

Napisano 05.06.2017 11:04

Cześć.

Próbuje zrobić skiny za monety. Wszystko tak jak chce działa lecz oczywiście do zmiany mapy. Po zmianie mapy zmienna bool z automatu dostaje false. I tu jest moje pytanie jak zapisać stan zmiennej true/false do nvault? Po kupnie skina zabiera nam monety i ustawia wartość bool: xx=true, dzięki czemu można wybrać skin bez dalszego sprawdzania czy gracz ma odpowiednia ilość pieniędzy. Niżej macie kawałek kodu.

public USP_Handle(id, menu, item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new monety = cod_get_user_coins(id)
	
	switch(item)
	{

		case 0: SetUSP(id , 0)
		
		case 1:
		{
			if(kupil_uspbrother[id])
			{
				ColorChat(id, GREY, "^4%s^3 Ustawiles skin do USP - Brother.", PREFIX);
				SetUSP(id, 1)
				USP(id)
				return PLUGIN_HANDLED; 	
			}
			
			if(monety >= USP_SKIN_ONE)
			{
				cod_set_user_coins(id, monety-USP_SKIN_ONE);
				ColorChat(id, GREEN, "%s^3 Kupiles skin do USP -^4 Brother", PREFIX)
				kupil_uspbrother[id]=true;
				USP(id)
			}
		
			else
			{
				ColorChat(id, GREEN, "%s^x03 Nie masz wystarczajacej ilosci monet na zakup tego skina", PREFIX)
				return PLUGIN_HANDLED;
			}
		}
....
}
SaveData(id)
	

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public SaveData(id)
{ 

	new steam_id[35]

	get_user_name(id,steam_id,34)

	new vaultkey[64]

	new vaultdata[256] 

	

	format(vaultkey,63,"%s-Skiny",steam_id) 

	format(vaultdata,255,"%d#%d#%d#%d#%d#%d#%d", usp_model[id], glc_model[id], dgl_model[id], ak47_model[id], m4a1_model[id], awp_model[id], kosy_model[id])

	

	nvault_set(stats_vault,vaultkey,vaultdata)

	

	return PLUGIN_CONTINUE 

}


public LoadData(id)
{ 

	new steam_id[35]

	get_user_name(id,steam_id,34) 

	new vaultkey[64]

	new vaultdata[256]

	

	format(vaultkey,63,"%s-Skiny",steam_id) 

	format(vaultdata,255,"%d#%d#%d#%d#%d#%d#%d", usp_model[id], glc_model[id], dgl_model[id], ak47_model[id], m4a1_model[id], awp_model[id], kosy_model[id])
                              
	

	nvault_get(stats_vault,vaultkey,vaultdata,255) 

	replace_all(vaultdata,255,"#"," ") 

	new vaultdata1[32], vaultdata2[32], vaultdata3[32], vaultdata4[32], vaultdata5[32], vaultdata6[32], vaultdata7[32];

	parse(vaultdata,vaultdata1,31,vaultdata2,31,vaultdata3,31,vaultdata4,31,vaultdata5,31,vaultdata6,31,vaultdata7,31) 

	usp_model[id] = str_to_num(vaultdata1)// wczytuje skin gracza z poprzedniej mapy
	glc_model[id] = str_to_num(vaultdata2)
	dgl_model[id] = str_to_num(vaultdata3)
	ak47_model[id] = str_to_num(vaultdata4)
	m4a1_model[id] = str_to_num(vaultdata5)
	awp_model[id] = str_to_num(vaultdata6)
	kosy_model[id] = str_to_num(vaultdata7)


	

	return PLUGIN_CONTINUE 

}

Byłbym wdzięczny gdyby ktoś podpowiedział jak tego dokonać a najlepiej gdyby podał już gotowy kod a resztę zrobił bym już na wzór tego. Za wszelkie pomocy z góry dzięki.


  • +
  • -
  • 0

#2 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 05.06.2017 15:22

true i false to jest tylko definicja 

true = 1

false = 0


  • +
  • -
  • 1

Cześć


#3 Toldi

    Czempion

  • Autor tematu
  • Power User

Reputacja: 259
Wszechwidzący

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

Napisano 05.06.2017 16:12

true i false to jest tylko definicja 

true = 1

false = 0

Ale jakieś pomysły w jaki sposób dodać je do nvault aby po zmianie mapy nie trzeba było go kupować ponownie.


  • +
  • -
  • 0

#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 05.06.2017 16:49

Zapisuj jedynki i zera.


  • +
  • -
  • 1

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 05.06.2017 17:08   Najlepsza odpowiedź

przy odczycie mozesz ewentualnie uzyc

usp_model[id] = bool:str_to_num(vaultdata1)

aby 'zmienic' liczbe na bool (true/false)


  • +
  • -
  • 1

#6 Toldi

    Czempion

  • Autor tematu
  • Power User

Reputacja: 259
Wszechwidzący

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

Napisano 05.06.2017 18:04

przy odczycie mozesz ewentualnie uzyc

usp_model[id] = bool:str_to_num(vaultdata1)

aby 'zmienic' liczbe na bool (true/false)

usp_model[id] to zapisuje aktualny model skorki broni.

 

ale zrobiłem to tak jak niżej podałem i działa. Dzięki @ Asiap! Reszcie też dziękuje za wszelkie pomocy. Macie po +.

kupil_uspbrother[id] = bool:str_to_num(vaultdata8)

Jeszcze jedno pytanko. Kiedyś jak robiłem system skinów (menu z kilkoma skinami na bron) to miałem problem że po zmianie mapy ustawiało mi 1 skórkę z menu do danej broni. Udało mi się to naprawić ale już nie pamiętam jak ;/. Teraz mam to samo nawet jak założę skórkę usp caiman to po zmianie mapy mam założona skórkę 1 z menu "usp skins" tzn. Broother hood. Niżej macie jeszcze kawałek kodu. PS do moderatora nie będę zakładam może już 2 tematu jak byście mogli go nie zamykać byłbym wdzięczny.

 

Spoiler

  • +
  • -
  • 0

#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 06.06.2017 09:59

Może temu że cokolwiek różne od zera rzutowane na bool da ci 1 (czyli true)

Można to zrobić za pomocą przesunięć bitowych.

Wtedy zerem będzie brak skina a każda kolejna potęga dwójki to będą skiny :P popatrz jak są bronie w cod mod przechowywane dla klaa
  • +
  • -
  • 0

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 06.06.2017 16:53

Znajdziesz w tym temacie wszystko co Ci potrzebne https://amxx.pl/topi...xp-moda-nvault/


  • +
  • -
  • 0




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

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