• Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Level System (Level System)
Level System
Дата: Понедельник, 13.08.2018, 18:01 | Сообщение # 1
Любитель
Offline
  • hostgamcs
  • Репутация: 11
  • Сообщений:33
  • Пользователь
Подскажите пожалуйста..
Нашел плагин который работает с buymenu

Его задача вычислять сколько игрок поиграл времени на сервере. За 1 час игры например он выдает 1 левел... потом за 5 часов игры он выдает 2 левел.

Дело в том что когда я выдаю через команду левел. он выдается.... и в файле Vault сохраняет. время

Пример  BSmg4SfgmA0 56Џlq[ То есть игрок поиграл 56 минут и вероятно вышел с сервера

при заходе обратно на сервер у него должно быть на таймере 56 минут. .... но на самом деле он заходит на сервер и таймер сбивается. он имеет вместо 56 минут. по дефолту 60

даже после смены карты таймер сбивается. не подскажите как исправить?


Добавлено (13.08.2018, 22:50)
---------------------------------------------
ясно... вариантов ноль как и на всех форумах... фиг знает как решить свою проблему
Сообщение отредактировал hostgamcs - Понедельник, 13.08.2018, 22:51
Дата: Понедельник, 13.08.2018, 23:13 | Сообщение # 2
Скриптер
Мастер
Offline
  • MakapoH
  • Репутация: 71
  • Сообщений:140
  • Разработчик
В таком коде и не каждый проблему искать захочет...
Я бы возможно и помог, но с телефона это крайне не удобно
Дата: Понедельник, 13.08.2018, 23:53 | Сообщение # 3
Скриптер
Дух ( Новичок )
Offline
  • Dambas
  • Репутация: 64
  • Сообщений:19
  • Разработчик
  • Статус пользователя https://vk.com/bloodsource - Группа с моими работами
if(dLookup==0)
{
    dLookupName = nvault_lookup(g_vault, szName, szLevel, 63, dtimestamp);
    if(dLookupName!=0)
    {
        strbreak(szLevel, szLvl, 31, szTime, 31);
        g_level [id]= str_to_num(szLvl);
        g_left [id]= str_to_num(szTime);
        nvault_set(g_vault, UserUIDs[id], szLevel);
    }
    else
    {
        g_level [id]= 0;
        g_left [id]= 60;
        nvault_set(g_vault, UserUIDs[id], "0 60");
    }
}
else
{
    strbreak(szLevel, szLvl, 31, szTime, 31);
    g_level [id]= str_to_num(szLvl);
    g_left [id]= str_to_num(szTime);
}
set_task(60.0, "update_level", id+3611);


Думаю, у тебя всегда срабатывает в функции client_authorized(id) часть ветвления  if(dLookupName!=0) и возвращает 0. Я не помню, как именно работает функция nvault_lookup, но найти в коде часть ошибки я помог, попробуй дальше сам
Дата: Вторник, 14.08.2018, 14:08 | Сообщение # 4
Любитель
Offline
  • hostgamcs
  • Репутация: 11
  • Сообщений:33
  • Пользователь
Цитата Dambas ()
попробуй дальше сам
я вообще не понимаю(( пробовал ставить на подобии такого же плагина который сохраняет все по sql

но это вообще не то... 

прикол в том что он сохраняется... у некоторых игроков. но спустя 2-3 левела. или когда рестарт сервера. левел сбивается..

у большинства он вообще не сохраняет... так и не понял почему у некоторых...

Добавлено (15.08.2018, 22:56)
---------------------------------------------
поможет кто выяснить... из за чего левел слетает. и бывает что у некоторых сохраняет... а у некоторых нет

Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Level System (Level System)
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)