Zapis nvault i kopiowanie
A może sma?
05.08.2011
Cześć.
Zapisuję dane w ten sposób:
Jednak zauważyłem, że można skopiować monety z jednego nicku na drugi. Jak to zablokować?
Zapisuję dane w ten sposób:
public Wczytaj(id)
{
new name[35];
get_user_name(id,name,34);
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-monety",name);
format(vaultdata,255,"%d#",monety[id]);
nvault_get(vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new monetytemp[33];
parse(vaultdata, monetytemp, 32);
monety[id] = str_to_num(monetytemp);
return PLUGIN_CONTINUE
}
public Zapisz(id)
{
new name[35];
get_user_name(id,name,34);
new vaultkey[64], vaultdata[256];
format(vaultkey,63,"%s-monety",name);
format(vaultdata,255,"%d#",monety[id]);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE
}
Jednak zauważyłem, że można skopiować monety z jednego nicku na drugi. Jak to zablokować?
Gh0st
05.08.2011
proszę oto link do pluginu :
G_block_name_change - AMXX.pl: Support AMX Mod X
Plugin ten zabrania zmieniania nicku podczas gdy jest się połączonym z serwerem
Edited by Gh0st, 05.08.2011 16:49.
G_block_name_change - AMXX.pl: Support AMX Mod X
Plugin ten zabrania zmieniania nicku podczas gdy jest się połączonym z serwerem
Edited by Gh0st, 05.08.2011 16:49.
Gh0st
05.08.2011
jemu chodziło o SYSTEM REZERWACJI NICKU ... to rozwiązanie moje jest najłatwiejsze innego nie znam
dram
05.08.2011
Mhm a może podczas wczytywania sprawdzaj jaki gracz ma nick i podczas zapisywania sprawdzaj czy te dwa nicki są takie same. Jeżeli tak - zapisz jeżeli nie - anuluj
Gh0st
05.08.2011
Pobieraj nick gracza zapisuj do jakiejś zmiennej globalnej i sprawdzaj
Dodano 05 sierpień 2011 - 17:06:
Już ci napisze sma
Dodano 05 sierpień 2011 - 17:10:
w zmiennych globalnych dodaj
P.S zmień system zapisu , sam kiedyś go używałem ale R3X uświadomił mi że jest zły
Edited by Gh0st, 05.08.2011 17:27.
Dodano 05 sierpień 2011 - 17:06:
Już ci napisze sma
Dodano 05 sierpień 2011 - 17:10:
public Wczytaj(id)
{
new name[35]
get_user_name(id,sprawdz,34);
get_user_name(id,name,34);
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-monety",name);
format(vaultdata,255,"%d#",monety[id]);
nvault_get(vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new monetytemp[33];
parse(vaultdata, monetytemp, 32);
monety[id] = str_to_num(monetytemp);
return PLUGIN_CONTINUE
}
public Zapisz(id)
{
if(get_user_name(id) != sprawdz[id])
{
return PLUGIN_CONTINUE
}
new name[35];
get_user_name(id,name,34);
new vaultkey[64], vaultdata[256];
format(vaultkey,63,"%s-monety",name);
format(vaultdata,255,"%d#",monety[id]);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE
}
w zmiennych globalnych dodaj
new sprawdz[35]
P.S zmień system zapisu , sam kiedyś go używałem ale R3X uświadomił mi że jest zły
Edited by Gh0st, 05.08.2011 17:27.
DarkGL
05.08.2011
get_user_name(id) != sprawdz[id]
rozwiązaniem nie jest pobieranie nicku graczowi przy zapisie / wczytywaniu tylko przy samym wejściu pobranie go do globalnej tablicy i zapisywanie / wczytywanie na ten jeden nie będzie można wtedy skopiować "monet" na inny nick
jest to tak zrobione np w cod mod (zmienna nazwa_gracza)
A może sma?
05.08.2011
Darku kochany wkleiłbyś mi gotowy kod?
Wystarczy coś takiego?
Ale jak ma teraz wyglądać Zapisz/Wczytaj?
Edited by A może sma?, 05.08.2011 17:30.
public client_authorized(id)
{
UsunMonety(id)
get_user_name(id, nazwa_gracza[id], 63);
}
Wystarczy coś takiego?
Ale jak ma teraz wyglądać Zapisz/Wczytaj?
Edited by A może sma?, 05.08.2011 17:30.
Gh0st
05.08.2011
DarkGL o co ci chodzi ?
Brakło mi *if*
to 1.błąd z mojej strony
Dodano 05 sierpień 2011 - 17:32:
Tylko zapisz
Proszę mi o wyjaśnienie czemu nie działa
Bo nie rozumiem , a staram się pomoc ;d
Edited by Gh0st, 05.08.2011 17:52.
Brakło mi *if*
to 1.błąd z mojej strony
Dodano 05 sierpień 2011 - 17:32:
public Zapisz(id)
{
new spawdz[35]
get_user_name(id,sprawdz,34)
if(sprawdz[id] != nazwa_gracza[id])
{
return PLUGIN_CONTINUE
}
new name[35];
get_user_name(id,name,34);
new vaultkey[64], vaultdata[256];
format(vaultkey,63,"%s-monety",name);
format(vaultdata,255,"%d#",monety[id]);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE
}
Tylko zapisz
Proszę mi o wyjaśnienie czemu nie działa
Bo nie rozumiem , a staram się pomoc ;d
Edited by Gh0st, 05.08.2011 17:52.
A może sma?
05.08.2011
@Gh0st nie działa... Dalej można kopiować monety
Daaarkkk...
Edited by A może sma?, 05.08.2011 17:44.
Daaarkkk...
Edited by A może sma?, 05.08.2011 17:44.
DarkGL
05.08.2011
public client_authorized(id) { UsunMonety(id) get_user_name(id, nazwa_gracza[id], 63); }tak coś takiego wystarczy i podczas zapisu / wczytywania korzystasz z nazwa_gracza[id]
oczywiście w zmiennych globalnych musisz dodać
new nazwa_gracza[33][64]
A może sma?
05.08.2011
Dzięęęękujęęę
Działa
Tylko teraz... Jak dodać do tego:
To?
Działa
Tylko teraz... Jak dodać do tego:
public Wczytaj(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-monety",nazwa_gracza[id]);
format(vaultdata,255,"%d#",monety[id]);
nvault_get(vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new monetytemp[33];
parse(vaultdata, monetytemp, 32);
monety[id] = str_to_num(monetytemp);
return PLUGIN_CONTINUE
}
public Zapisz(id)
{
new vaultkey[64], vaultdata[256];
format(vaultkey,63,"%s-monety",nazwa_gracza[id]);
format(vaultdata,255,"%d#",monety[id]);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE
}
To?
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
Gh0st
05.08.2011
z tymi cvarami musisz zrobić to w :
chyba dobrze , sprawdz
Edited by Gh0st, 05.08.2011 21:34.
public client_authorized(id)
public client_authorized(id)
{
UsunMonety(id)
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
}
chyba dobrze , sprawdz
Edited by Gh0st, 05.08.2011 21:34.
Adminek AMXX.PL 06.08.2011
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: zadziałało
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: zadziałało
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL