Sziasztok találtam egy angol admin+reg rendszert átfordítottam magyarra egyébként mindent úgy csináltam, ahogyan írta a srác, azonban még is 12 errorom van és nem értem miért? Ha tudtok segítsetek létszíves, elõre is köszönöm!
Errorok:
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(27) : error 010: invalid function or declaration
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(52) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(54) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(55) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(56) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(59) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(60) : error 017: undefined symbol \"CommandFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(68) : error 017: undefined symbol \"PlayerFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(83) : error 017: undefined symbol \"PlayerFile\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(83) : warning 215: expression has no effect
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(83) : error 001: expected token: \";\", but found \"]\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(83) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(83) : fatal error 107: too many error messages on one line
Itt a filterscript:
#include <a_samp>
#include <dini>
#include <dutils>
#pragma unused ret_memcpy
#define FILTERSCRIPT
#if defined FILTERSCRIPT
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_LIGHTBLUE 0xADD8E6FF
#define COLOR_ORANGE 0xFFA500FF
#define COLOR_RED 0xFF0000FF
#endif
enum PLAYER_MAIN {
PLAYER_NAME[MAX_PLAYER_NAME],
PLAYER_IP[16],
PLAYER_REGGED,
PLAYER_PASS,
PLAYER_LEVEL,
PLAYER_MONEY,
}
gPlayerInfo[MAX_PLAYERS][PLAYER_MAIN];
gPlayerLogged[MAX_PLAYERS];
enum COMMANDS_MAIN {
KICK,
BAN
}
new gCommands[COMMANDS_MAIN];
public OnFilterScriptInit()
{
print(\"\\n************************************\");
print(\"* *\");
print(\"* Admin Filterscript by Hipflop *\");
print(\"* Magyarította: Just *\");
print(\"* *\");
print(\"************************************\\n\");
// Level 0 = Noob
// Level 1 = Trusted Player
// Level 2 = TAG
// Level 3 = Moderátor
// Level 4 = Adminisztrátor
// Level 5 = Szerver tulaj
if(!fexist(CommandFile))
{
dini_Create(CommandFile);
dini_IntSet(CommandFile, \"Kick\", 2);
dini_IntSet(CommandFile, \"Ban\", 3);
}
gCommands[KICK] = dini_Int(CommandFile, \"Kick\");
gCommands[bAN] = dini_Int(CommandFile, \"Ban\");
return 1;
}
public OnPlayerConnect(playerid)
{
new file[100], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), PlayerFile, name);
if(!fexist(file))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Kérlek add meg a felhasználó neved és jelszavad.\", \"Regisztrál\", \"Exit\");
}
else if(fexist(file))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Kérlek add meg a jelszavad a belépéshez.\", \"Bejelentkezés\", \"Kilép\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[100];
format(file, sizeof(file), PlayerFile, gPlayerInfo[playerid][PLAYER_NAME]);
dini_Set(file, \"Name\", gPlayerInfo[playerid][PLAYER_NAME]);
dini_Set(file, \"Ip\", gPlayerInfo[playerid][PLAYER_IP]);
dini_IntSet(file, \"Registered\", gPlayerInfo[playerid][PLAYER_REGGED]);
dini_IntSet(file, \"Password\", gPlayerInfo[playerid][PLAYER_PASS]);
dini_IntSet(file, \"Level\", gPlayerInfo[playerid][PLAYER_LEVEL]);
dini_IntSet(file, \"Money\", GetPlayerMoney(playerid));
gPlayerLogged[playerid] = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(strlen(inputtext))
{
new file[100], name[MAX_PLAYER_NAME], ip[16], string[128];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerIp(playerid, ip, sizeof(ip));
format(file, sizeof(file), PlayerFile, name);
dini_Create(file);
dini_Set(file, \"Name\", name);
dini_Set(file, \"Ip\", ip);
dini_IntSet(file, \"Registered\", 1);
dini_IntSet(file, \"Password\", num_hash(inputtext));
dini_IntSet(file, \"Level\", 0);
dini_IntSet(file, \"Money\", 50);
format(string, sizeof(string), \"[RENDSZER] Sikeresen regisztráltál a következõ vévvel: %s.\", name);
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file, \"Name\"));
strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file, \"Ip\"));
gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file, \"Password\");
gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file, \"Level\");
GivePlayerMoney(playerid, dini_Int(file, \"Money\"));
gPlayerLogged[playerid] = 1;
}
else if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_RED, \"[RENDSZER] Meg kell adnod a jelszavad!\");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Kérlek add meg a felhasználó neved és jelszavadat a regisztrációhoz.\", \"Regisztráció\", \"Kilep\");
}
}
else if(!response)
{
SendClientMessage(playerid, COLOR_RED, \"[RENDSZER] Regisztrálnod kell, hogy játszhass!\");
Kick(playerid);
}
}
if(dialogid == 2)
{
if(response)
{
if(strlen(inputtext))
{
new file[100], name[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), PlayerFile, name);
if(num_hash(inputtext) == dini_Int(file, \"Password\"))
{
strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file, \"Name\"));
strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file, \"Ip\"));
gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file, \"Password\");
gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file, \"Level\");
GivePlayerMoney(playerid, dini_Int(file, \"Money\"));
gPlayerLogged[playerid] = 1;
format(string, sizeof(string), \"[sYSTEM] Welcome back, %s\", name);
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
}
else if(num_hash(inputtext) != dini_Int(file, \"Password\"))
{
SendClientMessage(playerid, COLOR_RED, \"[RENDSZER] Rossz jelszó!\");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Add meg a jelszavad a belépéshez.\", \"Bejelentkezés\", \"Kilép\");
}
}
else if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_RED, \"[RENDSZER] Meg kell adnod a jelszavad!\");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Add meg a jelszavad.\", \"Bejelentkezés\", \"Kilép\");
}
}
else if(!response)
{
SendClientMessage(playerid, COLOR_RED, \"[RENDSZER] Be kell jelentkezned a játékhoz!\");
Kick(playerid);
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(kick, 4, cmdtext);
dcmd(ban, 3, cmdtext);
return 0;
}
dcmd_kick(playerid, params[])
{
if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[KICK])
{
new string[128];
format(string, sizeof(string), \"Adminisztrátornak kell lenned %d hogy használhasd a parancsot!\", gCommands[KICK]);
SendClientMessage(playerid, COLOR_ORANGE, string);
}
else
{
new tmp[256], tmp2[256], index, id;
tmp = strtok(params, index);
tmp2 = strtok(params, index);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ORANGE, \"[KICK] Használat: /kick [iD] [OKA]\");
}
else if(!strlen(tmp2))
{
SendClientMessage(playerid, COLOR_ORANGE, \"[KICK] Használat: /kick [iD] [OKA]\");
}
else
{
id = strval(tmp);
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid, COLOR_ORANGE, \"[KICK] A játékos nem játszik jelenleg.\");
}
else if(id == playerid)
{
SendClientMessage(playerid, COLOR_ORANGE, \"[KICK] Magadat nem rúghatod ki.\");
}
else if(gPlayerInfo[id][PLAYER_LEVEL] > gPlayerInfo[playerid][PLAYER_LEVEL])
{
SendClientMessage(playerid, COLOR_ORANGE, \"[KICK] A játékos nagyobb admin szinten van mint te.\");
}
else
{
new string[256], name[MAX_PLAYER_NAME];
GetPlayerName(id, name, sizeof(name));
if(id >= 0 && id <= 9)
{
format(string, sizeof(string), \"[KICK] Kirugtak. Oka: %s.\", params[2]);
SendClientMessage(id, COLOR_ORANGE, string);
Kick(id);
format(string, sizeof(string), \"[KICK] Játékos %s kirúgva. Oka: %s.\", name, params[2]);
SendClientMessageToAll(COLOR_ORANGE, string);
}
else if(id >= 10 && id <= 99)
{
format(string, sizeof(string), \"[KICK] Kirúgtak. Oka: %s.\", params[3]);
SendClientMessage(id, COLOR_ORANGE, string);
Kick(id);
format(string, sizeof(string), \"[KICK] Játékos %s kirúgva. Oka: %s.\", name, params[3]);
SendClientMessageToAll(COLOR_ORANGE, string);
}
}
}
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 19. - 12:25:27 )
Sikerült 5 re csökkenteni az errorokat:
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(26) : error 010: invalid function or declaration
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(82) : error 017: undefined symbol \"gPlayerInfo\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(82) : warning 215: expression has no effect
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(82) : error 001: expected token: \";\", but found \"]\"
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(82) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Rikk\\Asztal\\DM\\filterscripts\\admin.pwn(82) : fatal error 107: too many error messages on one line