PDA

Просмотр полной версии : [Вопрос] Помогите по регестраций



#NickName
08.12.2014, 01:04
Вот мой мод у меня не выбирается при регистраций,а ещё у меня скин CJ почему то сразу и сервер оффается просто так


//~~~~~~~~~~~~~~~~~~[Инклуды]~~~~~~~~~~~~~~~~~~
#include <a_samp>
#include <streamer>
#include <foreach>
#include <mxINI>
#include <md5>
//~~~~~~~~~~~~~~~~~~[Дефайны]~~~~~~~~~~~~~~~~~~
#define publics%0(%1) forward%0(%1); public%0(%1)
#define SPD ShowPlayerDialog
#define DSP DIALOG_STYLE_PASSWORD
#define DSI DIALOG_STYLE_INPUT
#define DSM DIALOG_STYLE_MSGBOX
#define Kickk SetTimerEx("kick",100,false,"i",playerid);
//~~~~~~~~~~~~~~~~~~[Дефайн цвета]~~~~~~~~~~~~~~~~~~
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_USE 0x7FB151FF
#define COLOR_BLUE 0x33AAFFFF
#define COLOR_SALMON 0xFA8072AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BLACK 0x000000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_REDD 0x9F0000AA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_ALLDEPT 0xFF8282AA
#define COLOR_NEWS 0xFFA500AA
#define COLOR_OOC 0xE0FFFFAA
#define TEAM_HIT_COLOR 0xFFFFFF00
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define TEAM_GROVE_COLOR 0x00D900C8
#define TEAM_AZTECAS_COLOR 0x01FCFFC8
#define TEAM_CYAN_COLOR 0xFF8282AA
//~~~~~~~~~~~~~~~~~~[Переменные глобальные]~~~~~~~~~~~~~~~~~~
new playername[MAX_PLAYER_NAME];

enum pInfo
{
pPass[64],
pLevel,
pCash,
pSex,
pSkin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//~~~~~~~~~~~~~~~~~~[Стоки]~~~~~~~~~~~~~~~~~~
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
new string[30];
GetPlayerName(playerid,playername,sizeof(playername));
format(string, sizeof(string),"Account/%s.ini", playername);
new File = iniOpen(string);
if(!File)
{
ini_setInteger(File,"Level", PlayerInfo[playerid][pLevel]);
ini_setInteger(File,"Money", PlayerInfo[playerid][pCash]);
ini_setInteger(File,"Sex", PlayerInfo[playerid][pSex]);
ini_setInteger(File,"Skin", PlayerInfo[playerid][pSkin]);
PlayerInfo[playerid][pCash] = Money(playerid);
iniClose(File);
}
}
}
stock Timers()
{
SetTimer("Level",1000,1);
SetTimer("ObnovMoney",1000,1);
}
stock Money(playerid)
{
return PlayerInfo[playerid][pCash];
}
stock AntiMoney()
{
foreach(new i: Player)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pCash] > GetPlayerMoney(i))
{
ResetPlayerMoney(i);
GivePlayerMoney(i,PlayerInfo[i][pCash]);
}
else if(PlayerInfo[i][pCash] < GetPlayerMoney(i))
{
ResetPlayerMoney(i);
GivePlayerMoney(i,PlayerInfo[i][pCash]);
}
}
}
}
stock ClearAkk(playerid)
{
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pCash] = 0;
PlayerInfo[playerid][pSex] = 0;
}
stock SetPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
SetPlayerColor(playerid, COLOR_WHITE);
if(PlayerInfo[playerid][pLevel] >= 1)
{
SetPlayerPos(playerid,953.5538,-1753.4082,13.5469);
SetPlayerFacingAngle(playerid,0.6583);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}
}
//~~~~~~~~~~~~~~~~~~[Паблики]~~~~~~~~~~~~~~~~~~
public OnGameModeInit()
{
SetGameModeText("Aidar new Gamemode");
DisableInteriorEnterExits();
EnableStuntBonusForAll(0);
Timers();
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
new string[200];
GetPlayerName(playerid,playername,sizeof(playername));
format(string, sizeof(string),"Account/%s.ini", playername);
if(fexist(string))
{
format(string, sizeof(string),"Добро пожаловать на сервер {FFFF00}Aidar new Gamemode\nВаш аккаунт зарегестриован\nВаш никнейм: {3300FF}%s\nВвидите пароль:", playername);
SPD(playerid,1,DIALOG_STYLE_PASSWORD,"Авторизация",string,"Готово","Выйти");
}
else
{
format(string, sizeof(string),"Добро пожаловать на сервер {FFFF00}Aidar new Gamemode\nВаш аккаунт не зарегестриован\nВаш никнейм: {3300FF}%s\nПридумайте пароль:", playername);
SPD(playerid,2,DIALOG_STYLE_INPUT,"Регистрация",string,"Далее","Выйти");
}
return 1;
}
public OnPlayerConnect(playerid)
{
ClearAkk(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerSpawn(playerid);
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[])
{
return 1;
}
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[200];
GetPlayerName(playerid,playername,sizeof(playername));
switch(dialogid)
{
case 1:
{
if(response)
{
if(!strlen(inputtext))
{
format(string, sizeof(string),"Добро пожаловать на сервер {FFFF00}Aidar new Gamemode\nВаш аккаунт зарегестриован\nВаш никнейм: {3300FF}%s\nВвидите пароль:", playername);
SPD(playerid,1,DSP,"Авторизация",string,"Готово","Выйти");
return true;
}
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext[i])
{
case 'А'..'Я', 'а'..'я', ' ': return SPD(playerid,1,DSM,"Смените раскладку","Смените раскладу клавиатуры","Повтор","");
}
format(string, sizeof(string),"Account/%s.ini", playername);
new File = iniOpen(string);
if(!strcmp(MD5_Hash(inputtext), string, true))
{
iniGet(File,"Password", string);
iniGetInt(File,"Level", PlayerInfo[playerid][pLevel]);
ini_getInteger(File,"Money", PlayerInfo[playerid][pCash]);
iniGetInt(File,"Sex", PlayerInfo[playerid][pSex]);
iniGetInt(File,"Skin", PlayerInfo[playerid][pSkin]);
iniClose(File);
SpawnPlayer(playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Вы ввели неверный пароль.Чтобы выйти введите /q");
Kickk
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Для того чтобы выйти введите /q");
Kickk
}
}
case 2:
{
if(response)
{
if(!strlen(inputtext))
{
format(string, sizeof(string),"Добро пожаловать на сервер {FFFF00}Aidar new Gamemode\nВаш аккаунт не зарегестриован\nВаш никнейм: {3300FF}%s\nПридумайте пароль:", playername);
SPD(playerid,2,DIALOG_STYLE_INPUT,"Регистрация",string,"Далее","Выйти");
return true;
}
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext[i])
{
case 'А'..'Я', 'а'..'я', ' ': return SPD(playerid,2,DSM,"Смените раскладку","Смените раскладу клавиатуры","Повтор","");
}
if(!strlen(inputtext) || strlen(inputtext) < 5 || strlen(inputtext) > 20) return SPD(playerid,2,DSM,"Длина пароля","Длина пароля должна быть от 5 символов до 20","Повтор","");
format(string, sizeof(string),"Account/%s.ini", playername);
new File = ini_createFile(string);
if(File < 0) ini_openFile(string);
{
ini_setString(File,"Password",MD5_Hash(inputtext));
ini_setInteger(File,"Level", PlayerInfo[playerid][pLevel]);
ini_setInteger(File,"Money", PlayerInfo[playerid][pCash]);
ini_setInteger(File,"Sex", PlayerInfo[playerid][pSex]);
ini_setInteger(File,"Skin", PlayerInfo[playerid][pSkin]);
PlayerInfo[playerid][pCash] = Money(playerid);
iniClose(File);
SPD(playerid,3,DSM, "Выбор пола", "Выберите пол", "Мужской", "Женкский");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Для того чтобы выйти введите /q");
Kickk
}
}
case 3:
{
if(response)
{
SpawnPlayer(playerid);
SetPlayerPos(playerid,953.5538,-1753.4082,13.5469);
PlayerInfo[playerid][pSex] = 1;
PlayerInfo[playerid][pCash] = 500;
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pSkin] = 299;
SetPlayerSpawn(playerid);
}
else
{
SpawnPlayer(playerid);
SetPlayerPos(playerid,953.5538,-1753.4082,13.5469);
PlayerInfo[playerid][pSex] = 2;
PlayerInfo[playerid][pCash] = 500;
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pSkin] = 12;
SetPlayerSpawn(playerid);
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
publics kick(playerid)
{
Kick(playerid);
}
publics Level()
{
foreach(new i: Player)
{
if(IsPlayerConnected(i)) SetPlayerScore(i, PlayerInfo[i][pLevel]);
}
}
publics ObnovMoney(playerid)
{
AntiMoney();
}