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

 



 
          





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





Последние Файлы 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  
Регистрация!!!
[TMP]oDyBaHДата: Пятница, 20.02.2009, 20:54 | Сообщение # 1
Местный
Группа: Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус:
что то регистрация неправильная!пишут /register пароль а он не регистрирует!и помогите сделать чтобы при коннекте писалось вы зарегестрированны введите /login пароль а еси не зареган то "вы не зарегестрированны введите /register пароль
[pwn]
#include <a_samp>

#define COLOR_GREY 0xBEBEBEAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF

forward ShowStats(playerid,targetid);
forward OnPlayerUpdate(playerid);
forward Encrypt(string[]);
forward OnPlayerLogin(playerid,const string[]);

enum pInfo
{
pPassword[128],
pKills,
pDeaths,
pCash,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];
new gPlayerAccount[MAX_PLAYERS];

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
OnPlayerUpdate(playerid);
gPlayerLogged[playerid] = 0;
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
new Float:Health;
GetPlayerHealth(playerid, Health);
if(Health == 0.0)
{
PlayerInfo[playerid][pDeaths] += 1;
}
GivePlayerMoney(killerid,2000);
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1;
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
new tmp[256];
new playername[MAX_PLAYER_NAME];
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "* Вы уже залогинены.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "*Используй: /login [пароль]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
if (strcmp(cmd, "/register", true)==0)
{
new string[265];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "*Используй: /register [пароль]");
return 1;
}
if (gPlayerAccount[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "* Ты уже зарегестрирован");
return 1;
}

strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
Encrypt(PlayerInfo[playerid][pPassword]);
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.cer", playername);
new File: file = fopen(string, io_read);
if (file)
{
SendClientMessage(playerid, COLOR_GREY, "* Это имя уже зарегистрировано");
fclose(file);
return 1;
}
new File:hFile;
hFile = fopen(string, io_append);
new var[32];//
format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
fclose(hFile);
SendClientMessage(playerid, COLOR_WHITE, "*Удачная регистрация!!!");
SendClientMessage(playerid, COLOR_WHITE, "*Ты автоматически залогин, следущий раз пиши /login пароль.");
OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
return 1;
}
if (strcmp(cmd, "/stats", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
ShowStats(playerid,playerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "*Ты не залогинен !");
}
}
return 1;
}
return 0;
}

public Encrypt(string[])
{
for(new x=0; x < strlen(string); x++)
{
string[x] += (3^x) * (x % 15);
if(string[x] > (0xff))
{
string[x] -= 64;
}
}
return 1;
}

public OnPlayerLogin(playerid,const string[])
{
new pname2[MAX_PLAYER_NAME];
new pname3[MAX_PLAYER_NAME];
new string2[64];
new string3[128];
GetPlayerName(playerid, pname2, sizeof(pname2));
format(string2, sizeof(string2), "%s.cer", pname2);
new File: UserFile = fopen(string2, io_read);

if (UserFile)
{
new valtmp[128];
fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);

if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
{
new key[128],val[128];
new Data[128];
while(fread(UserFile,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
}
fclose(UserFile);
gPlayerLogged[playerid] = 1;
gPlayerAccount[playerid] = 1;
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "* Привет %s, ты удачно залогинился!", pname3);
SendClientMessage(playerid, COLOR_WHITE,string3);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "* Пароль не соответствует имени ( Не правильный пароль )");
fclose(UserFile);
}
}
return 1;
}

public OnPlayerUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
new string3[32];
new pname3[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "%s.cer", pname3);
new File: pFile = fopen(string3, io_write);
if (pFile)
{
new var[32];
format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
fclose(pFile);
new File: hFile = fopen(string3, io_append);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
fclose(hFile);
}
}
}
return 1;
}

stock ini_GetKey( line[] )
{
new keyRes[128];
keyRes[0] = 0;
if ( strfind( line , "=" , true ) == -1 ) return keyRes;
strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
return keyRes;
}

stock ini_GetValue( line[] )
{
new valRes[128];
valRes[0]=0;
if ( strfind( line , "=" , true ) == -1 ) return valRes;
strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
return valRes;
}

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

public ShowStats(playerid,targetid)
{
if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
{
new cash = GetPlayerMoney(targetid);
new deaths = PlayerInfo[targetid][pDeaths];
new kills = PlayerInfo[targetid][pKills];
new name[MAX_PLAYER_NAME];
GetPlayerName(targetid, name, sizeof(name));
new Float:px,Float:py,Float:pz;
GetPlayerPos(targetid, px, py, pz);
new coordsstring[256];
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
SendClientMessage(playerid, COLOR_WHITE,coordsstring);
format(coordsstring, sizeof(coordsstring), " | Убийств:[%d] | Смертей:[%d] | Деньги:[$%d] | ",kills,deaths,cash);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
}
}

#endif
[/pwn]

Добавлено (20.02.2009, 20:54)
---------------------------------------------
___________
что не кто не знает??? sorry


Заказать бесплатно Графику
< < < < < ЖМИ
MiniDM 1 100% Скачать
ClassicДата: Суббота, 21.02.2009, 05:32 | Сообщение # 2
Освоившийся
Группа: Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус:
[TMP]oDyBaH, вот так попробуй
[pwn]в public OnPlayerConnect(playerid) вставь
new playrname[MAX_PLAYER_NAME];
new connect[128];

if(fexist(connect))
{
gPlayerAccount[playerid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "Вы зарегистрированы введите /login [пароль]");
return 1;
}
else
{
gPlayerAccount[playerid] = 0;
SendClientMessage(playerid, COLOR_YELLOW, "Вы не зарегистрированы введите /register [пароль]");
}[/pwn]

Ghost-XДата: Суббота, 21.02.2009, 07:23 | Сообщение # 3
Мастер джэдай
Группа: Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус:
Можно еще вот так:
[pwn]new playername[30];
public OnPlayerConnect(playerid)
{
new string[256];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.cer", playername);
new File: file = fopen(string, io_read);
if (file)
{
SendClientMessage(playerid, COLOUR_GREEN, "Вы зареганы тута на серваке, войдите в аккаунт /login <pass>");
fclose(file);
return 1;
}
else
{
SendClientMessage(playerid, COLOUR_LIGHTRED, "Вы не зареганы, зарегьтесь /register <password>");
}
}[/pwn]



Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит.
Хочешь остаться при своем мнении - держи его при себе.
[TMP]oDyBaHДата: Суббота, 21.02.2009, 11:10 | Сообщение # 4
Местный
Группа: Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус:
а еще помогите плиз исправить такую фигнюшку которая пишет при регистрации что я уже зарегестрирован хотя на самом деле я не зарегестрирован!!


Заказать бесплатно Графику
< < < < < ЖМИ
MiniDM 1 100% Скачать
ClassicДата: Суббота, 21.02.2009, 12:48 | Сообщение # 5
Освоившийся
Группа: Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус:
напиши то что я прописал
[TMP]oDyBaHДата: Суббота, 21.02.2009, 15:52 | Сообщение # 6
Местный
Группа: Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус:
дык ето для того что бы при коннекте показывалось зареган чел или нет!!!
+_+_+_+_+_+_+
а я говорю про баг в регистрации!!!люди которые не зарегестрированны если пишут /register пароль то им пишут что он уже зареган!хотя он первый раз зашол на сервак!и в scriptfiles я смотрел такова игрока нету!!!!!! bad bad bad

Добавлено (21.02.2009, 15:52)
---------------------------------------------
________
Блин скажите хотябы почему мне неоткуда не возьмись прибавилось 99999999999999 долларов!!!и не мне одному как ето исправить???


Заказать бесплатно Графику
< < < < < ЖМИ
MiniDM 1 100% Скачать
ClassicДата: Суббота, 21.02.2009, 16:03 | Сообщение # 7
Освоившийся
Группа: Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус:
код выложи
[TMP]oDyBaHДата: Суббота, 21.02.2009, 16:05 | Сообщение # 8
Местный
Группа: Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус:
а в первом посту код тебе чем не нравица??? fun fun fun


Заказать бесплатно Графику
< < < < < ЖМИ
MiniDM 1 100% Скачать
ClassicДата: Суббота, 21.02.2009, 16:15 | Сообщение # 9
Освоившийся
Группа: Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус:
Там вроде все нормально ты в oneplayerconnect посмотри там может быть
nitioДата: Понедельник, 25.01.2010, 02:42 | Сообщение # 10
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 220
Награды: 9
Город: Москва
Репутация: -134
Замечания: 80%
Статус:
как зделать чтобы при неправильном ники тоесть isfgafubf кикало а есле Имя_Фамилия не кикало?
AirKiteДата: Понедельник, 25.01.2010, 16:29 | Сообщение # 11
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
nitio, возьми мой нубо инклуд http://www.samp-rus.com/load/5-1-0-996
тока native CheckRP_Nickname(string[]); с инклуда убери crazy



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
  • Страница 1 из 1
  • 1
Поиск:





 


 


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