Рекомендованные сообщения



Не найдено.

2 posts in this topic

Приветствую Форумчани! Тут такая фигня, сделал систему EXP и LvL ошибок нет, но в базе минуты не обновляются и в игре ничего не происходит! Надеюсь сможете помочь!

Форварды:
 

forward SecondUpdate();
forward MinuteUpdate();



Переменная:
 

new expmultiply = 3;



Паблики:

 

Спойлер

public MinuteUpdate()
{
foreach(new i:Player)
{
if(PlayerAFK < 2)
{
pInfo[pMins]++;
if(pInfo[pMins] >= 60)
{
pInfo[pMins] = 0;
PayDay(i);
}
static fmt_str[] = "UPDATE `users` SET `mins` = '%d' WHERE `id` = '%d'";
new string[sizeof(fmt_str)+(-2+2)+(2-8)];
mysql_format(dbHandle, string, sizeof(string), fmt_str, pInfo[pMins], pInfo[pID]);
}
}
}

public SecondUpdate()
{
foreach(new i:Player)
{
PlayerAFK++;
if(PlayerAFK >= 2)
{
new string[] = "{0x8414a8AA}AFK: ";
if(PlayerAFK < 60)
{
format(string, sizeof(string), "%s%d сек.", string, PlayerAFK);
}
else
{
new minute = floatround(PlayerAFK/60, floatround_floor);
new second = PlayerAFK % 60;
format(string, sizeof(string), "%s%d Минут %d Секунд", string, minute, second);
}
SetPlayerChatBubble(i, string, -1, 20, 1000);
}
}
return 1;
}

 



Стоки:
 

Спойлер

stock PayDay(playerid)
{
SCM(playerid, COLOR_WHITE, "Зарплата");
GiveExp(playerid, 1);
}

stock GiveExp(playerid, exp)
{
pInfo[playerid][pExp] += exp;
new needexp = (pInfo[playerid][pLevel]+1)*expmultiply;
new buffer = pInfo[playerid][pExp]-needexp;
if(pInfo[playerid][pExp] >= needexp)
{
pInfo[playerid][pExp] = 0;
if(buffer > 0) pInfo[playerid][pExp]+=buffer;
pInfo[playerid][pLevel]++;
SCM(playerid, COLOR_WHITE, "Поздравляем ваш уровень повышен!");
SetPlayerScore(playerid, pInfo[playerid][pLevel]);
}
static fmt_str[] = "UPDATE `users` SET `pLevel` = '%d',`pExp` = '%d' WHERE `id` = '%d'";
new string[sizeof(fmt_str)+(-2+9)+(2-8)];
mysql_format(dbHandle, string, sizeof(string), fmt_str, pInfo[playerid][pLevel], pInfo[playerid][pExp], pInfo[playerid][pID]);
}

 

 

 

Edited by DEST

Заметка от DEST , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Заметка от DEST , создано

3.5. Перед созданием темы убедитесь в правильности выбранного вами раздела. 

Устное предупреждение.

Заметка от DEST , создано

3.1. Заголовок темы должен отражать основную суть темы. Темы без информативного заголовка будут переименовываться, а автор может быть предупрежден (на усмотрение члена администрации). 

Устное предупреждение.

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Проблемы с компиляцией"

Перемещена в: "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне