Вопросы

покупаю через донат все скилли, перехожу на сервер снова 0% вот код 
 

  код (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение

26 ответов на этот вопрос

  • 0

@Drummer1993  И так, подумав и раздумав, решили проблему. Она была в том что каждый раз, в OnPlayerLogin, вызывался SavePlayerSkills(playerid);, из за этого сразу же загружались в бд дефолтные данные. Переместив его в LoadPlayerSkills(playerid), тобишь в загрузку скиллов, все заработало как нужно. То есть, теперь загружаются данные которые, из базы данных.

  Цитата
public: LoadPlayerSkills(playerid)
{
	new rows, fields, buffer[64];
    cache_get_data(rows, fields);
    if(rows)
	{
		cache_get_field_content(0, "drive", buffer, dbHandle, 64);
		
		sscanf
		(
			buffer, "p<,>dddd",
			g_player_skills[playerid][S_LICS][0], 
			g_player_skills[playerid][S_LICS][1], 
			g_player_skills[playerid][S_LICS][2], 
			g_player_skills[playerid][S_LICS][3]
		);
		
		cache_get_field_content(0, "gun", buffer, dbHandle, 64);
		
		sscanf
		(
			buffer, "p<,>dddddddd", 
			g_player_skills[playerid][S_GUN][0], 
			g_player_skills[playerid][S_GUN][1], 
			g_player_skills[playerid][S_GUN][2], 
			g_player_skills[playerid][S_GUN][3],
			g_player_skills[playerid][S_GUN][4], 
			g_player_skills[playerid][S_GUN][5], 
			g_player_skills[playerid][S_GUN][6], 
			g_player_skills[playerid][S_GUN][7]
		);
		
		SetPlayerSkillData(playerid, S_T_FLIGHTS, cache_get_field_content_int(0, "t_flights"));
		SetPlayerSkillData(playerid, S_T_COUNT, cache_get_field_content_int(0, "t_count"));
		SetPlayerSkillData(playerid, S_TAXI_CALLS, cache_get_field_content_int(0, "taxi_calls"));
		SetPlayerSkillData(playerid, S_M_FIX, cache_get_field_content_int(0, "m_fix"));
		SetPlayerSkillData(playerid, S_B_FLIGHTS, cache_get_field_content_int(0, "b_flights"));
		SetPlayerSkillData(playerid, S_PILOT_LVL, cache_get_field_content_int(0, "pilot_lvl"));
		SetPlayerSkillData(playerid, S_PILOT_RACE, cache_get_field_content_int(0, "pilot_race"));
		
		SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 		g_player_skills[playerid][S_GUN][0]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 		g_player_skills[playerid][S_GUN][1]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 				g_player_skills[playerid][S_GUN][2]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 					g_player_skills[playerid][S_GUN][3]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 				g_player_skills[playerid][S_GUN][4]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 					g_player_skills[playerid][S_GUN][5]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 				g_player_skills[playerid][S_GUN][6]*10);
		SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 			g_player_skills[playerid][S_GUN][7]*10);
		SavePlayerSkills(playerid); // Вот добавление.

 

Читать далее...  

 

Поделиться сообщением


Ссылка на сообщение
  • 0
SavePlayerSkills в студию

и mysql_log

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 14:23, SCRIPTMAN сказал:
SavePlayerSkills в студию

и mysql_log

Читать далее...  
  stock SetPlayerSkills(playerid) (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Логи mysql_log.txt  можно? 

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:10, Nekit_Krut18 сказал:

@Drummer1993 Логи mysql_log.txt  можно? 

Читать далее...  
  Логи mysql_log (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
  • 0

SetPlayerSkillLevel давай

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:15, SCRIPTMAN сказал:

SetPlayerSkillLevel давай

Читать далее...  

у меня в моде нет такого вообще SetPlayerSkillLevel , я скинул вам больше не чего нет

SetPlayerSkills,
SavePlayerSkills

Поделиться сообщением


Ссылка на сообщение
  • 0

@SCRIPTMAN А не должен разве идти запрос в бд, что-бы их сохранить после покупки скиллов? Лично у меня после покупки идет запрос, хоть в покупке, или в ежедневнем бонусе.

 

Отредактировано пользователем Nekit_Krut18
Причина: Подправил.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 извиняюсь, это стандартная функция

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Будьте добры, скинуть callback загрузки аккаунта.

 

Поделиться сообщением


Ссылка на сообщение
  • 0

А покажи-ка таблицу "accounts_skills", можно скрином, её структуру, или даже запись

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:23, Nekit_Krut18 сказал:

@SCRIPTMAN А не должен разве идти запрос в бд, что-бы их сохранить после покупки скиллов? Лично у меня после покупки идет запрос, хоть в покупке, или в ежедневнем бонусе.

 

Читать далее...  
  база (открыть спойлер)

 

  В 5/11/2020 в 17:31, SCRIPTMAN сказал:

А покажи-ка таблицу "accounts_skills", можно скрином, её структуру, или даже запись

Читать далее...  
  таблица (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
  • 0

В базе не смотрел. сохраняется всё?

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:43, SCRIPTMAN сказал:

В базе не смотрел. сохраняется всё?

Читать далее...  

по началу да .. как только снова захожу снова 0.0.0.0.0.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Я думаю это нужно вставить, после покупки скиллов не? Ну под себя настройте.

  Цитата
new query_string [ 148 ] ;
format ( query_string, sizeof ( query_string ),"UPDATE `accounts_skills` SET `gun`='100,100,100,100,100,100,100' WHERE `owner` = '%d' LIMIT 1",
GetPlayerName(playerid, PI[playerid] [name], MAX_PLAYER_NAME)) ;
mysql_query ( sql_connection, query_string ) 

 

Читать далее...  

 

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:45, Nekit_Krut18 сказал:

@Drummer1993 Я думаю это нужно вставить, после покупки скиллов не? Ну под себя настройте.

 

Читать далее...  
  код (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Да, вот сюда. Только настройте под себя, подключение к бд.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 вставлять ничего не нужно, у него для этого там прописан сток SavePlayerSkills,

Сделай вот что:

Включи логирование MySQL (В OnGameModeInit вставь после подключения бд mysql_log(ALL);)

Скомпилируй, потом удали mysql_log, запусти серв, зайди, выдай скиллы, потом выйди, снова зайди, потом скинь логи mysql

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:50, SCRIPTMAN сказал:

@Nekit_Krut18 вставлять ничего не нужно, у него для этого там прописан сток SavePlayerSkills,

Сделай вот что:

Включи логирование MySQL (В OnGameModeInit вставь после подключения бд mysql_log(ALL);)

Скомпилируй, потом удали mysql_log, запусти серв, зайди, выдай скиллы, потом выйди, снова зайди, потом скинь логи mysql

Читать далее...  

хорошо 5 минут

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 17:50, SCRIPTMAN сказал:

@Nekit_Krut18 вставлять ничего не нужно, у него для этого там прописан сток SavePlayerSkills,

Сделай вот что:

Включи логирование MySQL (В OnGameModeInit вставь после подключения бд mysql_log(ALL);)

Скомпилируй, потом удали mysql_log, запусти серв, зайди, выдай скиллы, потом выйди, снова зайди, потом скинь логи mysql

Читать далее...  

 error 017: undefined symbol "ALL"

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 mysql_log(LOG_ALL);

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 18:05, Nekit_Krut18 сказал:

@Drummer1993 mysql_log(LOG_ALL);

Читать далее...  

все сейчас зайду куплю скилл и выйду лог скину

  В 5/11/2020 в 18:05, Nekit_Krut18 сказал:

@Drummer1993 mysql_log(LOG_ALL);

Читать далее...  

 

mysql_log.zip  62   282 кБ

  В 5/11/2020 в 17:50, SCRIPTMAN сказал:

@Nekit_Krut18 вставлять ничего не нужно, у него для этого там прописан сток SavePlayerSkills,

Сделай вот что:

Включи логирование MySQL (В OnGameModeInit вставь после подключения бд mysql_log(ALL);)

Скомпилируй, потом удали mysql_log, запусти серв, зайди, выдай скиллы, потом выйди, снова зайди, потом скинь логи mysql

Читать далее...  

 

mysql_log.zip  54   282 кБ

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Скинь загрузку аккаунта, callback должен быть.

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 5/11/2020 в 18:26, Nekit_Krut18 сказал:

@Drummer1993 Скинь загрузку аккаунта, callback должен быть.

Читать далее...  
  код (открыть спойлер)

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Drummer1993 Вы не поняли, где происходит загрузка аккаунта, тобишь загружаются данные аккаунта. Какой у вас мод, Perfect? 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Michov Andr
      От Michov Andr
      Re:samp RP — проект в разработке
      Re:samp RP — это SA-MP в стиле RP-проект, который в данный момент находится в активной разработке. Мы создаём сервер с бонусной системой, где механики будут, и игроки смогут развивать свои персонажи, зарабатывать деньги и взаимодействовать с окружающим миром. Однако, главное — это ролевой процесс. Вы сами выбираете, хотите ли вы заниматься бизнесом и фармом или погружаться в глубокую ролевую игру. Всё зависит от того, какой путь вы хотите пройти.
      Мы стремимся к тому, чтобы на сервере не было скучного фарма и бесконечных рутинных задач. Всё будет сбалансировано так, чтобы каждый игрок мог выбрать свой стиль игры и наслаждаться процессом, будь то отыгрыш роли, развитие персонажа или участие в экономике.
      Что касается доната — на сервере будет доступна возможность покупки привилегий, включая покупку админки. Мы не планируем делать донат обязательным для прогресса, и он не будет влиять на геймплей, но те, кто хотят ускорить процесс или получить дополнительные возможности, смогут воспользоваться такими предложениями. Всё сделано так, чтобы не нарушать баланс и не превращать сервер в платный путь к успеху.
      Re:samp RP — это сервер, где каждый игрок может найти для себя интересное занятие и, главное, где всегда будет место для качественной ролевой игры. Мы не навязываем никаких обязательных механик, и все решения остаются за вами. Стартовый бонус, донат, админки — это всё дополнительные возможности, но не основа игры. 
      Discrod:https://discord.gg/ernRMjyEJy
       
             
      на логотип не смотрим да признаюсь взял с самп рп() но уж больно он норм)
    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }