Neopry 0 Odesláno: 23. Červenec, 2013 Share Odesláno: 23. Červenec, 2013 Ahoj, Když si hráč koupí Nemovitost a odhlásí se tak se mu ta Nemovitost zruší a jeho vydělané peníze taky, prosím vás není nějákej include na ukládání dat pro hráče ? Třeba přes MySQL ? Díky předem Link to comment Share on other sites More sharing options...
0 Arthom 6 Odesláno: 23. Červenec, 2013 Share Odesláno: 23. Červenec, 2013 hm.. a čo tak nastaviť ukladanie dát v onplayerdisconnect? Link to comment Share on other sites More sharing options...
0 Guest SpiRinG Odesláno: 23. Červenec, 2013 Share Odesláno: 23. Červenec, 2013 http://pawno.cz/topic/32922-pracujeme-s-dini/ Link to comment Share on other sites More sharing options...
0 ApoWo 6 Odesláno: 23. Červenec, 2013 Share Odesláno: 23. Červenec, 2013 http://pawno.cz/topi...acujeme-s-dini/ DINI smrdí. Použi y_ini. Link to comment Share on other sites More sharing options...
0 Neopry 0 Odesláno: 23. Červenec, 2013 Author Share Odesláno: 23. Červenec, 2013 No tak se mi to už ukládá ale je tu další problém, když se přihláší odečte jim tu částku kterou měly předtím Např : Měly 100 000 Přihlásí se a mají : -100 000 Login/register: //Includes #include <a_samp> #include <dini> //Must login to spawn // 1 = yes, 0 = no new lspawn = 1; new Logged[MAX_PLAYERS] = 0; //Defines #define COLOUR_GREEN 0x33AA33AA #define COLOUR_RED 0xAA3333AA #define COLOUR_YELLOW 0xFFFF00AA #define COLOUR_LIGHTBLUE 0x33CCFFAA #define COLOUR_ORANGE 0xFF9900AA #define SKIN_POS 1958.3783, 1343.1572, 15.3746, 269.1425 //Dcmd, youl love dcmd... #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //Hasher adler32_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } public OnFilterScriptInit() { //Credits print("Simple Register / Login"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { new name[MAX_PLAYER_NAME], file[200]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "\\users\\%s.ini", name); dini_IntSet(file, "cash", GetPlayerMoney(playerid)); dini_IntSet(file, "score", GetPlayerScore(playerid)); Logged[playerid] = 0; return 1; } public OnPlayerRequestSpawn(playerid) { //Can't spawn if your not logged in or registered... if(lspawn == 1 && Logged[playerid] == 0) { SendClientMessage(playerid, COLOUR_RED, "Musis se prihlasit!"); return 0; }else{ return 1; } } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(register, 8, cmdtext); dcmd(login, 5, cmdtext); return false; } //Register dcmd_register(playerid, params[]) { //Varibles new name[MAX_PLAYER_NAME], file[200]; //Get there name GetPlayerName(playerid, name, sizeof(name)); //Build the file name format(file, sizeof(file), "\\users\\%s.ini", name); //No registering if your logged in! if(Logged[playerid] == 1) return SendClientMessage(playerid, COLOUR_RED, "Uz jsi prihlasen!"); //Make shure there not registered! if(dini_Exists(file)) return SendClientMessage(playerid, COLOUR_RED, "Tohle jmeno uz je registrovano! Prosim vyber si jiny Nick!"); //Can't forget a password! else if(strlen(params) == 0) return SendClientMessage(playerid, COLOUR_RED, "Musis napsat sve heslo do registrace /register [Heslo]!"); else { //Make there file dini_Create(file); //Store a encrypted copy of there password in it dini_IntSet(file, "password", adler32_hash(params)); //Save there money dini_IntSet(file, "cash", GetPlayerMoney(playerid)); //Save there score dini_IntSet(file, "score", GetPlayerScore(playerid)); //Make them logged Logged[playerid] = 1; //Sucess SendClientMessage(playerid, COLOUR_YELLOW, "Byl jsi registrovan, automaticky te prihlasuji!"); } return 1; } //Login dcmd_login(playerid, params[]) { //Varibles new name[MAX_PLAYER_NAME], file[200]; //Get there name GetPlayerName(playerid, name, sizeof(name)); //Build there file name format(file, sizeof(file), "\\users\\%s.ini", name); //No /login abuse if(Logged[playerid] == 1) return SendClientMessage(playerid, COLOUR_RED, "Uz jsi prihlasen!"); //Make shure there registered! if(!dini_Exists(file)) return SendClientMessage(playerid, COLOUR_RED, "Tohle jmeno je reigstrovano, prosim vyber si jiny Nick!"); //Can't forget a password! else if(strlen(params) == 0) return SendClientMessage(playerid, COLOUR_RED, "Musis napsat sve heslo do registrace /register [Heslo]!"); //Hash there password so it can be compaired else if(adler32_hash(params) != dini_Int(file, "password")) return SendClientMessage(playerid, COLOUR_RED, "Prihlaseni selhalo!"); else { //Get there cash GivePlayerMoney(playerid, GetPlayerMoney(playerid) - dini_Int(file, "cash")); //Get there score SetPlayerScore(playerid, dini_Int(file, "score")); //Make them logged Logged[playerid] = 1; //Sucess SendClientMessage(playerid, COLOUR_YELLOW, "Byl jsi prihlasen, tve informace byly nacteny!"); } return 1; } Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 23. Červenec, 2013 Share Odesláno: 23. Červenec, 2013 DINI smrdí. Použi y_ini. Oboje smrdí lepší je Dof2:D Link to comment Share on other sites More sharing options...
Dotaz
Neopry 0
Ahoj,
Když si hráč koupí Nemovitost a odhlásí se tak se mu ta Nemovitost zruší a jeho vydělané peníze taky, prosím vás není nějákej include na ukládání dat pro hráče ?
Třeba přes MySQL ?
Díky předem
Link to comment
Share on other sites
5 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now