-
Публикаций
174 -
Зарегистрирован
-
Посещение
-
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент RuleZzz
-
1. Открывает Player.java либо L2PcInstance - зависит от сборки 2. Создаём в этом классе глобальную переменную для счётчика 3. Ищем метод который отвечает за обработку начисления PvP, например в оверах это doPKPVPManage и туда куда-нибудь в подходящее место ( например в этот блок: if(_pvpFlag > 0 || war) pk.setPvpKills(pk.getPvpKills() + 1); else ) суём проверку счётчика, сколько убил, и если убил нужное кол-во выдаём награду и обнуляем счётчик, если ещё не убил нужное кол-во поднимаем счётчик на +1
-
Смотри нету ли утечки памяти, следи за нагрузкой с помощью htop
-
В чистой люцере эвен находится в ядре: /ru/catssoftware/gameserver/model/entity/events/L2day.java Вот так выглядит там код для проверки слова Lineage II и выдачи награды за него: if (val==1) // Lineage II { L2ItemInstance item1 = player.getInventory().getItemByItemId(3882);//L L2ItemInstance item2 = player.getInventory().getItemByItemId(3881);//i L2ItemInstance item3 = player.getInventory().getItemByItemId(3883);//n L2ItemInstance item4 = player.getInventory().getItemByItemId(3877);//e L2ItemInstance item5 = player.getInventory().getItemByItemId(3875);//a L2ItemInstance item6 = player.getInventory().getItemByItemId(3879);//g L2ItemInstance item7 = player.getInventory().getItemByItemId(3888);//II if (item1==null || item2==null || item3==null || item4==null || item5==null || item6==null || item7==null) { player.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS); return; } if (item1.getCount()>=1 && item2.getCount()>=1 && item3.getCount()>=1 && item4.getCount()>=2 && item5.getCount()>=1 && item6.getCount()>=1 && item7.getCount()>=1) { player.destroyItemByItemId("Quest", 3882, 1, player, true); player.destroyItemByItemId("Quest", 3881, 1, player, true); player.destroyItemByItemId("Quest", 3883, 1, player, true); player.destroyItemByItemId("Quest", 3877, 2, player, true); player.destroyItemByItemId("Quest", 3875, 1, player, true); player.destroyItemByItemId("Quest", 3879, 1, player, true); player.destroyItemByItemId("Quest", 3888, 1, player, true); int rand= Rnd.get(0, rewardL2Day.length-1); L2ItemInstance item = player.getInventory().addItem("Quest", rewardL2Day[rand], 3, player, player.getTarget()); SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_S2_S1_S); smsg.addItemName(item); smsg.addNumber(3); player.sendPacket(smsg); if (ScrollChance>=Rnd.get(1,1000) && rewardScroll.length>0) { item = player.getInventory().addItem("Quest", rewardScroll[Rnd.get(0,rewardScroll.length-1)], 1, player, player.getTarget()); smsg = new SystemMessage(SystemMessageId.EARNED_S1); smsg.addItemName(item); player.sendPacket(smsg); } if (EnchScrollChance>=Rnd.get(1,1000)) { int EnchScrollId=0; int EnchScrollCnt=0; if (player.getLevel()<53) { EnchScrollId=951; EnchScrollCnt=3; } else if (player.getLevel()<63) { EnchScrollId=947; EnchScrollCnt=2; } else { EnchScrollId=729; EnchScrollCnt=1; } item = player.getInventory().addItem("Quest",EnchScrollId , EnchScrollCnt, player, player.getTarget()); smsg = new SystemMessage(SystemMessageId.EARNED_S2_S1_S); smsg.addItemName(item); smsg.addNumber(EnchScrollCnt); player.sendPacket(smsg); } if (AccessoryChance>=Rnd.get(1,1000) && rewardAcc.length>0) { item = player.getInventory().addItem("Quest", rewardAcc[Rnd.get(0,rewardAcc.length)], 1, player, player.getTarget()); smsg = new SystemMessage(SystemMessageId.EARNED_S1); smsg.addItemName(item); player.sendPacket(smsg); } player.sendPacket(new ItemList(player, false)); } else { player.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS); return; } }
-
import ru.catssoftware.L2DatabaseFactory; для питона localhost указал импорт находится этот класс в стандартной люцере именно там
-
На быструю руку настругал скрипт, но не проверял. Доводите до ума сами <?php if(sizeof($_POST) > 0) { $conn = mysql_connect("localhost", "root", "root"); $char_name = $_POST['account']; if (!$conn) { echo "<span style='color: red'>Неудачное подключение к серверу базы данных: ".mysql_error()."</span>"; } else if (!mysql_select_db("l2jdb")) { echo "<span style='color: red'>Неудачное подключение к базе l2jdb: ".mysql_error()."</span>"; } else if(!preg_match("/^([a-zA-Z0-9]{3,16})$/", $char_name)) { echo "<span style='color: red'>Не правильный ник персонажа</span>"; } else { $sql = sprintf("SELECT * FROM `characters` WHERE char_name = %s", $char_name); $result = mysql_query($sql); if (!mysql_num_rows($result) == 0) { echo "<span style='color: red'>Персонаж не найден</span>"; } else { mysql_free_result($result); echo('<form action="https://unitpay.ru/pay/678-uji920" method="post" name="submf"> <input type="hidden" name="account" value="'.$_POST['account'].'"> <input type="hidden" name="sum" value="'.$_POST['sum'].'"> <input type="hidden" name="desc" value="Покупка внутриигровой валюты"> </form> <script>document.getElementsByTagName(\'form\')[0].submit();</script>'); } } } ?> <form action="" method="post"> <label for="account">Ник персонажа</label> <input type="text" id="account" name="account" value=""><br> <label for="sum">Количество монет</label> <select id="sum" name="sum"> <option value="30">1 монета</option> <option value="60">2 монеты</option> <option value="90">3 монеты</option> <option value="150">5 монет</option> <option value="300">10 монет</option> </select><br> <input type="hidden" name="desc" value="Покупка внутриигровой валюты"> <input class="btn" type="submit" value="Оплатить"> </form>
-
HTML код не умеет выполнять запросы, тем более проверять существования чара) Пишите обработчик формы, от туда проверку на существование чара (php) и если чар существует редиректим на оплату
-
То что он продаёт далеко не аукцион, а что-то наподобии толговой площадки
-
Деньги тоже вернут я думаю, ибо это глупо подставлять покупателя, он то от куда знаешь взломали человека или нет)
-
До сих порт тишина с его стороны) Клиентов кинул, а хотя мог бы зайти да сказать что стряслось...
-
Были моменты что его за копейки отдавали и кому-то подфортило купить)
-
А поменял lineage48.ru на свой домен?
-
http://idivpered.ru/...ernet-magazina/ полезная статейка Выдержка от туда:
- 4 ответа
-
- 1
-
-
Ну разработчик лучше знает последняя ли это сборка)
-
Там устанавливать то нечего)
-
http://www.youtube.com/channel/UCzE7HcbvyEiS5ea1rVRbPLQ канал на youtube где учат программированию для андроида и показывают как тестировать свои приложения
-
А ты прочти последнее сообщение ТСа судя по которому он не обратил внимание на него
-
Из птс только адвекты, на l2-dev не бери ни в коем случае
-
А по-моему было бы круто, столько лошадок на массу автомобиля - бомба))
-
Ну да, сунуть туда какой-нибудь 1jz-ge))
-
"Осталось монитор прифигачить" (с) Круто сделал, но лучше бы взял за основу не классику)
-
Смысл есть только в том случае если ты ЧЁТКО знаешь для чего это надо, все плюсы и минусы перехода и стоит ли это усилий. Ну и конечно же самому уметь реализовывать поддержку.
-
Если посмеяться, то посмотри Теорию большого взрыва. А так, то что я смотрел и мне понравилось: Доктор хаус Декстер Тайны смолвиля Ходячие мертвецы Отбросы
-
Смысл был вообще тратить 1к рублей в то время, когда она только выходила, если эти м*аки её на халяву отдают)
-
Очень полезная программка как минимум для администрации сервера, что бы быть всегда на связи - по поводу защиты, есть варианты и отключения для определённых аккаунтов + привязка по разным параметрам)