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

Что не так?


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

вот добавел кароче таблиицу для пвп рейтинга подскажите что не так

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

//============================================================

ВОт такая хренотень

post-2502-0-71177000-1427404724_thumb.jp

Ссылка на комментарий
Поделиться на другие сайты

Ты убил кого-то и рейтинг не обновился?

Ошибка какая-то выскочила в одном из окон сервера?

Игра зависла?

В чем проблема?

убиваю и рейтинг не обновился
Ссылка на комментарий
Поделиться на другие сайты

- 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$, "Был убит";

else

set $@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$, "убил";

else

set $@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;

else

set @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;

else

set @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;

}

}

  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

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