Перейти к содержанию

MvP Rank reset (решено)


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

Всем доброй ночи, доспода столкнулся вот стакой проблемой.

Есть мвп ранк который посути работает,

но когда я обресетываю базу он не сбрасывает результат, подскажите.

Проблема решена!! Кривые ручки забыли нажать в базе данных на базу а потом в sql ! сразу тыкалось на SQL ошибка нуба... тему можно закрывать.


Вот нпц.

Цитата

 

-    script    Rank MvP    -1,{
OnInit:

setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115,1957,1418,1492,1871,1252,1768,1086,1688,1646,
                                1373,1147,1059,1150,1956,2022,1087,1190,1038,1157,1159,1502,1623,1650,1583,1708,1312,1751,1685,1648,1917,1658,1832,1885,1916;
set .a, 1;
set $@top, 10;
end;

OnNPCKillEvent:
for (set .@c, 0; .@c < getarraysize(.mobid); set .@c, .@c + 1)
    if (killedrid == .mobid[.@c])
        set .@s, 1; // If a MvP
if (!.@s) end;
if (.a)
//    announce "Player [" +strcharinfo(0) +"] Killed [" +getmonsterinfo(killedrid,0) +"]",bc_Blue|bc_all;
set MvP, MvP + 1;
set .@new_mvp_killer, .@new_mvp_killer + 1;
set .@Kill1erName$, strcharinfo(0);
//query_sql "UPDATE `char` SET mvprat="+.@new_mvp_killer+" WHERE name='"+.@Kill1erName$+"'";
callfunc ("MvPRank",MvP,strcharinfo(0));
end;
}
prontera,161,169,3    script    MvP Rank    999,{


mes "[^FF0000MvP ^0000FFRank ^00FF00Top ^FF0000" +$@top +"^000000]";
for (set .@c, 0; .@c < $@top; set .@c, .@c + 1)
    mes "^FF0000" +(.@c + 1) +"^000000.^0000FF" +getd("$topmvp" +.@c +"$") +"^000000-Kill ^FF0000" +getd("$topmvp" +.@c) +"^000000 MvP.";
close;
}


function    script    MvPRank    {
set @mvptotal, getarg(0);
set @nomb$, getarg(1);
for (set .@c, 0; .@c < $@top; set .@c, .@c + 1) {
    if (@mvptotal >= getd("$topmvp" +.@c)) {
        if (strcharinfo(0) == getd("$topmvp" +.@c +"$")) {
            setd "$topmvp" +.@c, @mvptotal;
            setd "$topmvp" +.@c +"$", @nomb$;
            return;
        } else {
                if (getd("$topmvp" +(.@c + 1) +"$") == "") {
                setd "$topmvp" +.@c, @mvptotal;
                setd "$topmvp" +.@c +"$", @nomb$;
                return;
            } else {
                setd "$topmvp" +(.@c + 1), getd("$topmvp" +.@c);
                setd "$topmvp" +(.@c + 1) +"$", getd("$topmvp"+.@c+"$");
                setd "$topmvp" +.@c, @mvptotal;
                setd "$topmvp" +.@c +"$", @nomb$;
                return;
            }
        }
    }
}
return;
}  

 

 

 

вот дополнительный нпц который делает ресет ранка , после нажатия на нпц, он сбрасывает настройки в самом нпц по нулям, но если снова убить мвп, то вместо 1 мвп он пишет уже на +1 больше того количества что было до сброса

 

Цитата

 

prontera,155,181,5    script    Sample    757,{
for(set .@c, 0; .@c < $@top; set .@c, .@c+1) {
    setd "$topmvp" + .@c, 0;
    setd "$topmvp" + .@c + "$", "";
}
dispbottom "MVP Rank has been Reset.";
end;
}

 

 

 

В самой базе заменял вот это, не помогло

 

Цитата

 

DROP TABLE IF EXISTS `ea`.`mvplog`;
CREATE TABLE IF NOT EXISTS `mvplog` (
  `char_id` int(11) unsigned NOT NULL default '0',
  `str` varchar(255) NOT NULL default '',
  `value` varchar(255) NOT NULL default '0',
  `type` tinyint(1) NOT NULL default '3',
  `account_id` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`char_id`,`str`,`account_id`),
  KEY `account_id` (`account_id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `ea`.`global_reg_value`;
CREATE TABLE IF NOT EXISTS `global_reg_value` (
  `char_id` int(11) unsigned NOT NULL default '0',
  `str` varchar(255) NOT NULL default '',
  `value` varchar(255) NOT NULL default '0',
  `type` tinyint(1) NOT NULL default '3',
  `account_id` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`char_id`,`str`,`account_id`),
  KEY `account_id` (`account_id`)
) ENGINE=MyISAM;

 

 

 

Изменено пользователем Flitemaster
Решил сам проблему.
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика