Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Регистрация Для Мода New.pwn - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (10 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Регистрация Для Мода New.pwn Хороший вариант (mxINI)
Оценка: -----

#1
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
Доброго времени суток, Вот кто хочет!


#include <mxINI>


#define DIALOG_REGISTER 0
#define DIALOG_LOGIN 1
#define DIALOG_SEX 2


Ко всем Forward
forward GiveMoney(playerid,money);
forward ServerGivePlayerHealth(playerid, Float:health);
forward ServerSetPlayerPos(playerid, Float:x, Float:y, Float:z);


ко все new
new MoneyTime[MAX_PLAYERS];
new Logged[MAX_PLAYERS];
new HealthTime[MAX_PLAYERS];
new Float:PlayerHealth[MAX_PLAYERS];


Добавим OnPlayerConnect
public OnPlayerConnect(playerid)
{
    PlayerInfo[playerid][pLevel] = 0;
    PlayerInfo[playerid][pAdmin] = 0;
	PlayerInfo[playerid][pReg] = 0;
	PlayerInfo[playerid][pSex] = 0;
	PlayerInfo[playerid][pOrigin] = 0;
	PlayerInfo[playerid][pExp] = 0;
	PlayerInfo[playerid][pMoney] = 0;
	PlayerInfo[playerid][pModel] = 0;
	PlayerInfo[playerid][pChar] = 0;
	PlayerInfo[playerid][pWanted] = 0;
	Logged[playerid] = 0;
	SendClientMessage(playerid,COLOR_LIGHTRED,"{ff3300}[RPG] {FFFFFF}..:: Please Wait ::..");
	SetPlayerColor(playerid,COLOR_WHITE);
	return 1;
}


enum pInfo{
//---------------------------
	pKey[128],
	pLevel,
	pAdmin,
	pReg,
	pSex,
	pOrigin,
    pExp,
	pMoney,
	pModel,
	pChar,
	pInt,
	pMember,
	pLeader,
	pWanted,
};
new PlayerInfo[MAX_PLAYERS][pInfo];



в конец мода
public ServerSetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
		SetPlayerPos(playerid, x, y, z);
		return 1;
}
public ServerGivePlayerHealth(playerid,Float:health)
{
        HealthTime[playerid] = 5;
        PlayerHealth[playerid] = health;
       	SetPlayerHealth(playerid,health);
		return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    HealthTime[playerid] = 10;
	return 1;
}

public GiveMoney(playerid,money)
{
	new string[20];
    MoneyTime[playerid] = 5;
	if(money > 0)
	{
		PlayerInfo[playerid][pMoney] += money;
	    GivePlayerMoney(playerid,money);
	    format(string, sizeof(string), "~g~$+%d", money);
		GameTextForPlayer(playerid, string, 2500, 1);
	}
	else if(money < 0)
	{
	    GivePlayerMoney(playerid,money);
	    PlayerInfo[playerid][pMoney] += money;
	    format(string, sizeof(string), "~r~$%d", money);
		GameTextForPlayer(playerid, string, 2500, 1);
	}
	return 1;
}

stock bigstr(const string[], &idx)
{
    new length = strlen(string);
	while ((idx < length) && (string[idx] <= ' '))
	{
		idx++;
	}
	new offset = idx;
	new result[128];
	while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
	{
		result[idx - offset] = string[idx];
		idx++;
	}
	result[idx - offset] = EOS;
	return result;
}



в конец мода
public OnPlayerSpawn(playerid)
{
	ServerGivePlayerHealth(playerid,100);
	ResetPlayerWeapons(playerid);
	SetPlayerWantedLevel(playerid,PlayerInfo[playerid][pWanted]);
	SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
	if(Logged[playerid] == 1)
	{
	    if(PlayerInfo[playerid][pReg] == 0)
	    {
			TogglePlayerControllable(playerid, 0);
			ServerSetPlayerPos(playerid,2268.6890,1633.8104,1084.2344);
			SetPlayerFacingAngle(playerid, 1.0000);
			SetPlayerInterior(playerid,1);
			SetPlayerVirtualWorld(playerid, 1);
			new listitems[] = "Мужчина\nЖенщина";
			ShowPlayerDialog(playerid,DIALOG_SEX,DIALOG_STYLE_LIST,"Вы кто ?",listitems,"Играть","Отмена");
			GiveMoney(playerid,5000);
			return 1;
		}
		else if (PlayerInfo[playerid][pOrigin] == 0)// LS
  		{
			ServerSetPlayerPos(playerid,2268.6890,1633.8104,1084.2344);
			SetPlayerFacingAngle(playerid, 1.0000);
			SetPlayerInterior(playerid,1);
			SetPlayerVirtualWorld(playerid, 1);
			SetCameraBehindPlayer(playerid);
			return 1;
		}
		else if (PlayerInfo[playerid][pOrigin] == 1)// SF
  		{
			ServerSetPlayerPos(playerid,-1971.7006,137.9194,27.6875);
			SetPlayerFacingAngle(playerid, 90.0);
			SetPlayerInterior(playerid,0);
			SetPlayerVirtualWorld(playerid, 0);
			SetCameraBehindPlayer(playerid);
			return 1;
			}
	}
	return 1;
}


public OnPlayerDisconnect(playerid, reason)
{
    if(Logged[playerid] == 0)return 1;
	OnPlayerSave(playerid);
	return 1;
}



public OnPlayerRequestClass(playerid, classid)
{
   	if(Logged[playerid] == 0)
	{
	    new string[128],string1[512];
		new PlayerName[40];
		GetPlayerName(playerid, PlayerName, 40);
		format(string, sizeof(string), "accounts/%s.ini", PlayerName);
  		SetPlayerCameraPos(playerid,1489.5111,-901.3726,81.8154);
		SetPlayerCameraLookAt(playerid,1415.6288,-818.8901,81.9115);
  		SendClientMessage(playerid,COLOR_GREEN,"Загрузка данных успешно завершена.");
		if(fexist(string))
		{
		    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
			Здравствуйте, %s!\n\
			Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
			Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
			Этот аккаунт зарегисирован!\n\
			Введите пароль в окошке!\n\
			{33CCFF}_________________________________________", PlayerName);
			ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
		}
		else
		{
		    new idx;
			new result[256];
			result = bigstr(PlayerName, idx);
			if(!strlen(result))return 0;
			if(result[0] == '[' && result[1] == 'L' && result[2] == 'X' && result[3] == ']')
			{
				SendClientMessage(playerid,COLOR_LIGHTRED,"Ники, начинающиеся на [LX] доступны только для администрации.");
				Kick(playerid);
				return 1;
			}
			format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
			Здравствуйте, %s!\n\
			Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
			Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
			Этот аккаунт не зарегисирован!\n\
			Введите пароль в окошке!\n\
			Придумайте пароль и нажмите {33CCFF}'Далее'\n\
			{33CCFF}_________________________________________", PlayerName);
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
		}
		return 1;
	}
	return 1;
}



public OnPlayerSave(playerid)
{
    PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
    PlayerInfo[playerid][pWanted] = GetPlayerWantedLevel(playerid);
//------------------------------------------------------------------------------
    new string[128], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, sizeof(string), "accounts/%s.ini", PlayerName);
    new iniFile = ini_openFile (string);
    ini_setInteger(iniFile, "Левел", PlayerInfo[playerid][pLevel]);
    ini_setInteger(iniFile, "Админка", PlayerInfo[playerid][pAdmin]);
    ini_setInteger(iniFile, "Рега", PlayerInfo[playerid][pReg]);
	ini_setInteger(iniFile, "Пол", PlayerInfo[playerid][pSex]);
    ini_setInteger(iniFile, "Прописка", PlayerInfo[playerid][pOrigin]);
	ini_setInteger(iniFile, "Экспа", PlayerInfo[playerid][pExp]);
    ini_setInteger(iniFile, "Деньги", PlayerInfo[playerid][pMoney]);
	ini_setInteger(iniFile, "Скин", PlayerInfo[playerid][pModel]);
    ini_setInteger(iniFile, "Скин2", PlayerInfo[playerid][pChar]);
    ini_setInteger(iniFile, "Интерьер", PlayerInfo[playerid][pInt]);
    ini_setInteger(iniFile, "Розыск", PlayerInfo[playerid][pWanted]);
    ini_closeFile(iniFile);
    return 1;
}



public OnPlayerLogin(playerid, password[])
{
    new string[512], PlayerName[40], Password[32];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, 64, "accounts/%s.ini", PlayerName);
    if(fexist(string))
    {
	    new iniFile = ini_openFile (string);
	    ini_getString(iniFile, "Пароль", Password);
	    if(!strcmp(Password, password, true))
	    {
	        HealthTime[playerid] = 10;
	        ini_getInteger(iniFile, "Левел", PlayerInfo[playerid][pLevel]);
	        ini_getInteger(iniFile, "Админка", PlayerInfo[playerid][pAdmin]);
	        ini_getInteger(iniFile, "Рега", PlayerInfo[playerid][pReg]);
			ini_getInteger(iniFile, "Пол", PlayerInfo[playerid][pSex]);
			SetPVarInt(playerid,"Пол", PlayerInfo[playerid][pSex]);
	        ini_getInteger(iniFile, "Прописка", PlayerInfo[playerid][pOrigin]);
			ini_getInteger(iniFile, "Экспа", PlayerInfo[playerid][pExp]);
	        ini_getInteger(iniFile, "Деньги", PlayerInfo[playerid][pMoney]);
	        ini_getInteger(iniFile, "Скин", PlayerInfo[playerid][pModel]);
	        ini_getInteger(iniFile, "Скин2", PlayerInfo[playerid][pChar]);
	        ini_getInteger(iniFile, "Интерьер", PlayerInfo[playerid][pInt]);
	        ini_getInteger(iniFile, "Розыск", PlayerInfo[playerid][pWanted]);
	        ini_closeFile(iniFile);
			//==================================================================
	        SendClientMessage(playerid,COLOR_GREEN,"{ffffff}Добро пожаловать на сервер SA:RPG");
		    SendClientMessage(playerid,COLOR_GREEN,"Аккаунт успешно загружен.");
	        if(PlayerInfo[playerid][pWanted] > 0)
	        {
		        format(string,sizeof(string),"Ты вошел в игру с %d уровнем розыска.",PlayerInfo[playerid][pWanted]);
		        SendClientMessage(playerid,COLOR_YELLOW,string);
		    }
    		GiveMoney(playerid, PlayerInfo[playerid][pMoney]);
			SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
			Logged[playerid] = 1;
			SpawnPlayer(playerid);
			DateProp(playerid);
			return 1;
	    }
		else
		{
		    ini_closeFile(iniFile);
		    SendClientMessage(playerid,COLOR_WHITE,"Сервер: Неверный пароль");
            format(string, 512, "{33CCFF}_________________________________________{ffffff}\n\
			Здравствуйте, %s!\n\
			Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
			Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
			Этот аккаунт зарегисирован!\n\
			Введите пароль в окошке!\n\
			{33CCFF}_________________________________________", PlayerName);
			ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string, "Войти", "Выйти");
			Logged[playerid] = 0;
			return 1;
	    }
	}
	else
	{
		SendClientMessage(playerid,COLOR_LIGHTRED,"Аккаунт не найден!");
	}
    return 1;
}



public OnPlayerRegister(playerid, password[])
{
    new string[255], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, 64, "accounts/%s.ini", PlayerName);
    new iniFile = ini_createFile(string);
    if(iniFile < 0) iniFile = ini_openFile(string);
	ini_setString(iniFile, "Пароль", password);
	ini_setInteger(iniFile, "Левел", 0);
	ini_setInteger(iniFile, "Админка", 0);
	ini_setInteger(iniFile, "Рега", 0);
	ini_setInteger(iniFile, "Пол", 0);
	ini_setInteger(iniFile, "Возраст", 0);
	ini_setInteger(iniFile, "Прописка", 0);
	ini_setInteger(iniFile, "Экспа", 0);
	ini_setInteger(iniFile, "Деньги",0);
	ini_setInteger(iniFile, "Скин", 0);
	ini_setInteger(iniFile, "Скин2", 0);
	ini_setInteger(iniFile, "Интерьер", 0);
	ini_setInteger(iniFile, "Розыск", 0);
	ini_closeFile(iniFile);
    OnPlayerLogin(playerid, password);
	return 1;
}



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
 	new string1[512],PlayerName[40];
	GetPlayerName(playerid, PlayerName, 40);
    if(dialogid == DIALOG_REGISTER) //
	{
        if(response)
		{
            if(!strlen(inputtext))
			{
			    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
				Здравствуйте, %s!\n\
				Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
				Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
				Этот аккаунт не зарегисирован!\n\
				Введите пароль в окошке!\n\
				Придумайте пароль и нажмите {33CCFF}'Далее'\n\
				{33CCFF}_________________________________________", PlayerName);
                ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
                return 1;
            }
            OnPlayerRegister(playerid, inputtext);
            return 1;
		}
		else
		{
		    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
			Здравствуйте, %s!\n\
			Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
			Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
			Этот аккаунт не зарегисирован!\n\
			Введите пароль в окошке!\n\
			Придумайте пароль и нажмите {33CCFF}'Далее'\n\
			{33CCFF}_________________________________________", PlayerName);
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
        }
        return 1;
    }
//------------------------------------------------------------------------------
    if(dialogid == DIALOG_LOGIN)
	{
        if(response)
		{
            if(!strlen(inputtext))
            {
	            format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
				Здравствуйте, %s!\n\
				Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
				Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
				Этот аккаунт зарегисирован!\n\
				Введите пароль в окошке!\n\
				{33CCFF}_________________________________________", PlayerName);
				ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
				return 1;
			}
            OnPlayerLogin(playerid, inputtext);
            return 1;
        }
		else
		{
            format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
			Здравствуйте, %s!\n\
			Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
			Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
			Этот аккаунт зарегисирован!\n\
			Введите пароль в окошке!\n\
			{33CCFF}_________________________________________", PlayerName);
			ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
			return 1;
		}
    }
//------------------------------------------------------------------------------
    else if(dialogid == DIALOG_SEX)// Выбор пола
	{
		if(response)
  		{
		    PlayerInfo[playerid][pReg] = 1;
			PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
			TogglePlayerControllable(playerid, 1);
		    OnPlayerSave(playerid);
		    PlayerInfo[playerid][pModel] = 50;
	    	SetPlayerSkin(playerid, 50);
       		PlayerInfo[playerid][pSex] = 1;
   			SendClientMessage(playerid, COLOR_WHITE, "Отлично, вы мужчина, Приятной игры!");
			return 1;
		}
		else
		{
		    PlayerInfo[playerid][pReg] = 1;
			PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
			TogglePlayerControllable(playerid, 1);
		    OnPlayerSave(playerid);
           	PlayerInfo[playerid][pSex] = 2;
		    PlayerInfo[playerid][pModel] = 192;
	    	SetPlayerSkin(playerid, 192);
  			SendClientMessage(playerid, COLOR_WHITE, "Отлично, вы женщина, Приятной игры!");
			return 1;
		}
	}
	return 1;
}



Ну вот и урок окончен Не хотелось всё расписывать, Думаю если руки не из Жопы то сможите Вписаить!

Автор: Jeff_Hardy

Кому понравился урок стаивм +!

#2
Пользователь офлайн   Lwf 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
На форуме уже есть такой
1

#3
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSlaer (20 Декабрь 2011 - 06:58) писал:

На форуме уже есть такой


Я Именно такой не нашел...
1

#4
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
Привет вчепм я сегодня бухой с ток с денрика пришёл п***а, такой рени нету с**а в палике!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!11

#5
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
Slaer давай ссылку на такой урок!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!11

#6
Пользователь офлайн   Lwf 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияJeff_Hardy (20 Декабрь 2011 - 17:55) писал:

Slaer давай ссылку на такой урок!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!11

Сори,на другом портале было,перепутал.
0

#7
Пользователь офлайн   Макс 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Норм темка...
0

#8
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
да, лан ничего страшного!

#9
Пользователь офлайн   Пашка 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
C:\Users\????\Desktop\Scorpio NEW\Scorpio NEW\gamemodes\cream1.2.pwn(8) : fatal error 100: cannot read from file: "mxINI"

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Error.



Вот такая вот ошибочка, помогите исправить =(
0

#10
Пользователь офлайн   Lwf 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Инклуд mxINI нужен
0

Поделиться темой:


  • (10 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей