Henkei Опубликовано 26 марта, 2015 Жалоба Поделиться Опубликовано 26 марта, 2015 вот добавел кароче таблиицу для пвп рейтинга подскажите что не так prontlegend,180,216,3 script PvP Board#1::PvPBoard 857,{ set @db_name$, "testragnarok"; mes "[ PvP Information ]"; mes "Здесь вы можете увидеть:"; mes "1. Лидеров PvP."; mes "2. Cвой PvP Статус."; next; switch(select("Лидеры PvP","Мой статус","Выход")) { case 1: set @topcount, 5; cleararray @pvpboard1$[0],"",@topcount; cleararray @pvpboard2[0],0,@topcount; query_sql "SELECT name, pvprat FROM "+@db_name$+".pvplog ORDER BY pvprat DESC LIMIT "+@topcount+";", @pvpboard1$, @pvpboard2; mes "[ ^ff0000Топ "+@topcount+"^000000 ]"; for (set @i,0; @i<@topcount; set @i,@i+1) { if(@pvpboard2[@i] != 0) mes "["+(@i+1)+"] ^0000FF[ "+@pvpboard1$[@i]+" ]^000000 - ^FF0000"+@pvpboard2[@i]+"^000000."; else mes "["+(@i+1)+"] ^0000FF[ Nobody ]^000000 - ^FF0000"+@pvpboard2[@i]+"^000000."; } close2; break; case 2: cleararray @pvp_points[0],0,1; query_sql "SELECT pvprat FROM "+@db_name$+".pvplog WHERE name='"+strcharinfo(0)+"'", @pvp_points; mes "[ PvP Статус ^0000ff"+strcharinfo(0)+"^000000 ]"; mes "Убийств: ^0000FF"+PvP_Kills+"^000000"; mes "Сметрей: ^0000FF"+PvP_Death+"^000000"; mes " "; mes "PvP рейтинг: ^0000FF"+@pvp_points[0]+"^000000"; close2; break; case 3: close2; break; } end; } //= Duplicats PvP Board ====================================== //= yourmap,map X,map Y,Z duplicate(PvPBoard) PvP Board#2 857 //= yourmap,map X,map Y,Z duplicate(PvPBoard) PvP Board#3 857 //============================================================ ВОт такая хренотень Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 26 марта, 2015 Жалоба Поделиться Опубликовано 26 марта, 2015 И что? Ссылка на комментарий Поделиться на другие сайты Поделиться
Henkei Опубликовано 27 марта, 2015 Автор Жалоба Поделиться Опубликовано 27 марта, 2015 И что?типа и что? Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 27 марта, 2015 Жалоба Поделиться Опубликовано 27 марта, 2015 Ты убил кого-то и рейтинг не обновился?Ошибка какая-то выскочила в одном из окон сервера?Игра зависла?В чем проблема? Ссылка на комментарий Поделиться на другие сайты Поделиться
Henkei Опубликовано 27 марта, 2015 Автор Жалоба Поделиться Опубликовано 27 марта, 2015 Ты убил кого-то и рейтинг не обновился?Ошибка какая-то выскочила в одном из окон сервера?Игра зависла?В чем проблема?убиваю и рейтинг не обновился Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 27 марта, 2015 Жалоба Поделиться Опубликовано 27 марта, 2015 убиваю и рейтинг не обновилсяА скрипт самого рейтинга можно? В db добавили новую таблицу? Ссылка на комментарий Поделиться на другие сайты Поделиться
Henkei Опубликовано 27 марта, 2015 Автор Жалоба Поделиться Опубликовано 27 марта, 2015 - script OnPCKillEvent -1,{OnPCKillEvent:function Rating_Winner;function Rating_Loser;set @disable_gms, 0; // Проверка на Гм уровень. 1 - вкл. 0 - выкл.set @servertype, 2; // 1 - Normal Server; 2 - PvP Server.set $@db_name$, "testragnarok"; // Название базы данных, в которых расположена таблица рейтинга.setarray @eventmaps$[0], "pvp_y_8-1", "pvp_y_8-2", "pvp_y_8-3", "pvp_y_8-4", "pvp_y_8-5";if ( getcharid(0) == killerrid ) end;if ( getmapxy( @mapname$, @mapx, @mapy, 0, strcharinfo(0) ) != 0 ) end;switch (@servertype) {case 1:for ( set @i, 0; @i <= getarraysize( @eventmaps$ ); set @i, @i+1 ){if ( @mapname$ == @eventmaps$[@i] ){set @eventgo, 1;break;}}break;case 2:set @eventgo, 1;for ( set @i, 0; @i <= getarraysize( @eventmaps$ ); set @i, @i+1 ){if ( @mapname$ == @eventmaps$[@i] ){set @eventgo, 0;break;}}break;}if ( !@eventgo ) end;if ( @disable_gms && getgmlevel() >= 40 ) end;set $@PvP_Point, 80;set PvP_Kills,PvP_Kills+1;set $@KillerName$, strcharinfo(0);set $@KilledName$, rid2name( killedrid );set $@Kill_base, BaseLevel;set @killer_sex, Sex;if ( @killer_sex )set $@kill_msg$, "Был убит";elseset $@kill_msg$, "Была убита";set @tmp_attach, killedrid;attachrid( @tmp_attach );set PvP_Death, PvP_Death+1;set $@Dead_base, BaseLevel;set @dead_sex, Sex;if ( @dead_sex )set $@dead_msg$, "убил";elseset $@dead_msg$, "убила";Rating_Loser;set @tmp_attach, killerrid;attachrid( @tmp_attach );Rating_Winner;// Больше не нужен...announce "[ "+$@KillerName$+" ] "+$@kill_msg$+" [ "+$@KilledName$+" ]. Рейтинг +/- ["+$@CountWinner+" / "+$@CountLoser+"]",bc_map;end;function Rating_Winner {if ( $@Kill_base < $@Dead_base )set @CountWinner, ( $@PvP_Point + ( $@Dead_base - $@Kill_base ) ) / 5;elseset @CountWinner, ( $@PvP_Point - ( $@Kill_base - $@Dead_base ) ) / 5;if ( PvP_Kills > 1 ) {query_sql "UPDATE "+$@db_name$+".pvplog SET pvprat=pvprat+"+@CountWinner+" WHERE name='"+$@KillerName$+"'";} else {query_sql "INSERT INTO "+$@db_name$+".pvplog (`name`,`pvprat`) VALUES ('"+$@KillerName$+"',"+@CountWinner+")";}announce $@kill_msg$+" [ "+$@KilledName$+" ]. Рейтинг +"+@CountWinner,bc_self|bc_blue;return;}function Rating_Loser {if ( !PvP_Kills ) return;set @PvP_LosPoints, 0;if ( PvP_Kills - PvP_Death >= 0 ) {if ( $@Kill_base < $@Dead_base )set @CountLoser, ( $@PvP_Point + ( $@Dead_base - $@Kill_base ) ) / 5;elseset @CountLoser, ( $@PvP_Point - ( $@Kill_base - $@Dead_base ) ) / 5;cleararray @pvp_loser[0],0,1;query_sql "SELECT pvprat FROM "+$@db_name$+".pvplog WHERE name='"+$@KilledName$+"'", @pvp_loser;if ( @CountLoser < @pvp_loser[0] )set @PvP_LosPoints, @pvp_loser[0] - @CountLoser;}query_sql "UPDATE "+$@db_name$+".pvplog SET pvprat="+@PvP_LosPoints+" WHERE name='"+$@KilledName$+"'";announce "Вас "+$@dead_msg$+" [ "+$@KillerName$+" ]. Рейтинг -"+@CountLoser,bc_self|bc_blue;return;}} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения