Рекомендованные сообщения



2 posts in this topic

Вот на сервере при регистрации говорит "Введите реферал" - жму "От игрока этого сервера". Далее ввожу ник основы, жму "продолжить", а мне говорит "Вы не указали реферал". Видео

Спойлер

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	new bizid = GetPVarInt(playerid,"TuningBizID");
	new till = BizInfo[bizid][bTill];
	new string[1024];

	if(clickedid == Text:RegistDraw[16])
	{
	    if(RegisterBlocker[playerid][0] == 0)
	        return SendClientMessage(playerid, 0xAFAFAFFF, "Вы не ввели пароль");

        if(RegisterBlocker[playerid][1] == 0)
	        return SendClientMessage(playerid, 0xAFAFAFFF, "Вы не указали Mail");

        if(RegisterBlocker[playerid][2] == 0)
	        return SendClientMessage(playerid, 0xAFAFAFFF, "Вы не указали реферал");

        if(RegisterBlocker[playerid][3] == 0)
	        return SendClientMessage(playerid, 0xAFAFAFFF, "Вы не выбирали пол");
	        
		for(new i; i != 23; i++) TextDrawHideForPlayer(playerid, RegistDraw[i]);
		CancelSelectTextDraw(playerid);
		
		ClothesRound[playerid] = 1;
		SendClientMessage(playerid, COLOR_LIME, "Выберите одежду для вашего будущего персонажа:");
		SetHealth(playerid, 100);
		SetHunger(playerid, 100);
		gPlayerLogged[playerid] = true;
		SpawnPlayerEx(playerid);
	}
	if(clickedid == Text:RegistDraw[11])
	{
	    if(RegisterBlocker[playerid][3] == 1)
			return SendClientMessage(playerid, COLOR_GREY, "Вы уже выбирали пол");
			
		ShowPlayerDialog(playerid, dSex, 0, "{FFCC00}Выбор пола", "{ffffff}Выберите пол Вашего персонажа", "Мужской", "Женский");
	}
	if(clickedid == Text:RegistDraw[9])
	{
		if(RegisterBlocker[playerid][2] == 1)
			return SendClientMessage(playerid, COLOR_GREY, "Вы уже вводили реферал");
			
		ShowPlayerDialog(playerid, dReferal, DIALOG_STYLE_LIST, "{FFCC00}Откуда Вы узнали о сервере?",
	 	"\
	 		1. На порталах/форумах\n\
			2. От игрока этого сервера\n\
			3. На мониторинге серверов\n\
			4. Через YouTube\n\
			5. В поисковике\n\
			6. Вкладка hosted\n\
			7. Сообщество ВКонтакте\n\
			8. Другое", "Далее", "Отмена"
		);
	}
	if(clickedid == Text:RegistDraw[7])
	{
	    if(RegisterBlocker[playerid][1] == 1)
			return SendClientMessage(playerid, COLOR_GREY, "Вы уже ввели Mail");

        ShowPlayerDialog(playerid, dJob+6, 1, "{FFCC00}Электронная почта",
		"\
			{ffffff}Введите Ваш e-mail адрес, за которым будет закреплён данный аккаунт.\n\
			Если вы потеряете доступ к аккаунту, то с помощью e-mail вы сможете восстановить его.", "Далее", "Отмена"
		);
	}
	if(clickedid == Text:RegistDraw[13])
	{
	    if(RegisterBlocker[playerid][0] == 1)
			return SendClientMessage(playerid, COLOR_GREY, "Вы уже ввели пароль");

	    stringer[0] = EOS;
		format(stringer, 512, "\
			{FFFFFF}Добро пожаловать на сервер проекта {FFCC00}"SERVER_NAME".\n\n\
			{FFFFFF}Аккаунт с логином {63BD4E}%s {FFFFFF}ещё не зарегистрирован на этом сервере.\n\
			Для того чтобы начать игру необходимо пройти регистрацию.", GetName(playerid));
		ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_MSGBOX, "{FFCC00}Регистрация", stringer, "Далее", "Отмена");
	}

	case dReferal:
	    {
	        if(!response)
			{
				SendClientMessage(playerid, COLOR_RED, PlayerNeedToLoggedForToPlay);
				return Kick(playerid);
			}
	        if(listitem != 1)
	        {
	            static const list_search[8][32] = {"На порталах/форумах","None","На мониторинге серверов","Через YouTube","В поисковике","Вкладка hosted","Сообщество ВКонтакте","Другое"};
	            strmid(pInfo[playerid][pSearchServ], list_search[listitem], 0, strlen(list_search[listitem]), 32);
	            strmid(pInfo[playerid][pReferal], list_search[1], 0, strlen(list_search[1]), MAX_PLAYER_NAME);
	            
	            RegisterBlocker[playerid][2] = 1;
	        }
	        else ShowPlayerDialog(playerid, dReferal+1, 1, "{FFCC00}Реферальная система", "{ffffff}Если Вы пришли на сервер по приглашению игрока, укажите его ник в поле ниже.\nВ качестве вознаграждения он получит {63BD4E}50.000$ {FFFFFF}после того как Вы достигнете {EAD86A}4 уровня.\n\n{FFFFFF}Если Вы узнали о сервере не от игрока, либо нашли сервер сами,\nто вернитесь назад и укажите другой вариант.", "Указать", "Назад");
	    }
	case dReferal+1:
		{
			if(!response) return ShowPlayerDialog(playerid, dReferal, DIALOG_STYLE_LIST, "{FFCC00}Откуда Вы узнали о сервере?", "1. На порталах/форумах\n2. От игрока этого сервера\n3. На мониторинге серверов\n4. Через YouTube\n5. В поисковике\n6. Вкладка hosted\n7. Сообщество ВКонтакте\n8. Другое", "Далее", "Отмена");
			if(!(3 <= strlen(inputtext) <= MAX_PLAYER_NAME)) return ShowPlayerDialog(playerid, dReferal+1, 1, "{FFCC00}Реферальная система", "{ffffff}Если Вы пришли на сервер по приглашению игрока, укажите его ник в поле ниже.\nВ качестве вознаграждения он получит {63BD4E}50.000$ {FFFFFF}после того как Вы достигнете {EAD86A}4 уровня.\n\n{FFFFFF}Если Вы узнали о сервере не от игрока, либо нашли сервер сами,\nто вернитесь назад и укажите другой вариант.", "Указать", "Назад");
			if(IsTextRussian(inputtext) || IsLoginInvalid(inputtext))
			{
				SendClientMessage(playerid, COLOR_GREY, "Использовать русские символы запрещено!");
				return ShowPlayerDialog(playerid, dReferal+1, 1, "{FFCC00}Реферальная система", "{ffffff}Если Вы пришли на сервер по приглашению игрока, укажите его ник в поле ниже.\nВ качестве вознаграждения он получит {63BD4E}50.000$ {FFFFFF}после того как Вы достигнете {EAD86A}4 уровня.\n\n{FFFFFF}Если Вы узнали о сервере не от игрока, либо нашли сервер сами,\nто вернитесь назад и укажите другой вариант.", "Указать", "Назад");
			}
			mysql_query_string[0] = EOS;
			format(mysql_query_string, 128, "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s' LIMIT 1", inputtext);
			mysql_tquery(dbHandle, mysql_query_string, "@OnPlayerReferal", "is", playerid, inputtext);
		}

@OnPlayerReferal(playerid, inputtext[]);
@OnPlayerReferal(playerid, inputtext[])
{
	#if MYSQL_R41_2 == true

	new rows;
	cache_get_row_count(rows);

	#else

	new rows, fields;
	cache_get_data(rows, fields);

	#endif

	if(!rows)
	{
		ShowPlayerDialog(playerid, dReferal+1, 1, "{FFCC00}Реферальная система", "{ffffff}Если Вы пришли на сервер по приглашению игрока, укажите его ник в поле ниже.\nВ качестве вознаграждения он получит {63BD4E}50.000$ {FFFFFF}после того как Вы достигнете {EAD86A}4 уровня.\n\n{FFFFFF}Если Вы узнали о сервере не от игрока, либо нашли сервер сами,\nто вернитесь назад и укажите другой вариант.", "Указать", "Назад");
		return SendClientMessage(playerid, COLOR_GREY, "Игрок с таким ником не играет на этом сервере!");
	}
	strmid(pInfo[playerid][pReferal], inputtext, 0, strlen(inputtext), MAX_PLAYER_NAME);
 	ShowPlayerDialog(playerid, dSex, 0, "{FFCC00}Выбор пола", "{ffffff}Выберите пол Вашего персонажа", "Мужской", "Женский");
	return 1;
}

 

 

Edited by DEST

Share this post


Link to post
Share on other sites

В 

@OnPlayerReferal

после

strmid(pInfo[playerid][pReferal], inputtext, 0, strlen(inputtext), MAX_PLAYER_NAME);

добавьте:

RegisterBlocker[playerid][2] = 1;

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • .037
      By .037
      в чём может быть проблема? Передаю строку через PR_String, и получаю с клиента бред
      CMD:TestData(playerid, params[]){ new msg[] = "Code_Test"; new BitStream:bs = BS_New(); BS_WriteInt8(bs,30); BS_WriteFloat(bs,0.9); BS_WriteFloat(bs,23.4); BS_WriteString(bs, msg, sizeof msg); PR_SendRPC(bs, playerid, 179); BS_Delete(bs); return 1; } [05:57:27] RPC - Длина  30 | 0.900000 | 23.400000 | I*(!@dp
      И всегда текст разный 

      Хотя принимаю всё нормально:

       
      bool CALLBACK Hok_RPC_BYTE(stRakNetHookParams *params) { if (params->packetId == 179) { SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "Кастомный RPC работает!!!"); byte nameLen; float test; float test1; char szPlayerName[100]; params->bitStream->ResetReadPointer(); params->bitStream->Read(nameLen); params->bitStream->Read(test); params->bitStream->Read(test1); params->bitStream->Read(szPlayerName, 100); params->bitStream->ResetReadPointer(); SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "RPC - Длина %d | %f | %f | %s", nameLen, test , test1, szPlayerName); } return true; };  
    • Guest nezoxi2
      By Guest nezoxi2
      ОШИБКА:
       
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(301) : error 017: undefined symbol "ShowRegistration"
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(304) : error 029: invalid expression, assumed zero
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(304) : warning 215: expression has no effect
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(304) : error 001: expected token: ";", but found ")"
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(304) : error 029: invalid expression, assumed zero
      C:\Users\mmajk\Desktop\My Server SAMP\gamemodes\mysamp.pwn(304) : fatal error 107: too many error messages on one line
      Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase

      5 Errors.
       
      Сами строчки с 300 по 305:
       
      300 { 301 ShowRegistration(playerid); 302 return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Вы не ввели пароль."); 303 } 304 if(strlen(inputtext)) < 8 || strlen(inputtext) > 3); 305 { Помогите пожалуйста, только недавно начал заниматься своим сервером по сампу и вот не могу найти ошибку.
    • bdbsnnsd
      By bdbsnnsd
      Вот ошибка при компеляции как решить:
      C:\Users\Дмитрий\Desktop\GreenTech со всем продажа — бекап\gamemodes\new.pwn(48) : warning 203: symbol is never used: "playerid" 
      C:\Users\Дмитрий\Desktop\GreenTech со всем продажа — бекап\gamemodes\new.pwn(3117) : warning 213: tag mismatch: expected tag "bool", but found none ("_") 
      C:\Users\Дмитрий\Desktop\GreenTech со всем продажа — бекап\gamemodes\new.pwn(3125) : warning 213: tag mismatch: expected tag none ("_"), but found "Text3D" 
      C:\Users\Дмитрий\Desktop\GreenTech со всем продажа — бекап\gamemodes\new.pwn(3126) : warning 213: tag mismatch: expected tag "Text3D", but found none ("_") 
      C:\Users\Дмитрий\Desktop\GreenTech со всем продажа — бекап\gamemodes\new.pwn(6370) : warning 204: symbol is assigned a value that is never used: "AdvertiseTimerIndex"