Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-09-17, 16:59


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Czy ma kto? rozpisane wszystkie funkcje Double O File 2? Bo ja nie mog? znale?? :/ .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-17, 20:32


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-17, 21:46


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Dobra, dobra. Wiem, wiem. Ale ja nie umiem szuka? :p . 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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-17, 22:18


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 07:28


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 07:50


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Upewnij si?, ?e masz najnowszy include DOF'a i poszukaj sobie jaki? przyk?ad rejestracji, jak przyjd? ze szko?y to podam link

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 12:56


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 14:37


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 14:56


Bartek23071993

WiceWersa






Wiek: 29
Na forum: 5223 dni
Posty: 250
Nick w MP: WiceWersa

Piwa: 2429

Respekt: 70

Ostrzeżeń: 20%
jprd nie lepiej na SQLite zrobi? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 15:16


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

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 :P .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 15:21


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 16:21


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

A wi?c tak, pytanie kolejne: Jak zwr?ci? w onplayerdialoge tablice :P ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-18, 19:24


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
"Wafelowski" napisał/a:

A wi?c tak, pytanie kolejne: Jak zwr?ci? w onplayerdialoge tablice :P ?


Tzn? Sprecyzuj dok?adnie, opisz na jakim? przyk?adzie lub do czego to potrzebujesz.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-19, 17:25


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

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???

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-19, 19:01


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Tam, gdzie gracz si? loguje

Kod:

SpawnPlayer(playerid);
SetPlayerSkin(playerid, skin_z_pliku);


Postaw piwo autorowi tego posta
 

 
Tagi: textdraw :: jak :: zrobić :: odświeżanie?
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] TextDraw - Jak zrobić odświeżanie? Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku