05:06
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Регистрация / Авторизация
EragonДата: Вторник, 13.05.2008, 16:03 | Сообщение # 1
Уважаемый человек
Группа: Продвинутые
Сообщений: 799
Награды: 6
Город: Novokuznetsk
Репутация: 127
Замечания: 60%
Статус:
Выдернул из скрипта админки. Вставляю в гейммод, все как надо, компилируется отлично, без варнингов и ошибок.
Но при конекте в игру, прям сразу пишет, "Вы уже зарегистрированны", хотя команд никаких не вводилось, скин даже не выбрался, при попытки набора команды "/login" или "/register" пишет что команда не найдена (по английски).

Вот код который вставляю:

Code
public OnPlayerConnect(playerid)  
{
new PlayerName[24];
                      if(dini_Exists(udb_encode(PlayerName)))
   {
   SendClientMessage(playerid, COLOR_BLUE, "[SERVER]: You aren't registered, '/register [password]'");
   }
  else
   {
   SendClientMessage(playerid, COLOR_BLUE, "[SERVER]: You are registered, '/login [password]'");
   }
   logged[playerid] = 0;
}

Code
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/register", true) == 0)
  {
      tmp = strtok(cmdtext, idx);
    GetPlayerName(playerid, playername, sizeof(playername));
         if(20 < strlen(tmp) || strlen(tmp) < 4)
   {
    SendClientMessage(playerid, COLOR_GREEN, "Error! Password has to be longer than 4 & Shorter than 20 symbols!");
    return 1;
   }
      if(!strlen(tmp))
    SendClientMessage(playerid, COLOR_GREEN, "Correct Usage: /register [password] ~ Will make You registered with the server!");

   else
   {
    if (!dini_Exists(udb_encode(playername)))
    {
     dini_Create(udb_encode(playername));
     dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
     dini_Set(udb_encode(playername),"pass",tmp);
        dini_IntSet(udb_encode(playername), "level", 0);
     format(string, sizeof(string), "%s(%i) registered with password \"%s\"", playername, playerid, tmp);
     printf(string);
     format(string, sizeof(string), "Created account %s with password \"%s\". Please remember Your password!", playername, tmp);
     SendClientMessage(playerid, COLOR_GREEN, string);
     SendClientMessage(playerid, COLOR_GREEN, "Logged in!");
     logged[playerid] = 1;
     PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    }
    else
    {
        SendClientMessage(playerid, COLOR_GREEN, "A error has occured while attempting to register with the server!");
     format(string, sizeof(string), "Username %s is already registered on this server!", playername,tmp);
     SendClientMessage(playerid, COLOR_GREEN, string);
    }
   }

   return 1;
  }
//---------------------------------------------------------
if(strcmp(cmd, "/login", true) == 0)
  {
   if(logged[playerid] == 1)
   {
       SendClientMessage(playerid, COLOR_GREEN, "You already are logged in!");
       return 1;
   }
      tmp = strtok(cmdtext, idx);

    GetPlayerName(playerid, playername, sizeof(playername));
      if(!strlen(tmp))
    SendClientMessage(playerid, COLOR_GREEN, "Correct Usage: /login [password]");

   else
   {
    if(dini_Exists(udb_encode(playername)))
    {
      tmp2 = dini_Get(udb_encode(playername), "password");
        if(udb_hash(tmp) != strval(tmp2))
        {
            new PlayerName[24];
            GetPlayerName(playerid, PlayerName, 30);
            format(string, sizeof(string), "Error! You have specified the wrong password for %s", PlayerName);
            SendClientMessage(playerid, COLOR_GREEN, string);
      }
      else
      {
       logged[playerid] = 1;
       dini_Set(udb_encode(playername),"pass",tmp);
                   PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
                   GameTextForPlayer(playerid, "~b~Successfully logged in!",2000,1);
                   PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
                   if(PlayerInfo[playerid][pAdmin] == 0)
                   {
                       new PlayerName[24];
             GetPlayerName(playerid, PlayerName, 30);
             format(string, sizeof(string), "Logged in as: %s, Regular member", PlayerName);
             SendClientMessage(playerid, COLOR_GREEN, string);
       }
                   if(PlayerInfo[playerid][pAdmin] == 1)
                     {
                       new PlayerName[24];
             GetPlayerName(playerid, PlayerName, 30);
             format(string, sizeof(string), "Logged in as: %s, Admin level 1 (moderator)", PlayerName);
             SendClientMessage(playerid, COLOR_GREEN, string);
       }
       if(PlayerInfo[playerid][pAdmin] == 2)
                     {
                       new PlayerName[24];
             GetPlayerName(playerid, PlayerName, 30);
             format(string, sizeof(string), "Logged in as: %s, Admin level 2 (administrator)", PlayerName);
             SendClientMessage(playerid, COLOR_GREEN, string);
       }
       if(PlayerInfo[playerid][pAdmin] == 3)
                     {
                       new PlayerName[24];
             GetPlayerName(playerid, PlayerName, 30);
             format(string, sizeof(string), "Logged in as: %s, Admin level 3 (Head administrator)", PlayerName);
             SendClientMessage(playerid, COLOR_GREEN, string);
       }
       if(PlayerInfo[playerid][pAdmin] == 4)
       {
           new PlayerName[24];
             GetPlayerName(playerid, PlayerName, 30);
             format(string, sizeof(string), "Logged in as: %s, Admin level 4 (Server Owner)", PlayerName);
             SendClientMessage(playerid, COLOR_GREEN, string);
       }
       return 1;
      }
    }
    else
    {
        format(string, sizeof(string), "The account %s, does not exist on this server. Please type /register [password] to create an account.", playername);
     SendClientMessage(playerid, COLOR_GREEN, string);
    }
   }

   return 1;
  }

В фильтрскрипте робит норм, в гейммоде не хочет. Подскажите в чем может быть проблема?

Dizo12Дата: Вторник, 13.05.2008, 18:13 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 292
Награды: 1
Репутация: 26
Замечания: 0%
Статус:
:) 4увак у меня тоже такое БЫЛО!!! Но это писало только мне потомучто я АДМИН!!! а другие заходили и регились и всё ништяк БЫЛО =)) :)

Добавлено (13.05.2008, 18:13)
---------------------------------------------
проверь может это тока тебе пишет))


OKStyle™Дата: Среда, 14.05.2008, 06:08 | Сообщение # 3
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
eragon, тут парочка косяков. Попробуй так:
Code
public OnPlayerConnect(playerid)   
{  
new PlayerName[24];  
  if(!dini_Exists(udb_encode(PlayerName)))  
    {  
    SendClientMessage(playerid, COLOR_BLUE, "[SERVER]: You aren't registered, '/register [password]'");  
    }  
   else  
    {  
    SendClientMessage(playerid, COLOR_BLUE, "[SERVER]: You are registered, '/login [password]'");  
    }  
    logged[playerid] = 0;  
}

public OnPlayerCommandText(playerid, cmdtext[])  
{  
if(strcmp(cmd, "/register", true) == 0)  
   {  
       tmp = strtok(cmdtext, idx);  
     GetPlayerName(playerid, playername, sizeof(playername));  
if(strlen(tmp) < 4 && strlen(tmp) > 20) return SendClientMessage(playerid, COLOR_GREEN, "Error! Password has to be longer than 4 & Shorter than 20 symbols!");  
if(!strlen(tmp)) retrun SendClientMessage(playerid, COLOR_GREEN, "Correct Usage: /register [password] ~ Will make You registered with the server!");  

else  
    {  
     if (!dini_Exists(udb_encode(playername)))  
     {  
      dini_Create(udb_encode(playername));  
      dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));  
      dini_Set(udb_encode(playername),"pass",tmp);  
         dini_IntSet(udb_encode(playername), "level", 0);  
      format(string, sizeof(string), "%s(%i) registered with password \"%s\"", playername, playerid, tmp);  
      printf(string);  
      format(string, sizeof(string), "Created account %s with password \"%s\". Please remember Your password!", playername, tmp);  
      SendClientMessage(playerid, COLOR_GREEN, string);  
      SendClientMessage(playerid, COLOR_GREEN, "Logged in!");  
      logged[playerid] = 1;  
      PlayerPlaySound(playerid,1057,0.0,0.0,0.0);  
     }  
     else  
     {  
         SendClientMessage(playerid, COLOR_GREEN, "A error has occured while attempting to register with the server!");  
      format(string, sizeof(string), "Username %s is already registered on this server!", playername,tmp);  
      SendClientMessage(playerid, COLOR_GREEN, string);  
     }  
    }  

    return 1;  
   }  
