Nik_Anderson
Дебютант
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : error 017: undefined symbol "RegistrationStep"
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : warning 215: expression has no effect
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : error 001: expected token: ";", but found "]"
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : error 029: invalid expression, assumed zero
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Мод сервера: New.pwn
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : warning 215: expression has no effect
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : error 001: expected token: ";", but found "]"
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : error 029: invalid expression, assumed zero
D:\SA-MP\SAMP 0.3c\gamemodes\new.pwn(73) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Мод сервера: New.pwn
/*-------------------------------- Инклуды -----------------------------------*/
#include <a_samp>
#include <mxINI>
#if defined FILTERSCRIPT
/*-------------------------------- Дефайны -----------------------------------*/
#define COLOR_GOLD 0xFFD700AA
#define COLOR_RED 0xFF0000AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTRED 0xFF6347AA//
/*-------------------------------- Форварды ----------------------------------*/
forward OnPlayerRegister(playerid, password[]);//
forward OnPlayerLogin(playerid,password[]);//
forward OnPlayerSave(playerid);//
forward PayDay();//
/*--------------------------------- New's ------------------------------------*/
new gPlayerAccount[MAX_PLAYERS];//
new gPlayerLogged[MAX_PLAYERS];//
new RegistrationStep[MAX_PLAYERS];//
new KickPlayer[MAX_PLAYERS];//
/*----------------------------------------------------------------------------*/
enum pInfo
{
pPassword,
pAdmin,
pCash,
};
new Player[MAX_PLAYERS][pInfo];
/*----------------------------------------------------------------------------*/
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("NewMode");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SendClientMessage(playerid, COLOR_GOLD, "Добро пожаловать на сервер");
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
new bac[500];
new name[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(playerid, playername, sizeof(playername));
format(bac, sizeof(bac), "%s.ini", playername);
if(gPlayerAccount[playerid] != 0)
{
format(bac, sizeof(bac), "______________________________________\n\n Добро пожаловать на сервер\n Авторизация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", bac, "Принять", "Отменить");
}
else
{
gPlayerAccount[playerid] = 0;
format(bac, sizeof(bac), "______________________________________\n\n Добро пожаловать на сервер\n Регистрация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Регистрация", bac, "Принять", "Отменить");
}
}
return 1;
}
public OnPlayerConnect(playerid)
{
gPlayerAccount[playerid] = 0;
gPlayerLogged[playerid] = 0;
RegistrationStep[playerid] = 0;
KickPlayer[playerid] = 0;
new string[MAX_PLAYER_NAME];
if(fexist(string))
{
gPlayerAccount[playerid] = 1;
}
else
{
gPlayerAccount[playerid] = 0;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
OnPlayerSave(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "Необходимо зарегистрироваться либо авторизоваться!");
KickPlayer[playerid] = 1;
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[512];
if(dialogid == 1)
{
new bac[500];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(response)
{
if(!strlen(inputtext))
{
format(bac, sizeof(bac), "{FFFFFF}______________________________________\n\n Добро пожаловать на сервер\n Авторизация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", bac, "Войти", "Отмена");
return 1;
}
new password[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(bac, sizeof(bac), "%s.ini", playername);
new iniFile = ini_openFile(name);
ini_getString(iniFile, "Password", password);
ini_closeFile(iniFile);
if(strcmp(bac, password, true, 10) == 0)
{
OnPlayerLogin(playerid, password);
}
else
{
format(bac, sizeof(bac), "Вы ввели неверный пароль");
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "Неверный пароль", bac, "Повтор", "Выйти");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "Пароль введён неверно", "Вы были кикнуты с сервера\nПричина: Неверный пароль\nВведите /quit, чтобы выйти", "Принять", "");
Kick(playerid);
}
}
else
{
Kick(playerid);
}
}
if(dialogid == 2)
{
new name[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new bac[500];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(playerid, playername, sizeof(playername));
if(response)
{
if(!strlen(inputtext))
{
format(bac, sizeof(bac),"______________________________________\n\n Добро пожаловать на сервер\n Регистрация нового персонажа\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Регистрация", bac, "Принять", "Отмена");
return 1;
}
format(string, sizeof(string), "%s.ini", playername);
ini_createFile(string);
OnPlayerRegister(playerid, inputtext);
PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0);
return 1;
}
else
{
Kick(playerid);
}
}
if(dialogid == 3)
{
if(response)
{
new bac[500];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(bac, sizeof(bac), "______________________________________\n\n Добро пожаловать на сервер\n Авторизация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", bac, "Принять", "Отмена");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Для выхода из игры используйте {FFFFFF}/q(uit)");
Kick(playerid);
}
}
if(dialogid == 5)
{
if(response)
{
new bac[500];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(bac, sizeof(bac), "______________________________________\n\n Добро пожаловать на сервер\n Регистрация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,"Регистрация", bac, "Принять", "Отмена");
PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0);
return 1;
}
else
{
return 1;
}
}
if(dialogid == 6)
{
if(response)
{
new bac[500];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name,sizeof(name));
format(bac, sizeof(bac),"______________________________________\n\n Добро пожаловать на сервер\n Регистрация аккаунта\n\nЛогин: %s\nПароль:\n______________________________________", name);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Регистрация", bac,"Принять", "Отмена");
PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0);
return 1;
}
else
{
return 1;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new string[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.ini", playername);
new iniFile = ini_createFile(string);
if(iniFile < 0)
iniFile = ini_openFile(string);
ini_setString(iniFile, "Password", password);
ini_setInteger(iniFile, "Admin", Player[playerid][pAdmin]);
ini_setInteger(iniFile, "Cash", Player[playerid][pCash]);
ini_closeFile(iniFile);
OnPlayerLogin(playerid, password);
}
return 1;
}
public OnPlayerLogin(playerid, password[])
{
new string[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.ini", playername);
new iniFile = ini_openFile (string);
ini_getString(iniFile, "Password", string);
if(strcmp(string, password, true, 10) == 0)
{
ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]);
ini_getInteger(iniFile, "Cash", Player[playerid][pCash]);
ini_closeFile(iniFile);
}
return 1;
}
public OnPlayerSave(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
new string[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.ini", playername);
new iniFile = ini_openFile(string);
ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_setInteger(iniFile,"Cash",Player[playerid][pCash]);
ini_closeFile(iniFile);
}
}
return 1;
}
Последнее редактирование:
