1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. maestro199
  2. maestro199
    Кто-то где то как-то раз скрестил пару скриптов, начисления голда за голосование в топе, и отправку итема на почту. Я наткнулся на ошибку (при прочтении гайдов по 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;
    Автор темы: maestro199, 28 ноя 2013, ответов - 22, в разделе: PW Решённые вопросы
  3. maestro199
  4. maestro199
  5. maestro199
  6. maestro199
  7. maestro199
  8. maestro199
  9. maestro199
  10. maestro199
    Сообщение

    1.2.6 (1.3.4) Смайлики

    Значит неверно привязали их к итему
    Сообщение от: maestro199, 28 ноя 2013 в разделе: PW Клиент
  11. maestro199
  12. maestro199
  13. maestro199
  14. maestro199
  15. maestro199
  16. maestro199
  17. maestro199
  18. maestro199
  19. maestro199
    Братья и сестры, товарищи сектанты, еще один вопросик закину. Ставил тут тот топ португальский, с горем пополам. Все работает кроме 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
    Автор темы: maestro199, 26 ноя 2013, ответов - 2, в разделе: PW Решённые вопросы
  20. maestro199