//---------------------------------------------------------  
if(strcmp(cmd, "/login", true) == 0)  
   {  
    if(logged[playerid] == 1)  
    {  
        SendClientMessage(playerid, COLOR_GREEN, "You already are logged in!");  
        return 1;  
    }  
       tmp = strtok(cmdtext, idx);  

     GetPlayerName(playerid, playername, sizeof(playername));  
       if(!strlen(tmp))  
     SendClientMessage(playerid, COLOR_GREEN, "Correct Usage: /login [password]");  

    else  
    {  
     if(dini_Exists(udb_encode(playername)))  
     {  
       tmp2 = dini_Get(udb_encode(playername), "password");  
         if(udb_hash(tmp) != strval(tmp2))  
         {  
             new PlayerName[24];  
             GetPlayerName(playerid, PlayerName, 30);  
             format(string, sizeof(string), "Error! You have specified the wrong password for %s", PlayerName);  
             SendClientMessage(playerid, COLOR_GREEN, string);  
       }  
       else  
       {  
        logged[playerid] = 1;  
        dini_Set(udb_encode(playername),"pass",tmp);  
                    PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");  
                    GameTextForPlayer(playerid, "~b~Successfully logged in!",2000,1);  
                    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);  
                    if(PlayerInfo[playerid][pAdmin] == 0)  
                    {  
                        new PlayerName[24];  
              GetPlayerName(playerid, PlayerName, 30);  
              format(string, sizeof(string), "Logged in as: %s, Regular member", PlayerName);  
              SendClientMessage(playerid, COLOR_GREEN, string);  
        }  
                    if(PlayerInfo[playerid][pAdmin] == 1)  
                      {  
                        new PlayerName[24];  
              GetPlayerName(playerid, PlayerName, 30);  
              format(string, sizeof(string), "Logged in as: %s, Admin level 1 (moderator)", PlayerName);  
              SendClientMessage(playerid, COLOR_GREEN, string);  
        }  
        if(PlayerInfo[playerid][pAdmin] == 2)  
                      {  
                        new PlayerName[24];  
              GetPlayerName(playerid, PlayerName, 30);  
              format(string, sizeof(string), "Logged in as: %s, Admin level 2 (administrator)", PlayerName);  
              SendClientMessage(playerid, COLOR_GREEN, string);  
        }  
        if(PlayerInfo[playerid][pAdmin] == 3)  
                      {  
                        new PlayerName[24];  
              GetPlayerName(playerid, PlayerName, 30);  
              format(string, sizeof(string), "Logged in as: %s, Admin level 3 (Head administrator)", PlayerName);  
              SendClientMessage(playerid, COLOR_GREEN, string);  
        }  
        if(PlayerInfo[playerid][pAdmin] == 4)  
        {  
            new PlayerName[24];  
              GetPlayerName(playerid, PlayerName, 30);  
              format(string, sizeof(string), "Logged in as: %s, Admin level 4 (Server Owner)", PlayerName);  
              SendClientMessage(playerid, COLOR_GREEN, string);  
        }  
        return 1;  
       }  
     }  
     else  
     {  
         format(string, sizeof(string), "The account %s, does not exist on this server. Please type /register [password] to create an account.", playername);  
      SendClientMessage(playerid, COLOR_GREEN, string);  
     }  
    }  

    return 1;  
   }



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
EragonДата: Среда, 14.05.2008, 20:25 | Сообщение # 4
Уважаемый человек
Группа: Продвинутые
Сообщений: 799
Награды: 6
Город: Novokuznetsk
Репутация: 127
Замечания: 60%
Статус:
Проблема уже решена, спс) просто другим способом сделал ввод команд, тему моно прикрыть
FattonqДата: Вторник, 12.01.2010, 09:36 | Сообщение # 5
Освоившийся
Группа: Продвинутые
Сообщений: 115
Награды: 3
Город: Тюмень
Репутация: 38
Замечания: 0%
Статус:
А скажите куда ето вставить нужно в павно?? у меня мод LSLTDM
EthernetДата: Суббота, 23.01.2010, 20:26 | Сообщение # 6
Новенький
Группа: Пользователи
Сообщений: 10
Награды: 1
Город: Поронайск
Репутация: 0
Замечания: 0%
Статус:
Уважаемые люди, кто может помочь( вот что необходимо )
Как зделать чтобы на введение логина давалась 1 минута , если время истекло то кикало???
Обьясните плиз какой код и в какой паблик вставить.
Заранее благодарен.

Dima-kunДата: Воскресенье, 24.01.2010, 08:28 | Сообщение # 7
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
[pwn]
new lTimer[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("isbalog",1000,1);
}
public isbalog()
{
for(new playerid;playerid<GetMaxPlayers();++playerid){
if(!IsPlayerNPC(playerid))
{
new pname[MAX_PNAME];
GetPlayerName(playerid,pname,sizeof(pname));
if(lTimer[playerid]== 20 ||lTimer[playerid]== 40)
{
if(gLogged[playerid] == 0 && gAcount[playerid] == 0)
{
SendClientMessage(playerid, COLOR_LRED, "-=* Нужно зарегистрироваться, чтобы играть на этом сервере! *=-");
}
if(gLogged[playerid] == 0 && gAcount[playerid] == 1)
{
SendClientMessage(playerid, COLOR_LRED, "-=* Нужно зайти под своим ником, чтобы играть на этом сервере! *=-");
}
}else if(lTimer[playerid]>=60)
{
if(gLogged[playerid] == 0 && gAcount[playerid] == 0&&IsPlayerConnected(playerid))
{
printf("%s doesn't registred!",pname);
Kick(playerid);
lTimer[playerid]=-9999;
}
if(gLogged[playerid] == 0 && gAcount[playerid] == 1&&IsPlayerConnected(playerid))
{
printf("%s doesn't logged!",pname);
Kick(playerid);
lTimer[playerid]=-9999;
}
}
}
lTimer[playerid]++;
}
}[/pwn]



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
EthernetДата: Понедельник, 25.01.2010, 18:43 | Сообщение # 8
Новенький
Группа: Пользователи
Сообщений: 10
Награды: 1
Город: Поронайск
Репутация: 0
Замечания: 0%
Статус:
Огромное спасибо ( Всё получилось )
Но вот возник вопрос один который к другому совсем относится...
Какой код необходим чтобы к примеру-
В апач мог сесть игрок когда у него 300 фрагов
В гидру если 150 фрагов
В танк если 100 фрагов
Мучился млин вообщем ничего не вышло.
Помогите пожалуйста...

Dima-kunДата: Понедельник, 25.01.2010, 20:02 | Сообщение # 9
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
public OnPlayerStateChange(playerid,newstate,oldstate){
if(newstate==2){
new vehmodel=GetVehicleModel(GetPlayerVehicleID(playerid));
if(vehmodel==model) // model - модель машины
{
if(GetPlayerScore(playerid)<skill) {SendClientMessage(playerid,0xff000ff,"Вы не можете летать на model со скилами меньше skill"); RemovePlayerFromVehicle(playerid); return 1;}else
if
(vehmodel==model1)// model1 - модель машины
{
if(GetPlayerScore(playerid)<skill1) {SendClientMessage(playerid,0xff000ff,"Вы не можете летать на model1 со скилами меньше skill1"); RemovePlayerFromVehicle(playerid); return 1;}
// и т.д
}
}
return 1;
}



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
EthernetДата: Среда, 27.01.2010, 18:08 | Сообщение # 10
Новенький
Группа: Пользователи
Сообщений: 10
Награды: 1
Город: Поронайск
Репутация: 0
Замечания: 0%
Статус:
Спасибо DizeL-ZR. Мда вот ещё 1 вопросик:
Как зделать так чтобы при появлении (спавне) у игрока
не только была энергия НО и броня тоже?
Заранее спс.

Dima-kunДата: Среда, 27.01.2010, 18:21 | Сообщение # 11
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
SetPlayerArmour(playerid,100); в OnPlayerSpawn


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
NeroisДата: Понедельник, 28.02.2011, 03:18 | Сообщение # 12
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Город: dsfsdfsdfsdfds
Репутация: 0
Замечания: 0%
Статус:
Всем привет!Подскажите пожалуйста как сделать полностью регистрация через Диалоговое окно!!!
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua