Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2010, 16:41
Новичок на форуме
Отправить личное сообщение для Batya Посмотреть профиль Найти все сообщения от Batya
 
Регистрация: 11.09.2010
Сообщений: 2

скрипт в мозила работает а в опере нет
Ребята помогите пожалуйста разобраться я понимаю чуть мож в этом туповат но все-таки риск того стоит
вот тело:
// ==UserScript==
// @include http://www.bloodyworld.com/index.php?file=menu
// ==/UserScript==
// (c) Sergey Gorbunov aka maxwell, 2007
var doc = document.wrappedJSObject ? document.wrappedJSObject : document;
var vtop = top;
if (vtop.wrappedJSObject) vtop = vtop.wrappedJSObject;
top.document.getElementsByTagName('frame')[0].scrolling = 'vertical';
//top.document.getElementsByTagName('frameset')[0].rows = "180,*,30";

doc.hit = hit;
doc.GenerateP = GenerateP;

function MRandom(min,max)
{
var rnd = Math.floor(Math.random()*5);
if (rnd > max) { rnd = 9 - rnd; }
if (rnd < min) { rnd = min + rnd; }
return rnd;
}


var t; // timer
//var RATE = MRandom(1,5); // secs for hit
var points = ['righthend','lefthend','head','lags','body'];
var p2 = ['head','lags','body'];

// 0 - 2 удара
// 1 - 1 удар
// 2 - два блока
// 3 - три блока
function GenerateP(mode)
{
var quer="";
var b = [];
switch(mode)
{
case "0":
quer="&fire[]="+points[MRandom(0,4)]+"&fire[]="+points[MRandom(0,4)];
break;
case "1":
quer="&fire="+points[MRandom(0,4)];
break;
case "2":
do
{
b[0] = points[MRandom(0,4)];
b[1] = points[MRandom(0,4)];
}
while (b[0] == b[1])

quer="&shit%5B%5D="+b[0]+"&shit%5B%5D="+b[1];
break;
case "3":
do
{
b[0] = MRandom(0,4);
b[1] = MRandom(0,4);
b[2] = MRandom(0,4);
}
while ((b[0] == b[1]) || (b[2] == b[0]) || (b[2] == b[1]))

b[0] = points[b[0]];
b[1] = points[b[1]];
b[2] = points[b[2]];
quer="&shit%5B%5D="+b[0]+"&shit%5B%5D="+b[1]+"&shit%5B%5D="+b[2];
//quer="&shit%5B%5D=righthend&shit%5B%5D=lefthend&sh it%5B%5D="+p2[MRandom(0,2)];
break;
}

return quer;
}

// 0 - 2 удара
// 1 - 1 удар
// 2 - два блока
// 3 - три блока

function hit()
{

var mod = document.getElementById('maxwell_hit_type').value;
//mod = "1-3"; // debug
switch (mod)
{
case "1-2":
var shield = "2";
var weapon = "1";
break;
case "1-3":
var shield = "3";
var weapon = "1";
break;
case "2-2":
var shield = "2";
var weapon = "0";
break;
}

var main = top.document.getElementsByTagName('frame')[1];
if (main.contentDocument.getElementsByTagName("input" ).length)
{
var cd = main.contentDocument.getElementsByTagName("input")[2].value;

if (main.contentDocument.getElementById('IdHelthP'))
{
var cur_hp = main.contentDocument.getElementById('IdHelthP').in nerHTML;
if (cur_hp < 150) { clearTimeout(t); return false; }
//GM_log('Current hp: '+cur_hp+' \n max hp: '+1);
}
else
{
GM_log('hp_false');
return false;
}
}
else
{
return false;
}
var data = 'file=battle&weapon_arrow=&cd='+cd+'&MagicweaponID =&slotMagic=&weapon_magic=&login_magic='+GenerateP (shield)+'&go.x=25&go.y=9'+GenerateP(weapon);
//GM_log(data);

GM_xmlhttpRequest({
method: 'POST',
url: 'http://www.bloodyworld.com/index.php?file=battle',
data: data,
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded',
'Accept': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',

},
onload: function(responseDetails) {
main.src = 'http://www.bloodyworld.com/index.php?file=battle';
}
});
}

function startHit()
{
hit();
var seccs = (2+MRandom(1,5)) * 1000;
GM_log(seccs);
t = setTimeout( function(){ return function(){ startHit(); } }(), seccs);
}

function stopHit()
{
clearTimeout(t);
}


var btn = document.createElement('button');
btn.setAttribute('id','maxwell_start_hit');
btn.setAttribute('style','position: absolute; top:30px; right:80px; background: #f1f1f1; width:60px; z-index: 100; border: 1px #000000 solid; color: maroon;');
btn.addEventListener('click', startHit, false);
btn.innerHTML = "start";
document.body.appendChild(btn);

var btn = document.createElement('button');
btn.setAttribute('id','maxwell_stop_hit');
btn.setAttribute('style','position: absolute; top:30px; right:20px; background: #f1f1f1; width:60px; z-index: 100; border: 1px #000000 solid; color: maroon;');
btn.addEventListener('click', stopHit, false);
btn.innerHTML = "stop";
document.body.appendChild(btn);

var btn = document.createElement('div');
btn.setAttribute('id','maxwell_hit_type_div');
btn.setAttribute('style','position: absolute; top:50px; right:20px; z-index: 100;');
btn.innerHTML = "<select id='maxwell_hit_type' style='background: #f1f1f1; border: 1px #000000 solid;'><option value='1-2'>1 удар 2 блока</option><option value='1-3'>1 удар 3 блока</option><option value='2-2'>2 удара 2 блока</option></select>";
document.body.appendChild(btn);


Заранее очень признателен!
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2010, 17:01
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

И как именно он не работает?
Сообщение об ошибке в студию!
Ответить с цитированием
  #3 (permalink)  
Старый 11.09.2010, 17:12
Новичок на форуме
Отправить личное сообщение для Batya Посмотреть профиль Найти все сообщения от Batya
 
Регистрация: 11.09.2010
Сообщений: 2

Воттак вот он работает
грубо говоря при нажатии на старт он в зависимости от выбранного режима включается и собственно начинает работать. генерируя удары
в мозиле все ок работает а в опере без действует хотя и отображается
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2010, 17:27
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Быть может, дело в GM_xmlhttpRequest(…)
В Опере нет такой функции (если только она не эмулируется).

И, кстати, уверен, 95% ползователей этого форума не станут не то, что устанавливать Ваш скрипт. А, вот, лог сообщений об ошибках намного более информативен.
O → Страница → Средства разработки → Консоль ошибок
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2010, 17:39
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

Он и не будет работать в опере - скрипт 100% изначально заточен по мозиллу и Greasemonkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт работает только в IE, а в остальных браузерах нет. melodicman Firefox/Mozilla 0 23.06.2010 14:18
Скрипт работает только в опере:( Angel_33_3 Javascript под браузер 10 21.12.2009 14:58
скрипт multibox для joomla - не работает в опере lamanzh Opera, Safari и др. 17 26.06.2009 11:35
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 14:50
Не работает скрипт в Опере stosen Элементы интерфейса 34 03.11.2008 19:38