Szerző Téma: Filterscript  (Megtekintve 1811 alkalommal)

Filterscript
« Dátum: 2011. Május 14. - 11:28:28 »
0
Üdv! Írtam egy nagyon kezdetleges account rendszert, de valamiért nem mûködik. Compile-nál nem jelez hibát, de amikor csatlakozom a szerveremre nem történik semmi, pedig bekéne hozni a dialogot.
Így néz ki:
 
#include <a_samp>
#include <dutils>
#include <Dini>
#if defined FILTERSCRIPT
#define FILTERSCRIPT
#define COLOR_GREEN 0x33AA33AA
 
enum pInfo
{
    AdminLevel,
    level,
    cash,
    pw,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
 
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Account System v0.1\");
print(\"--------------------------------------\\n\");
return 1;
}
 
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME], file[128];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), \"c:/Program Files/Rockstar Games/SA-MP Server/scriptfiles/Users/%s.ini\", name);
if(!fexist(file)) {
SendClientMessage(playerid, COLOR_GREEN, \"Még nem regisztráltál! Kérlek tedd meg!\");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Kérlek regisztrálj!\", \"Írd be a jelszavad!\", \"Register\", \"Cancel\");
}
else {
new str[128];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(str, sizeof(str), \"Üdv újra! ~r~%s.\", name);
SendClientMessage(playerid, COLOR_GREEN, str);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Jelentkezz be!\", \"Írd be a jelszavad!\", \"Login\", \"Cancel\");
}
return 1;
}
 

public OnPlayerDisconnect(playerid, reason)
{
new file[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), \"c:/Program Files/Rockstar Games/SA-MP Server/scriptfiles/Users/%s.ini\", name);
if(dini_Exists(file)) {
   dini_IntSet(file, \"pw\", PlayerInfo[playerid][pw]);
   dini_IntSet(file, \"AdminLevel\", PlayerInfo[playerid][AdminLevel]);
   dini_IntSet(file, \"cash\", PlayerInfo[playerid][cash]);
   dini_IntSet(file, \"level\", PlayerInfo[playerid][level]);
}
return 1;
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == 1)
{
new file[128], name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(file, sizeof(file), \"c:/Program Files/Rockstar Games/SA-MP Server/scriptfiles/Users/%s.ini\", name);
if(response) {
   if(strlen(inputtext)) {
   dini_Create(file);
   dini_IntSet(file, \"pw\", num_hash(inputtext));
   dini_IntSet(file, \"AdminLevel\", PlayerInfo[playerid][AdminLevel]);
   dini_IntSet(file, \"cash\", PlayerInfo[playerid][cash]);
   dini_IntSet(file, \"level\", PlayerInfo[playerid][level]);
   format(str, sizeof(str), \"You are registered as ~r~%s. Your password is ~r~%s. /changepass to change it\", name, inputtext);
SendClientMessage(playerid, COLOR_SYSTEM, str);
PlayerInfo[playerid][level] = dini_Int(file, \"level\");
PlayerInfo[playerid][cash] = dini_Int(file, \"cash\");
PlayerInfo[playerid][AdminLevel] = dini_Int(file, \"AdminLevel\");
             }
}
else {
      Kick(playerid);
     }
}
if(dialogid == 2) {
new file[128], name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(str, sizeof(str), \"c:/Program Files/Rockstar Games/SA-MP Server/scriptfiles/Users/%s.ini\", name);
if(response){
if(strlen(inputtext)) {
if(num_hash(inputtext) != dini_Int(file, \"pw\")) {
SendClientMessage(playerid, COLOR_SYSTEM, \"Rossz jelszó!\");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Jelentkezz be!\", \"Írd be a jelszavad!\", \"Login\", \"Cancel\");
}
else {
SendClientMessage(playerid, COLOR_SYSTEM, \"Sikeresen bejelentkeztél!\");
PlayerInfo[playerid][level] = dini_Int(file, \"level\");
PlayerInfo[playerid][cash] = dini_Int(file, \"cash\");
GivePlayerMoney(playerid, dini_Int(file, \"cash\"));
PlayerInfo[playerid][AdminLevel] = dini_Int(file, \"AdminLevel\");
    }
}
}
else {
      Kick(playerid);
     }
public OnPlayerCommandText(playerid, cmdtext[])
{
return 0;
}
 
public OnFilterScriptExit()
{
    print(\"\\n----------------------------------\");
print(\" Account System v0.1\");
print(\"----------------------------------\\n\");
return 1;
}
 
#endif

 
[gmod]Javítottam a

taget

tagre.[/gmod]
« Utoljára szerkesztve: 2014. Október 28. - 17:50:26 írta Dfoglalo »

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Filterscript
« Válasz #1 Dátum: 2011. Május 14. - 11:30:45 »
0
az elejébe belenéztem alapból két hiba, \'pw\' után nem kell vesszõ
és
[pawn]format(file, sizeof(file), \"c:/Program Files/Rockstar Games/SA-MP Server/scriptfiles/Users/%s.ini\", name);[/pawn]
Itt nem kell a teljeset megadni csak annyi hogy:
[pawn]format(file, sizeof(file), \"Users/%s.ini\", name);[/pawn]

Filterscript
« Válasz #2 Dátum: 2011. Május 14. - 11:37:40 »
0
Sajnos még connect-nél nem hozza be a dialogot :S

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Filterscript
« Válasz #3 Dátum: 2011. Május 14. - 11:40:34 »
0
[pawn]public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME], file[128];
GetPlayerName(playerid, name,  sizeof(name));
format(file, sizeof(file), \"Users/%s.ini\", name);
if(!fexist(file)) {
SendClientMessage(playerid, COLOR_GREEN, \"Még nem regisztráltál! Kérlek tedd meg!\");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Kérlek regisztrálj!\", \"Írd be a jelszavad!\", \"Register\", \"Cancel\");
}
else {
new str[128];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), \"Üdv újra! ~r~%s.\", name);
SendClientMessage(playerid, COLOR_GREEN, str);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Jelentkezz be!\", \"Írd be a jelszavad!\", \"Login\", \"Cancel\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == 1)
{
new file[128], name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), \"Users/%s.ini\", name);
if(dialogid == 2) {
new file[128], name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), \"Users/%s.ini\", name);[/pawn]

Filterscript
« Válasz #4 Dátum: 2011. Május 14. - 11:59:09 »
0
Már csak azt nem értem, hogy ez minek bele..
 
#if defined FILTERSCRIPT
#define FILTERSCRIPT

 
Szerintem felesleges, úgyhogy töröld..
Amugy meg fordítva csináltad, ezért az egész script nem indul el, de ezt gondolom a többiek nem vették észre..
[pawn]#if defined FILTERSCRIPT // megnézi, hogy befiniálva van-e
#define FILTERSCRIPT // ha igen, akkor definiálja? o.O[/pawn]
Szerintem fordítva kéne...

Filterscript
« Válasz #5 Dátum: 2011. Május 14. - 12:23:03 »
0
Tele van hibával :S
 
:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(76) : warning 225: unreachable code
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(76) : error 029: invalid expression, assumed zero
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(76) : error 004: function \"OnDialogResponse\" is not implemented
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(78) : error 017: undefined symbol \"dialogid\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(80) : warning 219: local variable \"file\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(80) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(84) : error 017: undefined symbol \"dialogid\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(85) : warning 219: local variable \"file\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(85) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(85) : warning 219: local variable \"str\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(88) : error 017: undefined symbol \"response\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(89) : error 017: undefined symbol \"inputtext\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(91) : error 017: undefined symbol \"inputtext\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(95) : error 017: undefined symbol \"inputtext\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(96) : warning 217: loose indentation
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(96) : error 017: undefined symbol \"COLOR_SYSTEM\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(107) : error 017: undefined symbol \"dialogid\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(108) : warning 219: local variable \"file\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(108) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(108) : warning 219: local variable \"str\" shadows a variable at a preceding level
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : error 037: invalid string (possibly non-terminated string)
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : warning 215: expression has no effect
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : warning 215: expression has no effect
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : error 001: expected token: \";\", but found \")\"
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : error 029: invalid expression, assumed zero
C:\\Program Files\\Rockstar Games\\SA-MP Server\\accsys.pwn(110) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
14 Errors.

Filterscript
« Válasz #6 Dátum: 2011. Május 14. - 13:16:51 »
0
KATT
kb semminek a végét nem zártad le..
nembaj, itt van.

Filterscript
« Válasz #7 Dátum: 2011. Május 14. - 13:35:25 »
0
Köszönöm a segítséget! :D  Zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal