Wysłany: 2012-09-17, 16:59
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Czy ma kto? rozpisane wszystkie funkcje Double O File 2? Bo ja nie mog? znale?? .
Wysłany: 2012-09-17, 20:32
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Kod: native DOF2_SetFile(file[]);
native DOF2_LoadFile();
native DOF2_SaveFile();
native DOF2_ParseFile(file[],extraid,bool:callback=true);
native DOF2_ReparseFile(file[],extraid,bool:callback=true);
native DOF2_WriteFile();
native DOF2_PrintFile(comment[]="");
native DOF2_GetString(file[],key[],tag[]="");
native DOF2_GetStringEx(file[],key[],result[],size,tag[]="");
native Float:DOF2_GetFloat(file[],key[]);
native DOF2_GetInt(file[],key[],tag[]="");
native DOF2_GetHex(file[],key[],tag[]="");
native DOF2_GetBin(file[],key[],tag[]="");
native bool:DOF2_GetBool(file[],key[],tag[]="");
native DOF2_SetString(file[],key[],value[],tag[]="");
native DOF2_SetFloat(file[],key[],Float:value);
native DOF2_SetInt(file[],key[],value,tag[]="");
native DOF2_SetHex(file[],key[],value,tag[]="");
native DOF2_SetBin(file[],key[],value,tag[]="");
native DOF2_SetBool(file[],key[],bool:value,tag[]="");
native DOF2_IsSet(file[],key[],tag[]="");
native DOF2_Unset(file[],key[],tag[]="");
native DOF2_FileExists(file[]);
native DOF2_RemoveFile(file[]);
native DOF2_CreateFile(file[],password[]="");
native DOF2_RenameFile(oldfile[],newfile[]);
native DOF2_RenameKey(file[],oldkey[],newkey[],tag[]="");
native DOF2_CopyFile(filetocopy[],newfile[]);
native DOF2_CheckLogin(file[],password[]);
native DOF2_File(user[]);
native DOF2_ParseInt();
native DOF2_ParseFloat();
native DOF2_ParseBool();
native DOF2_ParseBin();
native DOF2_ParseHex();
native DOF2_SetUTF8(bool:set);
native bool:DOF2_GetUTF8();
native DOF2_GetFile();
native DOF2_MakeBackup(file[]);
native DOF2_RemoveSection (file [], tag []);
native DOF2_SectionExists (file [], tag []);
native DOF2_SortSection (file [], tag [], bool: ignorecase = true, bool: ascending = true);
native DOF2_SortAllSections (file [], bool: ignorecase = true, bool: ascending = true);
native DOF2_SetCaseSensitivity (bool: set);
native DOF2_GetCaseSensitivity ();
2 minuty szukania w google - dos?ownie.
Wysłany: 2012-09-17, 21:46
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Dobra, dobra. Wiem, wiem. Ale ja nie umiem szuka? . Dobra, te? to znalaz?em. A wi?c tak zrobi?em sobie rejestracje no i zamiast pokazywa? has?o to pisze mi: Password = (null), Name = (null). Kod: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTERBEFORE)
{
if(response == 1)
{
new string[256], name[MAX_PLAYER_NAME], key[20], password[156];
GetPlayerName(playerid, name, sizeof (name));
format(string, sizeof(string), "Accounts/%s.ini", name);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "» MDS", "{FFFFFF}Witaj w panelu rejestracji!\n\nWpisz ponizej haslo aby sie zarejestrowac:","OK", "Wyjdz");
DOF2_CreateFile(string);
DOF2_SetString(string, "Password", password);
DOF2_SetString(string, "Name", key);
DOF2_SaveFile();
}
else
{
}
}
return 1;
}
Wysłany: 2012-09-17, 22:18
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Kod: DOF2_CreateFile(string, inputtext);
W dofie jak tworzysz plik to drugi argument to has?o, wi?c nie musisz, go zapisywa? do pliku funkcj?. Nick gracza pobierasz do tablicy name, a do pliku zapisujesz key, zmie? to
Wysłany: 2012-09-18, 07:28
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Crashuje mi serwa przy takim kodzie: Kod: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTER) //0, bo taka jest warto?? w drugim argumencie funkcji ShowPlayerDialog
{
if(response == 1) //Sprawdzamy, czy zosta? naci?ni?ty lewy przycisk
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 25)
{
SendClientMessage(playerid,0,"{FFFFFF}Twoje haslo jest za kr?tkie! Min. 5 max. 25 znak?w!");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"» MDS","{FFFFFF}Wpisz ponownie swoje haslo ponizej:","Ok","Anuluj");
}
else
{
new string[256], name[MAX_PLAYER_NAME];
DOF2_CreateFile(string, inputtext);
DOF2_SaveFile();
GetPlayerName(playerid, name, sizeof (name));
format(string, sizeof(string), "%s.ini", name);
format(string, sizeof(string), "Zosta?e? pomy?lnie zarejestrowany na naszym serwerze.\n\n{00D0FF}Twoje has?o to: {FFFF00}%s", inputtext);
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "» MDS", string, "OK", "");
}
}
}
return 1;
}
Ostatnio zmieniony przez Wafelowski 2012-09-18, 07:59, w całości zmieniany 2 razy
Wysłany: 2012-09-18, 07:50
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Upewnij si?, ?e masz najnowszy include DOF'a i poszukaj sobie jaki? przyk?ad rejestracji, jak przyjd? ze szko?y to podam link
Wysłany: 2012-09-18, 12:56
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Hm, no w?a?nie jest zaktualizowany, mam przyk?ad, wed?ug niego si? kieruje. Tylko tyle, ?e nie ze 'stockami'. Tutaj daje public OnPlayerConnect: Kod: public OnPlayerConnect(playerid)
{
new playerip[32], string[256];
new name[MAX_PLAYER_NAME];
GetPlayerIp(playerid, playerip, sizeof(playerip));
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "|MDS| Gracz: %s (ID: %d) do??czy? do serwera! (IP: %s)",name, playerid, playerip);
SendClientMessageToAll(COLOR_JOIN, string);
format(string, sizeof(string), "%s.ini", name);
if(DOF2_FileExists(string))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, "» MDS", "{FFFFFF}Witaj ponownie na {44A9F2}Modern Drift! Twoj nick jest zarejestrowany!\n\n Aby sie zalogowac wpisz ponizej haslo:","OK", "Wyjdz");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "» MDS", "{FFFFFF}Witaj graczu na serwerze {44A9F2}Modern Drift! {FFFFFF}Rejestracja nie jest wymagana ale\nradzimy sie zarejstrowac poniewaz zostana zapisane twoje statystyki takie jak:\n{44A9F2}» {FFFFFF}Kasa, Ranga, Dom, Punkty, Samochod itp!\n\nCzy chcesz przejsc do panelu rejestracji?","Tak", "Nie");
}
for(new i = 0 ; i <= 15 ; i++)
{
SendClientMessage(playerid, BIALY, " ");
}
return 1;
}
a tam wy?ej poda?em public OnDialogResponse.
Hm albo nie ma sk?d pobra? tego inputtext?
Wysłany: 2012-09-18, 14:37
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Kod: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTER) //0, bo taka jest warto?? w drugim argumencie funkcji ShowPlayerDialog
{
if(response == 1) //Sprawdzamy, czy zosta? naci?ni?ty lewy przycisk
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 25)
{
SendClientMessage(playerid,0,"{FFFFFF}Twoje haslo jest za kr?tkie! Min. 5 max. 25 znak?w!");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"» MDS","{FFFFFF}Wpisz ponownie swoje haslo ponizej:","Ok","Anuluj");
}
else
{
new string[256], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof (name));
format(string, sizeof(string), "%s.ini", name);
DOF2_CreateFile(string, inputtext);
DOF2_SaveFile();
format(string, sizeof(string), "Zosta?e? pomy?lnie zarejestrowany na naszym serwerze.\n\n{00D0FF}Twoje has?o to: {FFFF00}%s", inputtext);
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "» MDS", string, "OK", "");
}
}
}
return 1;
}
Tak zr?b, nie zauwa?y?em, ?e formatujesz ?cie?k? pliku dopiero po jego utworzeniu. Pozmieniaj sobie r?wnie? warto?? tablic, bo tworzysz string z warto?ci? 256, a formatujesz tekst, kt?ry b?dzie mia? maks. 30 znak?w. Z?era to pami?? serwera i w konsekwencji go laguje.
Wysłany: 2012-09-18, 14:56
Bartek23071993
WiceWersa
Wiek: 29 Na forum: 5223 dni Posty: 250
Nick w MP: WiceWersa
Piwa : 2429
jprd nie lepiej na SQLite zrobi? ?
Wysłany: 2012-09-18, 15:16
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Okey, dzi?ki. Te? to potem zauwa?y?em, heh. Te tablice to ja pozmniejszam . A co do "B??dne has?o" zrobi?em co? takiego: Kod: if(dialogid == DIALOG_LOGIN)
{
if(response == 1)
{
new string[256], password[25];
GetPlayerName(playerid, password, sizeof (password));
format(string, sizeof(string), "%s", password);
if(!DOF2_CheckLogin(string,password))
{
SendClientMessage(playerid,0,"{D10000}Poda?e? b??dne has?o!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"» MDS","{FFFFFF}Wpisz ponownie swoje has?o poni?ej:","Ok","Anuluj");
}
else
{
SendClientMessage(playerid,0,"{43D100}Pomy?lnie zalogowano!");
}
}
}
Bez przerwy pisze mi z?e has?o chocia? dobre wpisuje. To chyba z tym formatem co? namiesza?em .
Wysłany: 2012-09-18, 15:21
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Kod: if(dialogid == DIALOG_LOGIN)
{
if(response == 1)
{
new string[256], password[25];
GetPlayerName(playerid, password, sizeof (password));
format(string, sizeof(string), "%s.ini", password);
if(!DOF2_CheckLogin(password, inputtext))
{
SendClientMessage(playerid,0,"{D10000}Poda?e? b??dne has?o!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"» MDS","{FFFFFF}Wpisz ponownie swoje has?o poni?ej:","Ok","Anuluj");
}
}
}
Funkcja CheckLogin ma dwa argumenty - plik oraz tekst, do kt?rego ma por?wnywa? has?o. Zauwa? te?, ?e w includzie DOF2.inc masz podan? ?cie?k? pliku, wi?c ta ?cie?ka jest u?yta w funkcji CheckLogin, wi?c zmie? sobie t? ?cie?k?, lub zmie? nazw? foldera kont graczy do takiej, jaka jest w includzie.
Wysłany: 2012-09-18, 16:21
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
A wi?c tak, pytanie kolejne: Jak zwr?ci? w onplayerdialoge tablice ?
Wysłany: 2012-09-18, 19:24
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
"Wafelowski" napisał/a :A wi?c tak, pytanie kolejne: Jak zwr?ci? w onplayerdialoge tablice ?
Tzn? Sprecyzuj dok?adnie, opisz na jakim? przyk?adzie lub do czego to potrzebujesz.
Wysłany: 2012-09-19, 17:25
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Okey, dzi?ki. Teraz zrobi?em zapis skina, no i nie wiem jak zrobi?, ?e je?eli gracz si? ju? zalogowa? to nie przenosi go do wybiera?ki ale za to spawnuje gracza no i wczytuje mu skin z pliku. Mam zrobiony zapis skina i jego odczytywanie ale za to nie wiem jak zrobi? aby w?a?nie nie przenosi?o mnie do wybiera?ki poniewa? wtedy ja si? "zespawnuje" ale za to ze skinem kt?ry mam na pocz?tku, b?d? tym obok. Jak to omin???
Wysłany: 2012-09-19, 19:01
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Tam, gdzie gracz si? loguje
Kod: SpawnPlayer(playerid);
SetPlayerSkin(playerid, skin_z_pliku);
Tagi: textdraw :: jak :: zrobić :: odświeżanie?
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: