OciXCrom's Rank System [XP|Levels|Ranks]
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
OciXCrom's Rank System [XP|Levels|Ranks]
Промени името на файла където се запазва XP-то (настройката VAULT_NAME в конфигурационния файл).
-
viewsonic
Извън линия - Потребител
- Мнения: 135
- Регистриран на: 09 Юни 2018, 17:46
- Се отблагодари: 22 пъти
- Обратна връзка:
OciXCrom's Rank System [XP|Levels|Ranks]
благодаря !!!
Код за потвърждение: Избери целия код
93.123.18.76:27016
-
mar1anx
Извън линия - Foreigner
- Мнения: 41
- Регистриран на: 17 Сеп 2018, 00:56
- Се отблагодари: 4 пъти
- Получена благодарност: 2 пъти
OciXCrom's Rank System [XP|Levels|Ranks]
I have a problem with save xp on name.
I change map i have level 0.
I change the vault_name, is save xp only if you type retry in console and after change map.
EDIT :
I have solved, I changed amxmodx
I change map i have level 0.
I change the vault_name, is save xp only if you type retry in console and after change map.
EDIT :
I have solved, I changed amxmodx
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
OciXCrom's Rank System [XP|Levels|Ranks]
Can you please tell me how you solved so I can work on improving the plugin? Which AMXX version were you using when the bug occured and which one fixed it?
-
mar1anx
Извън линия - Foreigner
- Мнения: 41
- Регистриран на: 17 Сеп 2018, 00:56
- Се отблагодари: 4 пъти
- Получена благодарност: 2 пъти
OciXCrom's Rank System [XP|Levels|Ranks]
amxx 1.8.3 last build - problem with save
amxx 1.9 last build - solved
EDIT: I think it was not from amxmodx I think it was from the nvault module
amxx 1.9 last build - solved
EDIT: I think it was not from amxmodx I think it was from the nvault module
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
OciXCrom's Rank System [XP|Levels|Ranks]
- Добавена е MySQL поддръжка. Вече можете да ползвате MySQL за запазване на XP-то, вместо nVault.
- При неуспешна връзка с MySQL сървъра, плъгинът автоматично ще се прехвърли да ползва nVault за запазване на XP-то, вместо напълно да спре да работи.
- За да ъпдетйнете от версия 2.7.1 до най-новата версия 3.0 без да загубите настройките в RankSystem.ini, заместете всички останали файлове, а в конфигурационния файл добавете следните неща в раздела [Settings] под настройката SAVE_TYPE:
Код за потвърждение: Избери целия код
# If set to 1, player XP will be saved and loaded using MySQL rather than nVault. # If the MySQL connection fails, the plugin will automatically switch to using nVault. USE_MYSQL = 0 # SQL information to use if USE_MYSQL is set to 1. SQL_HOST = 127.0.0.1 SQL_USER = root SQL_PASSWORD = SQL_DATABASE = amx SQL_TABLE = CRXRanks
- Сложете настройката USE_MYSQL на 1 и настройте си данните за да ползвате MySQL опцията.
- Интересна идея: можете да ползвате същите MySQL данни в повече от един сървър за играчите да имат същото XP във всички налични сървъри.
-
mar1anx
Извън линия - Foreigner
- Мнения: 41
- Регистриран на: 17 Сеп 2018, 00:56
- Се отблагодари: 4 пъти
- Получена благодарност: 2 пъти
OciXCrom's Rank System [XP|Levels|Ranks]
Can you make a plugin to transfer from nvault in mysql ?
Like this
Like this
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <sqlx>
new g_host, g_user, g_pass, g_db;
new Host[64], User[32], Pass[32], DB[128];
new Handle:g_SQLTuple, Handle:SqlConnection;
new g_error[512], errorcode;
new reg_file[256], text[128], name[32], pass[34], status[11], query[512], counter = 0;
public plugin_init()
{
register_plugin("Register System Data Transferor", "1.0", "m0skVi4a ;]")
g_host = get_cvar_pointer("rs_host")
g_user = get_cvar_pointer("rs_user")
g_pass = get_cvar_pointer("rs_pass")
g_db = get_cvar_pointer("rs_db")
register_srvcmd("file_to_mysql", "FileToMYSQL")
register_srvcmd("mysql_to_file", "MYSQLToFile")
new configs_dir[64];
get_localinfo("amxx_configsdir", configs_dir, charsmax(configs_dir))
formatex(reg_file, charsmax(reg_file), "%s/regusers.ini", configs_dir)
}
public MYSQLToFile()
{
server_print("Connecting to MYSQL...")
get_pcvar_string(g_host, Host, charsmax(Host))
get_pcvar_string(g_user, User, charsmax(User))
get_pcvar_string(g_pass, Pass, charsmax(Pass))
get_pcvar_string(g_db, DB, charsmax(DB))
g_SQLTuple = SQL_MakeDbTuple(Host, User, Pass, DB)
SqlConnection = SQL_Connect(g_SQLTuple, errorcode, g_error, charsmax(g_error))
if(SqlConnection == Empty_Handle)
{
server_print("MYSQL connection failed!")
server_print(g_error)
return PLUGIN_HANDLED
}
else
{
server_print("MYSQL connection succesful!")
}
server_print("Checking Register System file...")
if(!file_exists(reg_file))
{
server_print("Register System file - %s not found! Creating new...", reg_file)
write_file(reg_file,";Register System file^n;Modifying may cause the clients to can not Login!^n^n")
}
else
{
server_print("Register System file found!")
}
server_print("Starting to transfer!")
formatex(query, charsmax(query), "SELECT * FROM `registersystem`;")
SQL_ThreadQuery(g_SQLTuple, "QuerySelectData", query)
return PLUGIN_CONTINUE
}
public QuerySelectData(FailState, Handle:Query, error[], errorcode, data[], datasize, Float:fQueueTime)
{
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
{
server_print(error)
return
}
else
{
new col_name = SQL_FieldNameToNum(Query, "Name")
new col_pass = SQL_FieldNameToNum(Query, "Password")
new col_status = SQL_FieldNameToNum(Query, "Status")
new file_pointer = fopen(reg_file, "a")
counter = 0
while(SQL_MoreResults(Query))
{
SQL_ReadResult(Query, col_name, name, charsmax(name))
SQL_ReadResult(Query, col_pass, pass, charsmax(pass))
SQL_ReadResult(Query, col_status, status, charsmax(status))
if(!equal(status, "LOGGED_IN"))
{
status = "LOGGED_OUT"
}
formatex(text, charsmax(text), "^n^"%s^" ^"%s^" ^"%s^"", name, pass, status)
fprintf(file_pointer, text)
counter++
server_print("%d. Transfering %s 's registration, password hash: %s Status: %s", counter, name, pass, status)
SQL_NextRow(Query)
}
fclose(file_pointer)
server_print("Transfer finished! %d registration were transferred!", counter)
}
}
public FileToMYSQL()
{
server_print("Checking Register System file...")
if(!file_exists(reg_file))
{
server_print("Register System file - %s not find!", reg_file)
return PLUGIN_HANDLED
}
else
{
server_print("Register System file found!")
}
server_print("Connecting to MYSQL...")
get_pcvar_string(g_host, Host, charsmax(Host))
get_pcvar_string(g_user, User, charsmax(User))
get_pcvar_string(g_pass, Pass, charsmax(Pass))
get_pcvar_string(g_db, DB, charsmax(DB))
g_SQLTuple = SQL_MakeDbTuple(Host, User, Pass, DB)
SqlConnection = SQL_Connect(g_SQLTuple, errorcode, g_error, charsmax(g_error))
if(SqlConnection == Empty_Handle)
{
server_print("MYSQL connection failed!")
server_print(g_error)
return PLUGIN_HANDLED
}
else
{
server_print("MYSQL connection succesful!")
}
new Handle:Query
Query = SQL_PrepareQuery(SqlConnection, "CREATE TABLE IF NOT EXISTS registersystem (Name VARCHAR(32), Password VARCHAR(34), Status VARCHAR(11))")
if(!SQL_Execute(Query))
{
SQL_QueryError(Query, g_error, charsmax(g_error))
server_print(g_error)
}
SQL_FreeHandle(Query)
SQL_FreeHandle(SqlConnection)
server_print("Starting to transfer!")
new length, line = 0;
counter = 0
while(read_file(reg_file, line++ , text, charsmax(text), length))
{
if(!text[0] || text[0] == '^n' || text[0] == ';')
continue
parse(text, name, charsmax(name), pass, charsmax(pass), status, charsmax(status))
if(!equal(status, "LOGGED_IN"))
{
status = "LOGGED_OUT"
}
formatex(query, charsmax(query), "INSERT INTO `registersystem` (`Name`, `Password`, `Status`) VALUES (^"%s^", ^"%s^", ^"%s^");", name, pass, status)
SQL_ThreadQuery(g_SQLTuple, "QuerySetData", query)
counter++
server_print("%d. Transfering %s 's registration, password hash: %s Status: %s", counter, name, pass, status)
}
server_print("Transfer finished! %d registration were transferred!", counter)
return PLUGIN_CONTINUE
}
public QuerySetData(FailState, Handle:Query, error[],errcode, data[], datasize)
{
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
{
server_print(error)
return
}
}
-
esc-Fiv3
Извън линия - Foreigner
- Мнения: 110
- Регистриран на: 24 Ное 2018, 19:19
- Се отблагодари: 16 пъти
OciXCrom's Rank System [XP|Levels|Ranks]
Updated? It works good the last one too. What is the difference between 2.7 to 3.0? Should I update it too? It works great the last one and I have amxx 1.8.2
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
OciXCrom's Rank System [XP|Levels|Ranks]
Look at the changelog above. In 3.0 you can use MySQL to save the XP - this was a highly requested feature. In 2.7 you can only use nVault which doesn't allow any actions outside the server. With MySQL you can connect the XP with your website for example.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 8 Отговори
- 1813 Преглеждания
-
Последно мнение от The Pain
-
- 7 Отговори
- 3421 Преглеждания
-
Последно мнение от iv69
-
- 2 Отговори
- 2521 Преглеждания
-
Последно мнение от truex_88
-
- 2 Отговори
- 1047 Преглеждания
-
Последно мнение от Mr.!mP@$!bl3
-
- 1 Отговори
- 2579 Преглеждания
-
Последно мнение от OciXCrom
-
- 2 Отговори
- 1531 Преглеждания
-
Последно мнение от AfterLife
-
- 4 Отговори
- 2559 Преглеждания
-
Последно мнение от iv69
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 29 госта