public Zapisz(id)
{
if(is_user_connected(id))
{
if(is_user_bot(id))
return PLUGIN_CONTINUE;
new vaultkey[128], vaultdata[64], name[64];
new typ_zapisu = get_cvar_num("diablo_sql_save");
switch(typ_zapisu) {
case 0: get_user_name(id, name, charsmax(name));
case 1: get_user_ip(id, name, charsmax(name));
case 2: get_user_authid(id, name, charsmax(name));
}
format(vaultkey, charsmax(vaultkey), "%s-%i-string", name, typ_zapisu);
format(vaultdata, charsmax(vaultdata), "#%i", string[id]);
nvault_set(g_vault, vaultkey, vaultdata);
}
return PLUGIN_CONTINUE;
}
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.
|
nVault String.
#1
Napisano 07.06.2011 05:45
#2
Napisano 07.06.2011 11:02
format(vaultdata, charsmax(vaultdata), "#%s", string[id]);
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#3
Napisano 07.06.2011 11:21
nvault_set(g_vault, vaultkey, string[id]);
#4
Napisano 07.06.2011 13:44
R3X, a jakbym chciał dodać więcej stringów, to co wtedy ?
#5
Napisano 07.06.2011 22:34
format(vaultdata, charsmax(vaultdata), "^"%s^" ^"%s^"", string[id], string2[id]); nvault_set(g_vault, vaultkey, aultdata);+parse() przy odczycie
Jak próbowałeś i nie działa to spróbuj jeszcze raz bo to działa
#6
Napisano 07.06.2011 23:18
Dodano 08 czerwiec 2011 - 06:00:
Nie wczytuje tego stringa
format(vaultdata, charsmax(vaultdata), "#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#^"%s^"", a[id],b[id], c[id], d[id], e[id], f[id], g[id], h[id], i[id], j[id], k[id], l[id],sting[id]);
parse(vaultdata, a, 31, b, 31, c, 31,d, 31, e,31,f, g, 31, h, 31, i, 31, j, 31, k, 31, l, 31,string, 31);
Użytkownik Dalinor edytował ten post 07.06.2011 23:19
#7
Napisano 08.06.2011 11:05
no właśnie
#8
Napisano 08.06.2011 13:45
#9
Napisano 08.06.2011 18:53
#10
Napisano 08.06.2011 19:44
Mam tak:
public ZapiszArtefakt(id)
{
if(is_user_connected(id))
{
if(is_user_bot(id))
return PLUGIN_CONTINUE;
new vaultkey[128], vaultdata[64], name[64];
new typ_zapisu = get_cvar_num("diablo_sql_save");
switch(typ_zapisu) {
case 0: get_user_name(id, name, charsmax(name));
case 1: get_user_ip(id, name, charsmax(name));
case 2: get_user_authid(id, name, charsmax(name));
}
format(vaultkey, charsmax(vaultkey), "%s-%i-art", name, typ_zapisu);
format(vaultdata, charsmax(vaultdata), "#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i ^"%s^"", a_heal[id],a_vampire[id], a_respawn[id], a_dmg[id], a_redirect[id], a_silent[id], a_blind[id], a_drop[id], a_shake[id], a_antydmg[id], a_inv[id], wylosowal[id],player_artefakt[id]); // jeśli ktoś chce, może tutaj dodać więcej tych zmiennych, bez żadnego problemu
nvault_set(g_artefakt, vaultkey, vaultdata);
}
return PLUGIN_CONTINUE;
}
public WczytajArtefakt(id) {
if(is_user_bot(id))
return PLUGIN_CONTINUE;
new vaultkey[128], vaultdata[64], name[64];
new typ_zapisu = get_cvar_num("diablo_sql_save");
switch(typ_zapisu) {
case 0: get_user_name(id, name, charsmax(name));
case 1: get_user_ip(id, name, charsmax(name));
case 2: get_user_authid(id, name, charsmax(name));
}
format(vaultkey, charsmax(vaultkey), "%s-%i-art", name, typ_zapisu);
format(vaultdata, charsmax(vaultdata), "#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i ^"%s^"", a_heal[id],a_vampire[id], a_respawn[id], a_dmg[id], a_redirect[id], a_silent[id], a_blind[id], a_drop[id], a_shake[id], a_antydmg[id], a_inv[id], wylosowal[id],player_artefakt[id]);
nvault_get(g_artefakt, vaultkey, vaultdata, 63);
replace_all(vaultdata, charsmax(vaultdata), "#", " ");
new a_heal[32],a_vampire[32], a_respawn[32], a_dmg[32], a_redirect[32], a_silent[32], a_blind[32], a_drop[32], a_shake[32], a_antydmg[32],a_inv[32],wylosowal[32],player_artefakt[32];
parse(vaultdata, a_heal, 31, a_vampire, 31, a_respawn, 31, a_dmg, 31, a_redirect,31,a_silent, a_blind, 31, a_drop, 31, a_shake, 31, a_antydmg, 31, a_inv, 31, wylosowal, 31,player_artefakt, 31);
new a_healx = str_to_num(a_heal);
new a_vampirex= str_to_num(a_vampire);
new a_respawnx = str_to_num(a_respawn);
new a_dmgx = str_to_num(a_dmg);
new a_redirectx = str_to_num(a_redirect);
new a_silentx = str_to_num(a_silent);
new a_blindx = str_to_num(a_blind);
new a_dropx = str_to_num(a_drop);
new a_shakex = str_to_num(a_shake);
new a_antydmgx = str_to_num(a_antydmg);
new a_invx = str_to_num(a_inv);
new wylosowalx = str_to_num(wylosowal);
new player_artefaktx = str_to_num(player_artefakt);
a_heal[id] = a_healx;
a_vampire[id] = a_vampirex;
a_respawn[id] = a_respawnx;
a_dmg[id] = a_dmgx;
a_redirect[id] = a_redirectx;
a_silent[id] = a_silentx;
a_blind[id] = a_blindx;
a_drop[id] = a_dropx;
a_shake[id] = a_shakex;
a_antydmg[id] = a_antydmgx;
a_inv[id] = a_invx;
wylosowal[id] = wylosowalx;
player_artefakt[id] = player_artefaktx;
return PLUGIN_CONTINUE;
}
I zapisuje dobrze, ale już nie wczytuje stringa
Wpis z nVault:
Dalinor-0-art#0#0#0#2#0#0#0#0#0#0#0#1 "Swiety miecz"
Użytkownik Dalinor edytował ten post 09.06.2011 14:23
#11
Napisano 10.06.2011 21:30
jak chcesz string dac do num ? wtf ?
daj new player_artefaktx = player_artefakt;
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#12
Napisano 10.06.2011 21:32
Dziękuję. Zaraz sprawdzę.
@EDIT
new player_artefaktx = player_artefakt;
"Error: Array must be indexed (variable "-unknown-") on line 11500"
A więc dodałem:
new player_artefaktx = player_artefakt[id];
I nadal nie wczytuje.
Użytkownik Dalinor edytował ten post 10.06.2011 21:41
#13
Napisano 12.06.2011 14:12
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#14
Napisano 12.06.2011 17:39
#15
Napisano 12.06.2011 17:55
new a_heal[32],a_vampire[32], a_respawn[32], a_dmg[32], a_redirect[32], a_silent[32], a_blind[32], a_drop[32], a_shake[32], a_antydmg[32],a_inv[32],wylosowal[32],player_artefakt[32];
Po co tworzysz zmienne, nazywające się jak zmienne globalne? Zmień to na:
new a_healx[32], a_vampirex[32]...
new a_healx = str_to_num(a_heal);
new a_vampirex= str_to_num(a_vampire);
new a_respawnx = str_to_num(a_respawn);
new a_dmgx = str_to_num(a_dmg);
new a_redirectx = str_to_num(a_redirect);
new a_silentx = str_to_num(a_silent);
new a_blindx = str_to_num(a_blind);
new a_dropx = str_to_num(a_drop);
new a_shakex = str_to_num(a_shake);
new a_antydmgx = str_to_num(a_antydmg);
new a_invx = str_to_num(a_inv);
new wylosowalx = str_to_num(wylosowal);
new player_artefaktx = str_to_num(player_artefakt);
a_heal[id] = a_healx;
a_vampire[id] = a_vampirex;
a_respawn[id] = a_respawnx;
a_dmg[id] = a_dmgx;
a_redirect[id] = a_redirectx;
a_silent[id] = a_silentx;
a_blind[id] = a_blindx;
a_drop[id] = a_dropx;
a_shake[id] = a_shakex;
a_antydmg[id] = a_antydmgx;
a_inv[id] = a_invx;
wylosowal[id] = wylosowalx;
player_artefakt[id] = player_artefaktx;
Po co tak to rozkładać? A wiesz, że ostatni argument to string, a ty zmieniasz go na liczbę? Ma być tak (uwzględniając powyższą zmianę):
a_heal[id] = str_to_num(a_healx);
a_vampire[id] = str_to_num(a_vampirex);
a_respawn[id] = str_to_num(a_respawnx);
a_dmg[id] = str_to_num(a_dmgx);
a_redirect[id] = str_to_num(a_redirectx);
a_silent[id] = str_to_num(a_silentx);
a_blind[id] = str_to_num(a_blindx);
a_drop[id] = str_to_num(a_dropx);
a_shake[id] = str_to_num(a_shakex);
a_antydmg[id] = str_to_num(a_antydmgx);
a_inv[id] = str_to_num(a_invx);
wylosowal[id] = str_to_num(wylosowalx);
copy(player_artefakt[id], 31, player_artefaktx);
#16
Napisano 12.06.2011 18:17
Po co tworzysz zmienne, nazywające się jak zmienne globalne?
Ale ja głupi
Zaraz sprawdzę
@EDIT
Dalej nie działa .
Dodano 12 czerwiec 2011 - 18:44:
Dobra poradziłem sobie. Dziękuje wszystkim za pomoc. Można zamknąć
Użytkownik Dalinor edytował ten post 12.06.2011 18:29
#17
Napisano 12.06.2011 22:20
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych