Sanasol Опубликовано 10 августа, 2011 Жалоба Поделиться Опубликовано 10 августа, 2011 Самый простой из возможных пвп рейтингов. Сколько убил, столько рейтинга и наоброт. 1. Добавить в таблицу char 2 поля kills и dies. Тип int(числовые) Длина как хотите. http://www.youtube.com/watch?v=j9a6wmIxkwg 2. Ставите скрипт 3. Учите игроков разговаривать с НПЦом 4. Ставите Рейтинг на сайте. Скрипт: /*by Sanasol*/- script pvp_rate -1,{OnPckillEvent:if(rid2name(killedrid) == strcharinfo(0)) end;set kills,kills+1;dispbottom "Вы убили персонажа "+rid2name(killedrid)+", у вас "+kills+" убийств";//killedattachrid killedrid;if(rid2name(killerrid) == strcharinfo(0)) end;if(killerrid == null) end;set dies,dies+1;dispbottom "Вас убил персонаж "+rid2name(killerrid)+", у вас "+dies+" смертей";end;OnPCLoginEvent:OnPCLogOutEvent:query_sql("update `char` set `dies`='"+dies+"' where char_id='"+getcharid(0)+"'");query_sql("update `char` set `pvp`='"+kills+"' where char_id='"+getcharid(0)+"'");end;OnWhisperGlobal:if (@whispervar0$ == "стат") {dispbottom "Информация: Убийств "+kills+", Смертей "+dies+"";}if (@whispervar0$ == "топ") {dispbottom "-----ПвП Топ Игроков----";query_sql "SELECT `name`,`pvp`,`dies` FROM `char` ORDER BY `pvp` DESC LIMIT "+@whispervar1$+"", @name$, @kills, @dies;set $limit,@whispervar1$;dispbottom "Ник || Убийств || Смертей";for(set @i,0; @i != $limit; set @i,@i+1) { dispbottom ""+(@i+1)+" | "+@name$[@i]+" | "+@kills[@i]+" | "+@dies[@i]+""; }}if (@whispervar0$ == "инфо") {dispbottom "Чтобы узнать вашу статистику напишите 'стат'";dispbottom "Чтобы посмотреть топ игроков напишите 'топ#цифра', Цифра - сколько игроков в топе показать. например 'топ#5' выведет Топ 5 игроков";}end;} Скрипт для сайта: <?$host = "1111111111111";$user = "casdasd";$password = "asdasd";$rodb = "asdasd";$job['0']= "Novice";$job['1']= "Swordman";$job['2']= "Magician";$job['3']= "Archer";$job['4']= "Acolyte";$job['5']= "Merchant";$job['6']= "Thief";$job['7']= "Knight";$job['8']= "Priest";$job['9']= "Wizard";$job['10']= "Blacksmith";$job['11']= "Hunter";$job['12']= "Assassin";$job['13']= "Knight (Peco)";$job['14']= "Crusader";$job['15']= "Monk";$job['16']= "Sage";$job['17']= "Rogue";$job['18']= "Alchemist";$job['19']= "Bard";$job['20']= "Dancer";$job['21']= "Crusader (Peco)";$job['22']= "Wedding";$job['23']= "Super Novice";$job['24']= "Gunslinger";$job['25']= "Ninja";$job['4001']= "Novice High";$job['4002']= "Swordman High";$job['4003']= "Magician High";$job['4004']= "Archer High";$job['4005']= "Acolyte High";$job['4006']= "Merchant High";$job['4007']= "Thief High";$job['4008']= "Lord Knight";$job['4009']= "High Priest";$job['4010']= "High Wizard";$job['4011']= "Whitesmith";$job['4012']= "Sniper";$job['4013']= "Assassin Cross";$job['4014']= "Lord Knight (Peco)";$job['4015']= "Paladin";$job['4016']= "Champion";$job['4017']= "Professor";$job['4018']= "Stalker";$job['4019']= "Creator";$job['4020']= "Clown";$job['4021']= "Gypsy";$job['4022']= "Paladin (Peco)";$job['4023']= "Baby Novice";$job['4024']= "Baby Swordman";$job['4025']= "Baby Magician";$job['4026']= "Baby Archer";$job['4027']= "Baby Acolyte";$job['4028']= "Baby Merchant";$job['4029']= "Baby Thief";$job['4030']= "Baby Knight";$job['4031']= "Baby Priest";$job['4032']= "Baby Wizard";$job['4033']= "Baby Blacksmith";$job['4034']= "Baby Hunter";$job['4035']= "Baby Assassin";$job['4036']= "Baby Knight (Peco)";$job['4037']= "Baby Crusader";$job['4038']= "Baby Monk";$job['4039']= "Baby Sage";$job['4040']= "Baby Rogue";$job['4041']= "Baby Alchemist";$job['4042']= "Baby Bard";$job['4043']= "Baby Dancer";$job['4044']= "Baby Crusader (Peco)";$job['4045']= "Baby Super Novice";$job['4046']= "Taekwon";$job['4047']= "Star Knight";$job['4048']= "Star Knight (flying)";$job['4049']= "Soul Linker";$num=0;$db = mysql_connect ($host,$user,$password);mysql_select_db($rodb,$db);$result = mysql_query ("SELECT * FROM `char` ORDER BY `kills` DESC LIMIT 10 ",$db) or die(mysql_error());$myrow = mysql_fetch_array($result); mysql_query("SET SESSION CHARACTER SET utf-8");mysql_query("SET NAMES utf-8"); echo "<table width='570' height='10' border='0'> <tr><td height='10px'>№</td><td width='140px' height='10px'>Ник</td><td width='97px' height='10px'>Б.лвл/Дж.лвл</td><td width='94px' height='10px'>Убийств</td><td width='93px' height='10px'>Смертей</td> <td width='122px' height='10px'>Профессия</td></tr>";do{$num=$num+1;printf("<tr><td height='10px'>$num</td><td width='140px' height='10px'>%s</td><td width='97px' height='10px'>%s/%s</td><td width='94px' height='10px'>%s</td><td width='93px' height='10px'>%s</td> <td width='122px' height='10px'>".$job[$myrow["class"]]."</td></tr>" ,$myrow["name"] ,$myrow["base_level"],$myrow["job_level"] ,$myrow["kills"] ,$myrow["dies"], $myrow["class"]);}while ($myrow = mysql_fetch_array($result));echo "</table>";?> Диалог с игроком: При помощи привата На какой ник писать? npc:pvp_rate Что писать? "инфо" Например: Кому: npc:pvp_rateСообщение: инфо Результат работы сообщения ИНФО на 2 скриншоте. 4 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
SCHOKK Опубликовано 13 августа, 2011 Жалоба Поделиться Опубликовано 13 августа, 2011 Спасибо. 1.Работает скрипт. Но не пойму почему после только как я убил. Пишет : "Вы убили "Новиса" на вашем счету 1 убийств. Но после того как ввожу npc:pvp_rate инфо#3 Пишет что убийств 0. Перезапуская эмуль,топ обновляется и пишет что убийств 1. Не разберусь. За скрипт спасибо. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Milky Way Опубликовано 13 августа, 2011 Жалоба Поделиться Опубликовано 13 августа, 2011 логичнее OnPCLogoutEvent а не OnPCLoginEvent$jobs['int'] - быдлокод, нужно $jobs[int](ибо интерпретатор будет преобразовывать char/string в int)а так ок. 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 16 августа, 2011 Жалоба Поделиться Опубликовано 16 августа, 2011 Итак, косяк скрипта таков.При убийстве персонажа монстром, пишется в чат что Вася убит Mantis. И это убийство зачитывается как будто тебя убил обычный персонаж. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 16 августа, 2011 Автор Жалоба Поделиться Опубликовано 16 августа, 2011 Я уже писал об этом. Надо вписать все действия в OnPCKillEventчерез attachrid Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 16 августа, 2011 Жалоба Поделиться Опубликовано 16 августа, 2011 Будь добр, дай ссылку на тему Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 16 августа, 2011 Автор Жалоба Поделиться Опубликовано 16 августа, 2011 На рус еа была. Тут нету и решения там не было. Все что надо сделать я написал.Смотри другие скрипты пвп в пример Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 16 августа, 2011 Жалоба Поделиться Опубликовано 16 августа, 2011 Эх, хорошо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 22 августа, 2011 Автор Жалоба Поделиться Опубликовано 22 августа, 2011 http://www.youtube.com/watch?v=j9a6wmIxkwg Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 23 августа, 2011 Автор Жалоба Поделиться Опубликовано 23 августа, 2011 ап обновил скрипт.Смерти от мобов теперь не считаются. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 24 августа, 2011 Жалоба Поделиться Опубликовано 24 августа, 2011 Благодарствую Ссылка на комментарий Поделиться на другие сайты Поделиться
S2pidsMan Опубликовано 10 сентября, 2011 Жалоба Поделиться Опубликовано 10 сентября, 2011 (изменено) В замешательстве.В топе: $result = mysql_query ("SELECT * FROM `char` ORDER BY `kills` DESC LIMIT 10 ",$db) or die(mysql_error()); $myrow = mysql_fetch_array($result); mysql_query("SET SESSION CHARACTER SET utf-8"); mysql_query("SET NAMES utf-8"); хитачес -AddDefaultCharset utf-8В хтмл -<head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /></head>И все равно русские ники в топе загагулинами). Может сталкивался кто с этим и нашел решение?Так-же замечу, что исходный вывод у меня в отдельном диве, но я не понимаю как это может влиять на вывод информации на сайт.Менял все на "cp1251" - реакции 0. Изменено 10 сентября, 2011 пользователем S2pidsMan Ссылка на комментарий Поделиться на другие сайты Поделиться
Enwteyn Опубликовано 18 октября, 2012 Жалоба Поделиться Опубликовано 18 октября, 2012 цікаво чи є рейтинг без SQL? Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 октября, 2012 Жалоба Поделиться Опубликовано 19 октября, 2012 цікаво чи є рейтинг без SQL?Speak russian, man =\ Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 19 октября, 2012 Жалоба Поделиться Опубликовано 19 октября, 2012 Ему интересно есть ли рейт без СКЛ Ссылка на комментарий Поделиться на другие сайты Поделиться
qabakrall Опубликовано 23 октября, 2014 Жалоба Поделиться Опубликовано 23 октября, 2014 http://lost-soulsro.ru/pvptop.phpчто там куда добавлять непонятно ))в других случаях ты пишешь что куда вписать в пхп но тут я нечего не понял в пхп что вписать? Ссылка на комментарий Поделиться на другие сайты Поделиться
SouZe Опубликовано 23 октября, 2014 Жалоба Поделиться Опубликовано 23 октября, 2014 http://lost-soulsro.ru/pvptop.phpчто там куда добавлять непонятно ))в других случаях ты пишешь что куда вписать в пхп но тут я нечего не понял в пхп что вписать?можешь хотя бы вопрос сформулировать нормально? Ссылка на комментарий Поделиться на другие сайты Поделиться
qabakrall Опубликовано 23 октября, 2014 Жалоба Поделиться Опубликовано 23 октября, 2014 (изменено) http://lost-soulsro.ru/pvptop.phpчто там куда добавлять непонятно ))в других случаях ты пишешь что куда вписать в пхп но тут я нечего не понял в пхп что вписать?можешь хотя бы вопрос сформулировать нормально?да я решил эту проблему...только что бы я не писал нпц на команды не отвечает...npc:pvp_rate инфо#3пробовал без пробовалНечего не отвечает... Изменено 23 октября, 2014 пользователем qabakrall Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения