Что за бред? Вы связали воедино 3 несвязные вещи. 79-й данж, луну, и остров на корабле. Корабль - is19 - Остров пиратов (Проход в 79) 79-й данж - is15 - Лоулан (79) Луна - is27 - Долина Священной Луны
Кто-то где то как-то раз скрестил пару скриптов, начисления голда за голосование в топе, и отправку итема на почту. Я наткнулся на ошибку (при прочтении гайдов по php я предположил что где то в коде косяк по типу незакрытой функции) ошибка парса с указанием номера строки "Последняя строка+1". [IMG] К сожалению от коддинга я далек, возможно кому-то будет не лень посмотреть код и высказать гениальную идею (можно лично). Спасибо. <?php ////////////////////////////////////////////////////////////////////////////////////////// $DBHost = "localhost"; // localhost or your IP // $DBUser = "лог"; // Database user // $DBPassword = "пасс"; // Database password // $DBName = "база"; // Database name // $voice = "1"; // Сколько будет давать шт. за Обычный голос // $smsvoice = "2"; // Сколько будет давать шт. СМС голос $itemid = "ИД"; // Ид предмета, который будет приходить на почту игроку. $maxcount = "10000"; //Максимальное кол-во предмета в инвентаре $octets = "0"; // Октет вещи/предмета. Внимание!!!Если в предмете нету октета, то ставим значение 0 $proctype = "0"; // proctype вещи. Внимание!!!Если в предмете нету proctype, то ставим значение 0 $date = "0"; //Срок предмета.То есть время сколько он будет существовать в игре.Если хотите без лимита, то ставим значение 0 $mask = "0"; // Вид итема. Узнать какой вид вашего итема можно через посмотреть в айвебе xml. $money = "0"; // Кол-во денег которое будет отправлено вместе с итемом. ////////////////////////////////////////////////////////////////////////////////////// // адресс к файлу лога на mmotope $fcontent=file("Лог ммотопа"); function dbconnect () { global $DBHost,$DBUser,$DBPassword,$DBName; ///////Start Open MySQL-connection/////////////////// $openConndb = mysql_connect( $DBHost, $DBUser, $DBPassword ); $dbSelected = mysql_select_db( $DBName, $openConndb ); setlocale(LC_ALL, 'ru_RU.utf-8'); mysql_query("SET character_set_results='utf8'"); mysql_query("SET NAMES 'utf8'"); /////////End Open MySQL-connection///////////////////// return $openConndb; } $content = @file_get_contents($linkstat); $massive=explode("\n", $content); for($j=0;$j<sizeof($fcontent);$j++) { $temp=explode("\t",$fcontent[$j]); $vote_id = (int)trim($temp[0]); $vote_time = trim($temp[1]); $vote_time = explode(" ",$vote_time); $temp1 = explode(".",$vote_time[0]); $vote_time = $temp1[2]."-".$temp1[1]."-".$temp1[0]." ".$vote_time[1]; $vote_ip = trim($temp[2]); $vote_char_name = strtolower(trim($temp[3])); $vote_count = (int)trim($temp[4]); if(strlen($vote_char_name) <= 0) continue; $loginquery = MySQL_Query("select `name` from `users` WHERE `name`='$vote_char_name'", dbconnect()); $login = mysql_num_rows($loginquery) ? mysql_result($loginquery, 0,'name') : ''; if($login == $vote_char_name) { $query = "SELECT vote_id FROM mmotop WHERE vote_id = ".$vote_id; $result = mysql_query($query, dbconnect()); $row=mysql_fetch_row($result); if($row[0]) continue; $mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$vote_char_name'", dbconnect()); $User_ID=MySQL_result($mysqlresult,0,'ID'); $query = "INSERT INTO mmotop (vote_id,vote_time,vote_ip,vote_char_name,vote_count) VALUES ('".$vote_id."','".$vote_time."','".$vote_ip."','".mysql_escape_string($vote_char_name)."','".$vote_count."')"; $result = mysql_query($query, dbconnect()); function CUINT($Data) { if($Data < 64) return StrRev(PACK("C", $Data)); else if($Data < 16384) return StrRev(PACK("S", ($Data | 0x8000))); else if($Data < 536870912) return StrRev(PACK("I", ($Data | 0xC0000000))); return StrRev(PACK("c", -32) . PACK("I", $Data)); } function SysSendMail($Receiver, $Title, $Message, $ItemID, $Count, $Count_Max, $Octets, $Proctype, $Expire_date, $Guid1, $Guid2, $Mask, $Money) { $tID = "\x00\x00\x01\x58"; $SysID = "\x00\x00\x00\x20"; $SysType = "\x03"; $Receiver = PACK("N*", $Receiver); $Title = iCONV("UTF-8", "UTF-16LE", $Title); $TitleLengh = StrLen($Title); if($TitleLengh < 128) { $TitleLengh = PACK("C*", $TitleLengh); } else { $TitleLengh = PACK("n*", $TitleLengh + 32768); } $Message = iconv("UTF-8", "UTF-16LE", $Message); $MessageLengh = strlen($Message); if($MessageLengh < 128) { $MessageLengh = PACK("C*", $MessageLengh); } else { $MessageLengh = PACK("n*", $MessageLengh + 32768); } $ItemID = PACK("N*", $ItemID); $Pos = "\x00\x00\x00\x00"; $Count = PACK("N*", $Count); $Count_Max = PACK("N*", $Count_Max); $Octets = PACK("H*", $Octets); $OctetsLenght = PACK("n*", strlen($Octets) + 32768); $Proctype = PACK("N*", $Proctype); $Expire_date = PACK("N*", $Expire_date); $Guid1 = PACK("N*", $Guid1); $Guid2 = PACK("N*", $Guid2); $Mask = PACK("N*", $Mask); $Money = PACK("N*", $Money); $Packet = $tID.$SysID.$SysType.$Receiver.$TitleLengh.$Title.$MessageLengh.$Message.$ItemID.$Pos.$Count.$Count_Max.$OctetsLenght.$Octets.$Proctype.$Expire_date.$Guid1.$Guid2.$Mask.$Money; $PacketLenght = strlen($Packet); if($PacketLenght < 128) { $PacketLenght = PACK("C*", $PacketLenght); } else { $PacketLenght = PACK("n*",$PacketLenght + 32768); } $Packet = "\x90\x76".$PacketLenght.$Packet; $Socket = SOCKET_CREATE(AF_INET, SOCK_STREAM, SOL_TCP); if(!$Socket) { die(SOCKET_STRERROR(SOCKET_LAST_ERROR())); } if(SOCKET_CONNECT($Socket,'127.0.0.1',29100)) { SOCKET_SET_BLOCK($Socket); if (false !== ($sBytes = SOCKET_SEND($Socket,$Packet,8192,0))) { } else { $ERR = 1; } if (false !== ($rBytes = SOCKET_RECV($Socket,$BUF,8192,0))) { } else { $ERR = 2; } SOCKET_SET_NONBLOCK($Socket); SOCKET_CLOSE($Socket); } else { $ERR = 3; } return $ERR; } if($vote_count == 1) SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$voice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money"); if($vote_count == 2) SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$smsvoice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money"); echo <<<HTML <style> input[type='text'],select,textarea { outline-style:none; } form { margin:20; } a { text-decoration:none; } a:hover { color:rgba(159,182,205,1.0); } </style> <form method='post'> </form> HTML;
ааа я поняла... видимо я косякнула с названием, а где там делается на время они или нет? Выдача на время либо квестом в таске либо в шопе параметром.
Воу, никогда бы не подумал. Спасибо, глянем.
Разделитель целой и дробной части в Региональных стандартах смени с , на . И будет пахать !(Is_HP_Less[0,10]) Прости, дружище, а можно по-проще сказать? [0,10] Тут что ли?
!(Is_HP_Less[0,10]) - данный параметр крашится через делюкс. Через редактор сахарка, просматривая координатор с данным условием оно отображается как минимум странно: Условие: не равно Под условие: не равно 1 Да и после сохранения в сахарке флаг меняется с 1,0,0, на 1,1,0 Отсюда и вопрос, есть ли рабочий параметр который можно прописать в делюксе и он не будет бить айполиси, так, чтобы смысл не изменился - отправка сообщения при респауне?
Как минимум писать в чат Да пока больше и не нужно :) ! - это противоположное условие. Вот это полезно, спасибо. В таком случае условие !(IsDead[]) будет означать "Если моб жив"?
Скорее всего - если HP(жизнь) моба менее 10. Хм.. Или 0,10=10% хп. Логично с одной стороны, но нелогично с другой. У мобов чьи параметры я переделывал (они так же остались рабочими) 9999999 хп, и этот параметр имеет характеристики 0,90. Но сообщение так же отсылается при респауне моба. Моб невидимый, и через таб после его призыва в таргет взять не получается. Возможно он имеет агр сам на себя, тем самым уменьшая свое хп, после чего и отсылается данное сообщение. Вывод я делаю из того, что сообщение отсылается с задержкой после вызова триггера около 5-6 секунд. Хотя, возможно мой вывод и не верен.
В текстовой привязке и определении параметров где кавычки можно любое название использовать.
Значит неверно привязали их к итему
Все верно, айполиси бьется после этой функции.. Расшифруйте пожалуйста обе функции, я так понимаю !(IsDead[]) "После смерти моба", а !(Is_HP_Less[0,10]) - что а зверь? И возможно ли добавить ее через редактор сахарка? --- добавлено: 28 ноя 2013 в 04:28 --- PS Оповещения в принципе уже сделал, путем изменения старых ивентовых надписях в мобах, но все равно хотелось бы дойти до конечного понимания того, что делаешь, чтобы ии далее оставалась возможность создания своих условий.
Если тебе нужно чтобы моб сказал фразу при появлении на свет то Condition должен быть такой !(Is_HP_Less[0,10]) Условие в скобках любое. Это условие срабатывает только 1 раз когда моб рождается. Флаги 1, 0, 0 Я вас верно понял, что в поле Кондишн выставляю параметр !(Is_HP_Less[0,10]) вместо своего и меняю флаг?
Такой Увы и ах, это был первый вариант который я пробовал - безрезультатно. Есть мысль по какой причине?
Полностью стер условия до начала экспорта и заменил нотпадом бинды на значения в самом коде. Видимо, изначально скрипт писали под php но кто-то руконогий сделал из него это. Разбираться в причине неполадки не стал, просто сделал то, что описал в первом предложении.
Поставь таймер и к нему привяжи Так? [IMG]
И добрался я до изучения потаенных углов этого дерьма любимого aipolicy.data. В чем собственно вопрос: поставил со своей осадой в триггер моба, респается в ГМ зоне, наковырякал ему параметр в айполиси для того, чтобы при респауне он ругался в системный чат. Делал по аналогии с дефолтными условиями, но функция не заработала. Косяк в условии? Носом ткнете? [img]
В соседней теме она как раз и скачала этот полу русский айполиси, ведь все такие жадные, не хотят нормальные за 300 руб покупать:d Вполне путный айполиси, одно сообщение убрать только нужно про весну там что-то, ивент пингвинячий.
То есть второй файл это и есть результат отработки команды?
Братья и сестры, товарищи сектанты, еще один вопросик закину. Ставил тут тот топ португальский, с горем пополам. Все работает кроме 1 функции - захват убийств/смертей. К скрипте на экспорт из логов в базу к килам идет кусок: echo "============================= Exportando Kills ==============================" cd /home/logs/ grep -e ':type=2:' world2.formatlog > /top/kills.wargamesdev chmod 777 /top/kills.wargamesdev sed -i 's/ /,/g' /top/kills.wargamesdev sed -i 's/=/,/g' /top/kills.wargamesdev sed -i 's/:/,/g' /top/kills.wargamesdev sed -i 's/,,,/,/g' /top/kills.wargamesdev sed -i 's/,,/,/g' /top/kills.wargamesdev И вроде инфы то вытаскивается, файл kills.wargamesdev создается, и набил информацией, но весь экшн в том что их создается 2, они не имеют отличий, кроме одного - у второго размер "0 кб" и через ФТП-клиент его не удалить, фтпшка настаивает что в данной директории этого файла нет, хоть она его и отображает, удалить можно только через путти. Экспорт в базу идет почему то именно из пустого, а не из первого, как вывод - данные о смертях и килах не заносятся. В чем суть? Предположил что весь экшн в неизвестной мне ныне комманде sed За что она отвечает? PS на счет орфографии не трольте, спать хочу, руля не вижу :D
$S http://screenshot.ru/screens/26.11.13/01:16:33_63b3f8a4.png Спасибо, дядя! :)
Имена участников (разделяйте запятой).