←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

nVault, problem...

Zablokowany

  • +
  • -
Kusek - zdjęcie Kusek 20.05.2010

Przejdę do sedna
Nie działa mi nVault, a jak nie działa nVault to cały plugin
LOGI
L 05/20/2010 - 20:08:10: Start of error session.
L 05/20/2010 - 20:08:10: Info (map "de_dust") (file "addons/amxmodx/logs/error_20100520.log")
L 05/20/2010 - 20:08:10: [AMXX] Plugin ("gta_mod.amxx") is setting itself as failed.
L 05/20/2010 - 20:08:10: [AMXX] Plugin says: Error opening nVault
L 05/20/2010 - 20:08:10: [AMXX] Displaying debug trace (plugin "gta_mod.amxx")
L 05/20/2010 - 20:08:10: [AMXX] Run time error 1: forced exit 
L 05/20/2010 - 20:08:10: [AMXX]    [0] gta_mod.sma::plugin_cfg (line 765)
L 05/20/2010 - 20:08:27: Start of error session.
L 05/20/2010 - 20:08:27: Info (map "de_dust") (file "addons/amxmodx/logs/error_20100520.log")

KOD


new g_Vault; //Global var to hold our vault handle
new money2[33]

plugin_init(){
//ZAPIS
g_Vault=nvault_open("GTA") //tutaj podajemy "nazwe" pliku z danymi
if (g_Vault == INVALID_HANDLE)
set_fail_state( "Nie moge otworzyc pliku :/");
//KONIEC ZAPISU
}


public load_money(id){
new name[35]
get_user_name(id,name,34)


new szKey[40], vaultdata[256]
formatex( szKey , 39 , "%sMONEY" , name);
new iMoney = nvault_get( g_Vault , szKey );

//If our money key was found, set the users money to the value we read from vault and
//delete the key so the player will not get the same money again.
if ( iMoney )
{
cs_set_user_money( id , iMoney , 1 );
nvault_remove( g_Vault , szKey );

client_print( id , print_chat , "* Your money was loaded from vault: $%d" , iMoney );
}
new money2temp[33]
parse(vaultdata,money2temp,32) // wydobywamy z ciagu vaultdata nasze dane
money2[id]=str_to_num(money2temp) // przypisujemy danym ich wartosci wczytane

return PLUGIN_CONTINUE
}




public save_money(id){
new name[35]
get_user_name(id,name,34)

new szMoney[7]; //Data holder for the money amount
new szKey[40]; //Key used to save money "STEAM_0:0:1234MONEY"

formatex( szKey , 39 , "%sMONEY" , name );
formatex( szMoney , 6 , "%d" , money2[id] );

nvault_set( g_Vault , szKey , szMoney );

// client_print( id , print_chat , "* Your money was saved to vault" );
return PLUGIN_CONTINUE
}

Użytkownik Frajer edytował ten post 22.05.2010 11:01
Odpowiedz

  • +
  • -
zielu001 - zdjęcie zielu001 22.05.2010

Lepiej użyj:

new g_vault

public client_disconnect(id)
{
       ZapiszDane(id)
      return PLUGIN_CONTINUE
}
public client_connect(id)
{
       Zaladuj(id)
      return PLUGIN_CONTINUE
}

public ZapiszDane(id) 
{
	new Name[32]
	get_user_name(id, Name, 31)
	new valutkey[64], valutdata[256]
	format(valutkey, 63, "%s-GTA", Name)
	format(valutdata, 255, "%i#", money2[id])
	nvault_set(g_vault,valutkey,valutdata)
	return PLUGIN_CONTINUE
}


public Zaladuj(id)
{
	new Name[32]
	get_user_name(id, Name, 31)
	new valutkey[64], valutdata[256]
	format(valutkey, 63, "%s-GTA", Name)
	format(valutdata, 255, "%i#", money2[id])
	nvault_get(g_vault, valutkey, valutdata, 255)
	replace_all(valutdata, 255, "#", " ")
	new m2[32]
        parse(valutdata, m2, 31)
	money2 = str_to_num(m2)
	return PLUGIN_CONTINUE
}

Użytkownik zielu001 edytował ten post 22.05.2010 11:39
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 22.05.2010

Nadaj chmody 777 na folder /data + na pliki :>
Odpowiedz

  • +
  • -
Kusek - zdjęcie Kusek 22.05.2010

nic się nie dzieje...
Odpowiedz

  • +
  • -
Raptiler - zdjęcie Raptiler 22.05.2010

Przerobiłem nvault save z mojego pluginu na ten twoj GTA.
na razie zapisuje tylko zmienna money2[ ] , ale jak bedziesz chcial to ci moge dorobic jakies inne.
Spróbuj to wykorzystać. Powinno działać.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Zapis"
#define VERSION "1.0"
#define AUTHOR "Raptiler"

new g_vault;
new money2[32];
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_vault = nvault_open("GTA");
}

public client_connect(id)
{
	GTA_LOAD(id);
}

public client_disconnect(id)
{
	GTA_SAVE(id);
}

public GTA_LOAD(id)
{
	new AuthID[35]
	get_user_authid(id,AuthID,34)
	if(containi(AuthID,"STEAM_0:") !=-1)
	{
		new vaultkey[64],vaultdata[356]
		format(vaultkey,63,"%s-GTA",AuthID)
		format(vaultdata,355,"%i#",money2[id]);
		nvault_get(g_vault,vaultkey,vaultdata,255)
		
		replace_all(vaultdata, 255, "#", " ")
		new gta_money[32];
		parse(vaultdata,gta_money,31)
		money2[id]=str_to_num(gta_money);
	}
	else
	{
		money2[id]=0;
	}
	return PLUGIN_CONTINUE
}

public GTA_SAVE(id)
{
	new AuthID[35]
	get_user_authid(id,AuthID,34)
	new vaultkey[64],vaultdata[356]
	format(vaultkey,63,"%s-GTA",AuthID)
	format(vaultdata,355,"%i#",money2[id])
	nvault_set(g_vault,vaultkey,vaultdata)
	return PLUGIN_CONTINUE
}

Użytkownik Raptiler edytował ten post 22.05.2010 17:33
Odpowiedz

  • +
  • -
Kusek - zdjęcie Kusek 22.05.2010

dobra te błędy to był mój błąd

if (g_Vault == INVALID_HANDLE)
                set_fail_state( "Nie moge otworzyc pliku <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/kwasny.gif' class='bbc_emoticon' alt=':/' />");

to mi psuło zapis...
Odpowiedz
Zablokowany