Flitemaster Опубликовано 17 февраля, 2016 Жалоба Поделиться Опубликовано 17 февраля, 2016 (изменено) Всем доброй ночи, доспода столкнулся вот стакой проблемой. Есть мвп ранк который посути работает, но когда я обресетываю базу он не сбрасывает результат, подскажите. Проблема решена!! Кривые ручки забыли нажать в базе данных на базу а потом в 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; Изменено 17 февраля, 2016 пользователем Flitemaster Решил сам проблему. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения