Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

MD5 шифровка

OverGame
сообщение 14.7.2014, 10:01
Сообщение #1
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Простите если не туда пишу, просто давно не заходил.
Возник такой вопрос, как мне STEAM id игрока зашифровать в md5?

Код:
	get_user_authid(id, g_steam, 36)
md5(g_steam, g_steam2)
mkdir("addons\amxmodx\db\%s", g_steam2)


Не получилось
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 10:03
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

тут же
http://amxxmodx.ru/core/amxmodxinc/586-md5...ekst-v-md5.html
все подробно написано
в чем именно проблема-то?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 10:05
Сообщение #3
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Legenda,
Мне кажется или там про шифровку файла?
А мне нужно стим игрока, что в этом не понятного?
Без какой либо возни, чисто md5 =.=
Код:
get_user_authid(id, g_steam, 36)
md5(g_steam, g_steam2)
mkdir("addons\amxmodx\db\%s", g_steam2)

Получаю его стим ид, шифрую в md5, создаю папку.

Отредактировал: OverGame, - 14.7.2014, 10:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 14.7.2014, 10:09
Сообщение #4
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

А сама папка db есть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 10:11
Сообщение #5
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Legenda @ 14.7.2014, 10:03) *
тут же
http://amxxmodx.ru/core/amxmodxinc/586-md5...ekst-v-md5.html
все подробно написано
в чем именно проблема-то?



Цитата(serfreeman1337 @ 14.7.2014, 10:09) *
А сама папка db есть?


да, она есть.
Вот даже так попробовал:

Код:
public client_putinserver(id)
{
get_user_authid(id, g_steam, 36)
md5_text = encrypt_text(g_steam)
if(file_exists("addons\amxmodx\evil_army\%s", md5_text){
g_exp[id] = file_get_contents("addons\amxmodx\db\%s\exp.txt", md5_text)
g_level[id] = file_get_contents("addons\amxmodx\db\%s\level.txt", md5_text)
}else{
mkdir("addons\amxmodx\db\%s", md5_text)
g_exp[id] = 0
g_level[id] = "I_0"
file_put_contents("addons\amxmodx\db\%s\exp.txt", md5_text, g_exp[id])
file_put_contents("addons\amxmodx\db\%s\level.txt", md5_text, g_level[id])
}
}


Тестить не тестил, просто не компилируется :D

Отредактировал: OverGame, - 14.7.2014, 10:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 10:12
Сообщение #6


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

ссылку поправил, ошибся слегка
так в чем именно проблема-то понять не могу?
код рабочий
вот только не понятно откуда ты id берешь и в какой момент
скидывай весь код свой, а не куски
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 10:14
Сообщение #7
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Legenda @ 14.7.2014, 10:12) *
ссылку поправил, ошибся слегка
так в чем именно проблема-то понять не могу?
код рабочий
вот только не понятно откуда ты id берешь и в какой момент
скидывай весь код свой, а не куски

Выше поправил
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 14.7.2014, 10:21
Сообщение #8


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

ты в putinserver записываешь стим ид в g_steam
а ты массив то создал?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 10:23
Сообщение #9
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(GOOD FELLOW @ 14.7.2014, 10:21) *
ты в putinserver записываешь стим ид в g_steam
а ты массив то создал?


Код:
new g_steam[37], md5_text[34]
new g_exp[33], g_level[33]

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("menu","menu_server")
register_clcmd("say /menu","menu_server")
register_clcmd("say /bonus","menu_bonus")

register_dictionary("evil_army.txt");
}

public client_putinserver(id)
{
get_user_authid(id, g_steam, 36)
md5_text = encrypt_text(g_steam)
if(file_exists("addons\amxmodx\db\%s", md5_text){
g_exp[id] = file_get_contents("addons\amxmodx\db\%s\exp.txt", md5_text)
g_level[id] = file_get_contents("addons\amxmodx\db\%s\level.txt", md5_text)
}else{
mkdir("addons\amxmodx\db\%s", md5_text)
g_exp[id] = 0
g_level[id] = "I_0"
file_put_contents("addons\amxmodx\db\%s\exp.txt", md5_text, g_exp[id])
file_put_contents("addons\amxmodx\db\%s\level.txt", md5_text, g_level[id])
}
}

stock encrypt_text(const text[])
{
new encrypted[34]
md5(text,encrypted)

return encrypted
}


Отредактировал: OverGame, - 14.7.2014, 10:25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 10:34
Сообщение #10


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Код
mkdir("addons\amxmodx\db\%s", md5_text)

так нельзя делать
такой код не будет компилироваться

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 14.7.2014, 10:38
Сообщение #11


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код:
mkdir ( const dirname[] )

синтаксис такой :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 14.7.2014, 10:38
Сообщение #12
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

И вправду.
Чувак, ты даже не проверил компилируется или нет твой код?
Лучше иди подучи функции, а потом делай что-то с md5.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 10:43
Сообщение #13
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

А если...

Код:
public client_putinserver(id)
{
get_user_authid(id, g_steam, 36)
md5_text = encrypt_text(g_steam)
g_dir_user = ("addons/amxmodx/db/%s", md5_text)
fileexp = ("addons/amxmodx/db/%s/exp.txt", md5_text)
filelevel = ("addons/amxmodx/db/%s/level.txt", md5_text)
fopen(fileexp) && fopen(filelevel)
if(file_exists(g_dir_user){
g_exp[id] = fgets(fileexp)
g_level[id] = fgets(filelevel)
fclose(fileexp) && fclose(filelevel)
}else{
mkdir(g_dir_user)
g_exp[id] = 0
g_level[id] = "I_0"
fputs(fileexp,g_exp[id])
fputs(filelevel,g_level[id])
fclose(fileexp) && fclose(filelevel)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 10:56
Сообщение #14


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

OverGame

для начала изучи
http://ru.wikipedia.org/wiki/%D0%A1%D1%82%...%BF%D0%BE%D0%B2

ну и сразу напишу - то, что ты хочешь - это полный бред
нельзя использовать текстовые файлы как базу данных
хоть представляешь что будет при 5000 игроках посетивших сервер?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 12:51
Сообщение #15
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Все фигня, как мне связать два значения?
Так не получилось:

Код:
new fileexp [] = "addons/amxmodx/db/%s/exp.txt"

md5_text = encrypt_text(g_steam)

f_exp = (fileexp, md5_text)

fopen(f_exp)
g_exp[id] = fgets(f_exp)
fclose(f_exp)


Я делаю плагин только для себя, мне все равно что сохраняется в дирекции. Пусть будет хоть млн игроков, файлы txt не занимают много места.
Вскоре подумаю над сохранением в ini файл
[SteamID]
exp = ?
level = ?
[SteamID]
exp = ?
level = ?

Отредактировал: OverGame, - 14.7.2014, 12:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 13:03
Сообщение #16


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

да же ни чего отвечать не хочу
сервер просто навернется с твоим ini файлом
строках при 300 еще наверное

ну и учи синтаксис, ты пишешь того, чего не бывает в принципе
что это вот это такое например?
f_exp = (fileexp, md5_text)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 13:13
Сообщение #17
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Legenda @ 14.7.2014, 13:03) *
да же ни чего отвечать не хочу
сервер просто навернется с твоим ini файлом
строках при 300 еще наверное

ну и учи синтаксис, ты пишешь того, чего не бывает в принципе
что это вот это такое например?
f_exp = (fileexp, md5_text)

Не бывает? :D

Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Test"
#define VERSION "0.1"
#define AUTHOR "OverGame"

new g_steam[37], md5_text[37];

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
}

public client_putinserver(id)
{
get_user_authid(id, g_steam, 36);
md5_text = encrypt_text(g_steam);

mkdir("addons/amxmodx/db/%s", md5_text);
}

stock encrypt_text(const text[])
{
new encrypted[34];
md5(text,encrypted);

return encrypted;
}


Код:
native mkdir(const dirname[], buffer[]);


Сохраняет по дирекции, название папки %s

Не получается сделать так:
addons/amxmodx/db/steamid в md5

Отредактировал: OverGame, - 14.7.2014, 13:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 13:40
Сообщение #18


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Скрытый текст

Код:

#include <amxmodx>
#include <amxmisc>


new dataDir[64], dirname[128];

public plugin_init()
{
register_plugin("md5 test", "0.2", "leg");

get_datadir(dataDir, charsmax(dataDir));
format(dirname, charsmax(dirname), "%s/pzd", dataDir);
if( !dir_exists(dirname) )
{
mkdir(dirname);
}
}

public client_putinserver(id)
{
new auth[32] , md5_result[34]
get_user_authid(id, auth, charsmax(auth));
md5_result = encrypt_text(auth);

format(dirname, charsmax(dirname), "%s/pzd/%s", dataDir, md5_result);
if( !dir_exists(dirname) )
{
mkdir(dirname);
log_to_file("test_md5.txt","create: %s", dirname);
}
}

encrypt_text(const text[])
{
new encrypted[34];
md5(text,encrypted);

return encrypted;
}



Отредактировал: Legenda, - 14.7.2014, 13:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
OverGame
сообщение 14.7.2014, 13:45
Сообщение #19
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Legenda @ 14.7.2014, 13:40) *
Код:

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
register_plugin("md5 test", "0.1", "leg");
}

public client_putinserver(id)
{
new auth[32] , md5_result[34], dataDir[64], dirname[128]
get_user_authid(id, auth, charsmax(auth));
md5_result = encrypt_text(auth);

get_datadir(dataDir, charsmax(dataDir));
format(dirname, charsmax(dirname), "%s/pzd/%s", dataDir, md5_result);
if( !dir_exists(dirname) )
{
mkdir(dirname);
log_to_file("test_md5.txt","create: %s", dirname);
}
}

encrypt_text(const text[])
{
new encrypted[34];
md5(text,encrypted);

return encrypted;
}

хм... Лог пишет, мол создал. Но в папке ничего...

L 07/14/2014 - 15:48:10: create: addons/amxmodx/data/db/daa226b775bc8d55961d0b18cc39103c

Отредактировал: OverGame, - 14.7.2014, 13:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 14.7.2014, 13:52
Сообщение #20


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

поправил код выше (19 пост)
теперь работает и создает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: