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

Wysłany: 2017-08-25, 14:25


Troyson







Wiek: 29
Na forum: 3590 dni
Posty: 12
Nick w MP: Troy



Respekt: 50

Witam. ot?? nie wiem jak naprawi? ten b??d, a dok?adniej gdy ju? zrobimy konto i si? logujemy to trzeba wpisa? has?o i gdy je wpiszemy jest wszystko okey ale natomiast gdy zostawimy miejsce has?a puste i damy zaloguj to i tak si? zalogujemy na konto!
Mo?ecie jako? to naprawi? i napisa? w czym tkwi b??d?
Z g?ry dzi?ki.

Skrypt:
Kod:

#include <a_samp>
#include <dfile>
#include <kolory>

#define NAZWA_SERWERA "ORPG Serwer by Troy"
#define WERSJA_SERWERA "0.3.7"

#define PUNKTY_NA_START 10
#define KASA_NA_START 100

#define DIALOG_REJESTRACJA 0
#define DIALOG_LOGOWANIE 1

#define FOLDER_KONT "/accounts-database/"

main(){}

enum Dgracza
{
bool: Zalogowany
};
new DaneGracza[MAX_PLAYERS][Dgracza];

public OnGameModeInit()
{
UsePlayerPedAnims();
// Skiny m?™ĹĽczyzn
AddPlayerClass(7, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(96, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(59, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(48, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(47, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(29, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(23, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(19, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(18, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(22, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
// Skiny kobiet
AddPlayerClass(11, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(12, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(55, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(169, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(141, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(140, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(139, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(93, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(91, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(90, 1130, -1483.5, 22.799999237061, 0.0, 0, 0, 0, 0, 0, 0);
// Sprawdzanie folderu kont
if (!dfile_FileExists(FOLDER_KONT))
{
return printf("Folder %s nie istnieje w folderze Scriptfiles!", FOLDER_KONT);
}
else printf("Folder %s istnieje i jest gotowy do uzycia!", FOLDER_KONT);

print("\nGamemode ORPG Serwer by Troy wersja 0.3.7 by Troy zostal pomyslnie wlaczony!\n");
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGOWANIE)
{
if(response)
{
dfile_Open(SciezkaKontaGracza(playerid));
new haslo[300];
haslo = dfile_ReadString("Haslo");
dfile_CloseFile();
if(strcmp(inputtext, haslo, false) == 0)
{
WczytajKonto(playerid);
DaneGracza[playerid][Zalogowany] = true;
TogglePlayerSpectating(playerid, false);
WymusWyborPostaci(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Logowanie: Haslo sie zgadza! Zostales(as) pomyslnie zalogowany(a)!");
}
else
{
OknoLogowania(playerid);
SendClientMessage(playerid, COLOR_RED, "Logowanie: Haslo sie nie zgadza!");
}
}
else Kick(playerid);
}
if(dialogid == DIALOG_REJESTRACJA)
{
if(response)
{
if(strlen(inputtext) >= 6)
{
StworzKonto(playerid, inputtext);
OknoLogowania(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Rejestracja: Konto zostalo pomyslnie zalozone!\nMozesz sie teraz zalogowac!");
}
else
{
OknoRejestracji(playerid);
SendClientMessage(playerid, COLOR_RED, "Rejestracja: Haslo musi posiadac 6 lub wiecej znakow!");
}
}
else Kick(playerid);
}
return 0;
}

public OnPlayerConnect(playerid)
{
ResetujDaneGracza(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
if(DaneGracza[playerid][Zalogowany] == true)
{
ZapiszKonto(playerid);
}
ResetujDaneGracza(playerid);
return 1;
}

public OnPlayerSpawn(playerid)
{
if(DaneGracza[playerid][Zalogowany] == false)
{
TogglePlayerSpectating(playerid, true);
if(!dfile_FileExists(SciezkaKontaGracza(playerid)))
{
OknoRejestracji(playerid);
}
else
{
OknoLogowania(playerid);
}
}
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
// Sprawdza czy gracz jest zalogowany czy teĹĽ nie
if(DaneGracza[playerid][Zalogowany] == false)
{
SetTimerEx("SpawnujGracza", 3, false, "i", playerid);
}
// Kamera wyboru i spawn postaci
SetPlayerPos(playerid, 1130, -1483.5, 22.799999237061);
SetPlayerFacingAngle(playerid, 0);
SetPlayerCameraPos(playerid, 1130, -1478.5, 22.799999237061);
SetPlayerCameraLookAt(playerid, 1130, -1483.5, 22.799999237061);
return 1;
}

stock ResetujDaneGracza(playerid)
{
DaneGracza[playerid][Zalogowany] = false;
return 1;
}

stock ZapiszKonto(playerid)
{
dfile_Create(SciezkaKontaGracza(playerid));
dfile_Open(SciezkaKontaGracza(playerid));

dfile_WriteInt("Punkty", GetPlayerScore(playerid));
dfile_WriteInt("Kasa", GetPlayerMoney(playerid));
//dfile_WriteInt("Level", 1);

dfile_SaveFile();
dfile_CloseFile();
return 1;
}

stock WymusWyborPostaci(playerid)
{
ForceClassSelection(playerid);
TogglePlayerSpectating(playerid, true);
TogglePlayerSpectating(playerid, false);
return 1;
}

stock WczytajKonto(playerid)
{
ResetPlayerMoney(playerid);

dfile_Open(SciezkaKontaGracza(playerid));

SetPlayerScore(playerid, dfile_ReadInt("Punkty"));
GivePlayerMoney(playerid, dfile_ReadInt("Kasa"));

dfile_CloseFile();
return 1;
}

stock StworzKonto(playerid, haslo[])
{
dfile_Create(SciezkaKontaGracza(playerid));
dfile_Open(SciezkaKontaGracza(playerid));

dfile_WriteString("Haslo", haslo);
dfile_WriteInt("Punkty", PUNKTY_NA_START);
dfile_WriteInt("Kasa", KASA_NA_START);
dfile_WriteInt("Level", 1);

dfile_SaveFile();
dfile_CloseFile();
return 1;
}

stock OknoRejestracji(playerid)
{
ShowPlayerDialog(playerid, DIALOG_REJESTRACJA, DIALOG_STYLE_PASSWORD, "Rejestracja", "{FFFFFF}Witaj na serwerze!\n{FF0000}Nie posiadasz konta,\nprosze sie zarejestrowac!", "Zarejestruj", "Anuluj");
}

stock OknoLogowania(playerid)
{
ShowPlayerDialog(playerid, DIALOG_LOGOWANIE, DIALOG_STYLE_PASSWORD, "Logowanie", "{FFFFFF}Witaj ponownie!\n{FF0000}Twoje konto zostalo {00CC00}znalezione{FF0000}.\nProsze sie zalogowac!", "Zaloguj", "Anuluj");
}

stock SciezkaKontaGracza(playerid)
{
new sciezka[128];
format(sciezka, sizeof sciezka, FOLDER_KONT"%s.ini", NazwaGracza(playerid));
return sciezka;
}

stock NazwaGracza(playerid)
{
new nazwa[MAX_PLAYER_NAME];
GetPlayerName(playerid, nazwa, sizeof nazwa);
return nazwa;
}

forward SpawnujGracza(playerid);
public SpawnujGracza(playerid)
{
SpawnPlayer(playerid);
return 1;
}




Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-25, 22:39


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Wystarczy doda? do warunku funkcj? strlen, kt?ra sprawdza ilo?? znak?w w danej tablicy.

Kod:

if(strcmp(inputtext, haslo, false) == 0 && strlen(inputtext)) //sprawdza poprawnosc hasla i czy ilosc znakow nie rowna sie zeru


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-26, 20:12


Virex_PL

Głos rozsądku






Wiek: 26
Na forum: 4187 dni
Posty: 170
Nick w MP: Virex_PL

Piwa: 31

Respekt: 120
Respekt: 120

Albo definicje ktora wykonuje sie szybciej: http://wiki.sa-mp.com/wiki/Isnull

Postaw piwo autorowi tego posta
 

 
Tagi: prośba :: przerobienie :: skryptu.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » Prośba o przerobienie skryptu. 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