Wysłany: 2014-08-23, 15:06
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Cze??, mam problem z rejestracj? w GUI, a mianowicie nwm czemu nie chce dzia?a?, wyskakuje mi error ?e nie mam Double_O_Files_2.inc
Kod: C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(11) : fatal error 100: cannot read from file: "DOF2"
a go mam a gdy usun? z mapki #include <DOF2>
Wywala to:
Kod: C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(71) : error 033: array must be indexed (variable "str")
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(155) : warning 215: expression has no effect
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(156) : warning 215: expression has no effect
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(167) : warning 203: symbol is never used: "OnDialogResponse"
Tutaj ca?a mapka:
Kod: //===| Include | ===
#include <a_samp>
#include <zcmd>
#include <DOF2>
#pragma tabsize 0
#define GUI_LOGIN 1 //id dialogu od logowania
#define GUI_REGISTER 2 //id dialogu od rejestracji
#define DOF2_FileExists
#define DOF2_SetInt
enum PlayerInfoEnum
{
score,
kasa
}
new PlayerInfo[MAX_PLAYERS][PlayerInfoEnum];
public OnPlayerConnect(playerid)
{
new str[45]; //tablica do kt?rej przypiszemy prawdopodobn? nazw? pliku gracza.
format(str, sizeof(str), "%s.ini",Nick(playerid)); //Pobieramy i przypisujemy nick
if(DOF2_FileExists(str)) //sprawdzamy czy taki plik istnieje
{//je?eli tak pokazujemy GUI od logowania
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", "Wpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");
}
else
{//je?eli nie pokazujemy GUI od rejestracji
ShowPlayerDialog(playerid, GUI_REGISTER, DIALOG_STYLE_PASSWORD, "Rejestracja", "Wybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
}
return 1;
}
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == GUI_LOGIN) //warunek GUI od logowanie
{
if(response) //czy wcisn?? lewy button
{
if(!isnull(inputtext)) //czy cokolwiek wpisa? w polu GUI
{
new file[128]; //tablica
format(file,sizeof(file),"%s.ini",Nick(playerid)); //przypisujemy do tablicy jak ma wygl?da? plik gracza
if(strcmp(DOF2_GetString(file, "Haslo"),inputtext,true)) //sprawdzamy czy has?o podane w GUI i has?o z pliku s? takie same
{//je?eli nie wy?witlamy znowu GUI
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "logowanie", "Podane has?o jest nie prawid?owe!\n\n\nWpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");
}
else if(!strcmp(DOF2_GetString(file, "Haslo"),inputtext,true))
{//je?eli tak:
PlayerInfo[playerid][score]=DOF2_GetInt(file, "score"); //przypisujemy do zmiennej score jakie gracz posiada
PlayerInfo[playerid][kasa]=DOF2_GetInt(file, "kasa"); //tutaj przypisujemy kas? gracza
SetPlayerScore(playerid, PlayerInfo[playerid][score]); //Dajemy w/w score
SetPlayerMoney(playerid, PlayerInfo[playerid][kasa]); //Dajemy w/w kas?
SendClientMessage(playerid, 0x00FF00, "Poprawnie si? zalogowa?e?!"); //wysy?amy wiadomo??
}
}
else
{//je?eli nic nie wpisa? znowu GUI pokazujemy
ShowPlayerDialog(playerid, GUI_LOGIN,DIALOG_STYLE_PASSWORD, "Logowanie", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakie u?y?e? podczas rejestracji:", "Zaloguj", "Wyjd?");
}
}
else
{//je?eli wcisn?? prawy button kickujemy gracza
Kick(playerid);
}
}
if(dialogid == GUI_REGISTER) //warunek GUI od rejestracji
{
if(response) //czy wcisn?? lewy button
{
if(!isnull(inputtext)) //czy cokolwiek wpisa? w polu GUI
{
if(strlen(inputtext)<5||strlen(inputtext)>15) //czy poodany tekst jest d?u?szy od 5 a kr?tszy od 15
{//je?elu nie pokazujemy GUI
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Has?o jest za kr?tkie lub za d?ugie!\nPowino sk?adac si? od 4 do 14 znak?w!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
return 1;
}
new file[128]; //tablica
format(file,sizeof(file),"%s.ini",Nick(playerid)); //jak ma wygl?da? plik gracza
DOF2_CreateFile(file); //tworzymy plik
DOF2_SetString(file, "haslo", inputtext); //wpisujemy do niego has?o gracz
DOF2_SetInt(file, "kasa", 0); //wpisujemy ?e ma 0 kasy
DOF2_SetInt(file, "score", 0); //wpisujemy ?e ma 0 score
PlayerInfo[playerid][score]=0; //przypisujemy mu 0 score
PlayerInfo[playerid][kasa]=0; //oraz przypisujemy 0 kasy
}
else if(isnull(inputtext)) //je?eli nic nie wpisa?
{//pokazujemy znowu GUI
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
}
}
else
{//je?eli wcisn?? prawy button pokazujemy GUI
Kick(playerid);
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][score]=GetPlayerScore(playerid); //przypisujemy do zmiennej score
PlayerInfo[playerid][kasa]=GetPlayerMoney(playerid); //przypisujemy do zmiennej kas?
new file[128]; //tablica to do kt?rej przypiszemy nick gracza
format(file,sizeof(file),"%s.ini",Nick(playerid)); //robimy nazw? pliku gracza
DOF2_SetInt(file, "score", PlayerInfo[playerid][score]); //wpisujemy do w/w pliku warto?? zmiennej
DOF2_SetInt(file, "kasa", PlayerInfo[playerid][kasa]); //jak wy?ej
return 1;
}
stock Nick(playerid)//zwraca nick
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, sizeof(nick));
return nick;
}
Wysłany: 2014-08-23, 15:32
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
Wysłany: 2014-08-23, 16:09
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Teraz wywala to:
Kod: C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(73) : error 029: invalid expression, assumed zero
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(73) : warning 215: expression has no effect
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(73) : error 001: expected token: ";", but found ")"
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(73) : error 029: invalid expression, assumed zero
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(73) : fatal error 107: too many error messages on one line
Linijka 73:
Kod:
A tutaj include i define (all):
Kod: #include <a_samp>
#include <zcmd>
#include <core>
#include <float>
#include <dof2>
#pragma tabsize 0
#define GUI_LOGIN 1 //id dialogu od logowania
#define GUI_REGISTER 2 //id dialogu od rejestracji
#define dof2_FileExists 1
Wysłany: 2014-08-23, 16:27
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
to teraz jest dobry pluglin tylko ?le zaskryptowa?e? to
[ Dodano : 2014-08-23, 16:29 ]
Zr?b tak
Kod:
new nick[60];//Tutaj zapisywany jest nick gracza
GetPlayerName(playerid, nick, sizeof(nick));//Pobiera nick gracza, i zapisuje go w stringu "nick"
if(DOF2_FileExists(nick))
{
//Tu bedzie Logowanie
}
else
{
DOF2_CreateFile(nick, "%s.ini");//Tworzy plik kt?ry ma nazw? tak? jak nick gracza.
//Tu bedzie Rejestracja
}
Wysłany: 2014-08-23, 18:06
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Dalej b??d:
Kod: public OnPlayerConnect(playerid)
{
new nick[60];//Tutaj zapisywany jest nick gracza
GetPlayerName(playerid, nick, sizeof(nick));//Pobiera nick gracza, i zapisuje go w stringu "nick"
if(dof2_FileExists(nick))
{//je?eli tak pokazujemy GUI od logowania
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", "Wpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");
}
else
{//je?eli nie pokazujemy GUI od rejestracji
dof2_CreateFile(nick, "%s.ini");//Tworzy plik kt?ry ma nazw? tak? jak nick gracza.
ShowPlayerDialog(playerid, GUI_REGISTER, DIALOG_STYLE_PASSWORD, "Rejestracja", "Wybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
}
return 1;
}
Wysłany: 2014-08-23, 19:30
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
a zamiast tego nick zr?b tak :
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
Wysłany: 2014-08-23, 20:11
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Dalej nic ;/
To chyba nie ma sensu
Wysłany: 2014-08-23, 20:14
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
daj ten error
Wysłany: 2014-08-23, 21:33
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Poka? aktualny kod i b??dy.
Wysłany: 2014-08-24, 10:51
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Kod: //===| Include | ===
#include <a_samp>
#include <zcmd>
#include <core>
#include <float>
#include <dof2>
#pragma tabsize 0
//------------------------------------------------------------------------------
//===| Define | ===
#define GUI_LOGIN 1 //rejestracja
#define GUI_REGISTER 2 //rejestracja
#define dof2_FileExists 1 //rejestracja
//------------------------------------------------------------------------------
//===| Konsola | ===
main()
{
print("\n --------------------------------------------------");
print("| .:: x ::. |\n");
print("| .:: x ::. |\n");
print("| .:: x. ::. |\n");
print("|x|\n");
print(" --------------------------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("Polski Power Truck [PPT]");
return 1;
}
//------------------------------------------------------------------------------
//===| Kolory | ===
#define COLOR_ERROR 0xF01414FF
#define COLOR_ADMIN 0xF01414FF
#define COLOR_GREEN 0x28DC28FF
#define COLOR_GANG 0x3CE6FFFF
#define COLOR_RED 0xCC0000AA
#define COLOR_GREY 0xC5C5C5FF
#define JasnoNiebieski 0x33CCFFAA
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_ORANGE 0xFFB400FF
#define COLOR_CB 0xD2BE6EFF
#define COLOR_VIP 0x1EFF1EFF
#define COLOR_WHITE 0xFFFFFFFF
#define CWARN 0xFF4444FF
#define COLOR_INVISIBLE 0xFFFFFF00
#define COLOR_NORMAL_PLAYER 0xFF4444FF
#define COLOR_LIGHT_BLUE 0x33CCFFAA
#define COLOR_RASPBERRY 0xFF2263F6
#define COLOR_LIGHT_ORANGE 0xFF9900AA
#define COLOR_NGANG 0xB7B7F6F6
#define COLOR_LIGHTRED 0xFF0000FF
#define COLOR_BLACK 0x000000FF
#define COLOR_DESCRIPTION 0x4169E1FF
#define informacyjny 0x1486F8FF
#define COLOR_informacyjny 0x1486F8FF
enum PlayerInfoEnum
{
score,
kasa
}
new PlayerInfo[MAX_PLAYERS][PlayerInfoEnum];
//------------------------------------------------------------------------------
//===| Connect | ===
public OnPlayerConnect(playerid)
{
new str[45]; //rejestracja
format(str, sizeof(str), "%s.ini",Nick(playerid)); //rejestracja
if(dof2_FileExists(str)) //rejestracja
{//rejestracja
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", "Wpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");//rejestracja
}//rejestracja
else//rejestracja
{//rejestracja
ShowPlayerDialog(playerid, GUI_REGISTER, DIALOG_STYLE_PASSWORD, "Rejestracja", "Wybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");//rejestracja
}//rejestracja
return 1;
}
//------------------------------------------------------------------------------
//===| Disconnect | ===
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][score]=GetPlayerScore(playerid); //rejestracja
PlayerInfo[playerid][kasa]=GetPlayerMoney(playerid); //rejestracja
new file[128]; //rejestracja
format(file,sizeof(file),"%s.ini",Nick(playerid)); //rejestracja
dof2_SetInt(file, "score", PlayerInfo[playerid][score]); //rejestracja
dof2_SetInt(file, "kasa", PlayerInfo[playerid][kasa]); //rejestracja
return 1;
}
//------------------------------------------------------------------------------
//===| Rejestracja | ===
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == GUI_LOGIN) //rejestracja
{ //rejestracja
if(response) //rejestracja
{ //rejestracja
if(!isnull(inputtext)) //rejestracja
{ //rejestracja
new file[128]; //rejestracja
format(file,sizeof(file),"%s.ini",Nick(playerid)); //rejestracja
if(strcmp(dof2_GetString(file, "Haslo"),inputtext,true)) //rejestracja
{ //rejestracja
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "logowanie", "Podane has?o jest nie prawid?owe!\n\n\nWpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?"); //rejestracja
} //rejestracja
else if(!strcmp(dof2_GetString(file, "Haslo"),inputtext,true)) //rejestracja
{ //rejestracja
PlayerInfo[playerid][score]=dof2_GetInt(file, "score"); //rejestracja
PlayerInfo[playerid][kasa]=dof2_GetInt(file, "kasa"); //rejestracja
SetPlayerScore(playerid, PlayerInfo[playerid][score]); //rejestracja
SetPlayerMoney(playerid, PlayerInfo[playerid][kasa]); //rejestracja
SendClientMessage(playerid, 0x00FF00, "Poprawnie si? zalogowa?e?!"); //rejestracja
} //rejestracja
} //rejestracja
else //rejestracja
{ //rejestracja
ShowPlayerDialog(playerid, GUI_LOGIN,DIALOG_STYLE_PASSWORD, "Logowanie", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakie u?y?e? podczas rejestracji:", "Zaloguj", "Wyjd?"); //rejestracja
}//rejestracja
} //rejestracja
else//rejestracja
{ //rejestracja
Kick(playerid); //rejestracja
} //rejestracja
} //rejestracja
if(dialogid == GUI_REGISTER) //rejestracja
{
if(response) //czy wcisn?? lewy button
{
if(!isnull(inputtext)) //czy cokolwiek wpisa? w polu GUI
{
if(strlen(inputtext)<5||strlen(inputtext)>15) //czy poodany tekst jest d?u?szy od 5 a kr?tszy od 15
{//je?elu nie pokazujemy GUI
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Has?o jest za kr?tkie lub za d?ugie!\nPowino sk?adac si? od 4 do 14 znak?w!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
return 1;
}
new file[128]; //tablica
format(file,sizeof(file),"%s.ini",Nick(playerid)); //rejestracja
dof2_CreateFile(file); //rejestracja
dof2_SetString(file, "haslo", inputtext); //rejestracja
dof2_SetInt(file, "kasa", 0); //rejestracja
dof2_SetInt(file, "score", 0); //rejestracja
PlayerInfo[playerid][score]=0; //rejestracja
PlayerInfo[playerid][kasa]=0; //rejestracja
} //rejestracja
else if(isnull(inputtext)) //rejestracja
{//rejestracja
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?"); //rejestracja
} //rejestracja
} //rejestracja
else //rejestracja
{//rejestracja
Kick(playerid); //rejestracja
} //rejestracja
}//rejestracja
return 0;
}
stock Nick(playerid)//rejestracja
{ //rejestracja
new nick[MAX_PLAYER_NAME]; //rejestracja
GetPlayerName(playerid, nick, sizeof(nick)); //rejestracja
return nick; //rejestracja
} //rejestracja
//------------------------------------------------------------------------------
A tu b??dy:
Kod: C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(75) : error 029: invalid expression, assumed zero
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(75) : warning 215: expression has no effect
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(75) : error 001: expected token: ";", but found ")"
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(75) : error 029: invalid expression, assumed zero
C:\Users\Shinoda\Documents\SAMP\gamemodes\PPT.pwn(75) : fatal error 107: too many error messages on one line
Wysłany: 2014-08-24, 11:15
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
format(str, sizeof(str), "%s.ini",Nick(playerid));
w formacie brak tych znak?w , (")
Wysłany: 2014-08-24, 11:57
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
To gdzie dok?adnie mam je wstawi??
Sorka za to ale w pawn siedz? od kilku dni
Wysłany: 2014-08-24, 12:25
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Popraw format (tak jak kolega wy?ej m?wi), formatowany tekst musi by? w znakach ""
No i zamie? linijk?
Kod:
Na t?
Kod:
Wysłany: 2014-08-24, 12:28
Loghain
Wiek: 29 Na forum: 4506 dni Posty: 51
Piwa : 1
Tak?
Kod: format("str, sizeof(str), "%s.ini",Nick(playerid)");
if(fexist(str))
Wysłany: 2014-08-24, 13:00
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
nie
tak
Kod:
format(str, sizeof(str), "%s.ini",Nick(playerid));
if(fexist(str))
Tagi: rejestracja :: gui
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: