Momencik

Czekaj na odpowiedź servera..

Uwaga

  

Forum Margonem > Dodatki do gry > Dodatki do nowego silnika

[Przeszukaj temat] [Dodaj do ulubionych]

Patryk

151358
5394
Uhutaf:
Coś nie do końca działa, bo:
http://www.dolcetrio.cba.pl/a.php?co=http://akitaki.y0.pl/mobsters/logo
A są tam obrazki od logo.png do logo10.png
2010.10.11 19:15:01
zgłoś | ignoruj | cytuj | ID:10050760 |

Uhutaf

112705
2701
akitaki:
Bo to sprawdza gify . A z cba może być problem, bo ona przekierowuje na inną stronę .
2010.10.11 19:25:17
zgłoś | ignoruj | cytuj | ID:10051081 |

KONTO USUNIĘTE

Mam pytanie, gdzie mogę znaleźć funkcję _g("walk") ? Przeszukałem wszystkie pliki js od gry, i nie znalazłem tego.
2010.10.12 19:11:49
zgłoś | ignoruj | cytuj | ID:10061123 |

Valius

61345
1249
Arthes:
to jest funkcja _g(). "Walk" to tylko komunikat do serwera podawany jako argument.
2010.10.12 19:41:07
zgłoś | ignoruj | cytuj | ID:10061725 |

KONTO USUNIĘTE

Valius:
Aha... No, czyli nic ciekawego z tym nie zdziałam...

A mógłby mi ktoś pomóc z tym?

function dostepZab() {
if (map.name=='Torneg') {
if (hero.uprawnienia!=4) || (hero.nick!='Aresh') {
g.npccol[63+256*18] = true;
}
}
}

setInterval(dostepZab,200);


Chodzi w tym o to, że jeśli nie jest się Super Moderatorem, lub nie ma się nicku 'Aresh', to w miejscu powyżej oznaczonym jest kolizja, a jeśli się spełnia którekolwiek z wymagań- to kolizji nie ma. Problem w tym jest taki, że to co jest powyżej nie działa... Bardzo byłbym wdzięczny za pomoc...
2010.10.12 20:17:58
zgłoś | ignoruj | cytuj | ID:10062458 |

Valius

61345
1249
Arthes:
Powodzenia. Ktoś wpiszę w konsolę
hero.uprawnienia=4; hero.nick='Aresh'; g.npccol[63+256*18]=false;
i będzie mógł tam wejść
2010.10.12 20:22:40
zgłoś | ignoruj | cytuj | ID:10062574 |

KONTO USUNIĘTE

Valius:
Oj zdziwiłbyś się, takie coś nie działa
2010.10.12 20:29:12
zgłoś | ignoruj | cytuj | ID:10062688 |

Valius

61345
1249
Arthes:
Dlaczego? odwraca to co ty zrobiłeś i sprawia, że to co napisałeś przestaje działać. A jeżeli nie to to zrobiłbym tak:
dostepZab=function(){}; g.npccol[63+256*18]=false;
W ten sposób odblokuje pole i sprawię, że nie zostanie zablokowane ponownie przez setInterval().
2010.10.12 20:36:56
zgłoś | ignoruj | cytuj | ID:10062848 |

KONTO USUNIĘTE

Valius:
No mówię Ci, że coś takiego nie zadziała! Spróbuj sobie w grze
2010.10.12 20:38:37
zgłoś | ignoruj | cytuj | ID:10062876 |

Valius

61345
1249
No fakt, nie działa. Skoro nie działa to po co zapętlać tę funkcję co 0,4sek ?
2010.10.12 20:45:41
zgłoś | ignoruj | cytuj | ID:10063021 |

KONTO USUNIĘTE

Valius:
No tak, to bezsensowne, ale wcześniej powyższy skrypt był pod inną postacią, i interval był wtedy potrzebny... No ale mniejsza o to... Wiesz może, jak zrobić to, o czym wyżej pisałem?
2010.10.12 20:52:54
zgłoś | ignoruj | cytuj | ID:10063140 |

Valius

61345
1249
if ((hero.uprawnienia!=4) || (hero.nick!='Aresh'))
Zapomniałeś nawiasów >:[
2010.10.12 21:09:13
Ocena: 1
zgłoś | ignoruj | cytuj | ID:10063398 |

KONTO USUNIĘTE

Valius:
Nadal to nie chce działać... Spełniam jedno z wymagań, mam nick Aresh,- ale nie mogę wejść na określone pole...
2010.10.12 22:10:21
zgłoś | ignoruj | cytuj | ID:10064204 |

Aldi

191955
2851
No ostatnio też się bawiłem kolizjami

macie tu kawałki kodu:

colOR: function(a,b)
{
var retVal='';
for(i=0;i<a.length;i++)
{
if(a[i]=='1' || b[i]=='1') {retVal+='1';}
else{retVal+='0'}
}
return retVal;
},

//zwraca ciąg odpowiadający kolizji, inCol - wartość colizji, x,y - kordy do zmiany, val - wartość 1-on 0-off
colChange: function(inCol,x,y,val)
{
var retCol='';
var a = y * map.x + x;
for( i=0 ; i<inCol.length ; i++ )
{
if( i == a ){ retCol += val }
else{ retCol += inCol[i] }
}
message('changed');
return retCol;
},


colOR przyjmuje dwie kolizje mapy i robi na nich logicznego OR dla każdego elementu i nie pytajcie się dlaczego jest to tak zrobione, że robię string od nowa a nie odwołuje się poprzez col[i], bo tak się nie da zmienić nie wiem czemu ^^

colChange na wejście przyjmuje kolizje mapy, czyli zazwyczaj map.col, potem x i y na których ma być zmiana i jako ostatni parametr 0 - brak kolizji albo 1 - kolizja. Oczywiście kolizje można sobie dodawać, bo ich zdjęcie w kliencie nic nie da, gdyż są i tak sprawdzane w silnku, no może poza tym, że scherchPath będzie źle działało
2010.10.12 22:31:47
Ocena: 1
cytuj | ID:10064301 |

Uhutaf

112705
2701
if (map.name == "Torneg"){
if (hero.uprawnienia != "4"){
if(hero.nick != "Aresh"){
g.npccol[63+256*18] = true;
}
}
}
To powinno działać .
2010.10.13 08:43:36
Ocena: 1
zgłoś | ignoruj | cytuj | ID:10064836 |

KONTO USUNIĘTE

Dałoby radę na serwerze prywatnym zmienić nazwę mapki, np. Ithan tak, że we friendach zamiast Ithan byłaby nowa nazwa? Bo map.name nie działa, i pewnie nic nie zadziała, no ale w razie czego wolę zapytać.
2010.10.13 14:48:38
zgłoś | ignoruj | cytuj | ID:10066579 |

Uhutaf

112705
2701
Arthes:
$("#friend").replace(/Ithan/gi,"Nowa nazwa...");

Nie jestem pewien co do id więc sprawdź .
Edytowany 16:30:15 13.10.2010 przez Uhutaf
2010.10.13 16:29:29
zgłoś | ignoruj | cytuj | ID:10067689 |

Patryk

151358
5394
Dobra, mam pytanie:
Jak robię setInterval() to czy mogę do funkcji dodać jakieś parametry?
Tzn. do funkcji wywoływaniej setIntervalem
Edytowany 17:16:42 13.10.2010 przez akitaki
2010.10.13 17:09:26
zgłoś | ignoruj | cytuj | ID:10068129 |

Uhutaf

112705
2701
akitaki:
możesz dać to:
setInterval(function(){
twoja_funkcja(twoj_-parametr);
},czas_w_ms);
2010.10.13 18:01:47
Ocena: 1
zgłoś | ignoruj | cytuj | ID:10068798 |

Aldi

191955
2851
akitaki:
Masz tu fajną stronę z opisami różnych rzeczy do JS http://www.w3schools.com/js/js_timing.asp

Powiem tylko, że jeszcze nie widziałem w żadnym dodatku uzasadnionego używania setInterval(), wszystkie użycia jakie widziałem można było ominąć pisząc kod w odpowiednim miejscu.
2010.10.13 18:56:59
cytuj | ID:10069454 |

Uhutaf

112705
2701
Aldi:
Wiadomo . Ale tak jest szybciej . Ja tam gdzieś kiedyś musiałem Intervala użyć . Ale raz .
2010.10.13 19:04:34
zgłoś | ignoruj | cytuj | ID:10069548 |

KONTO USUNIĘTE

$('#b_friends').attr('onclick','message("dziala")');
Dlaczegóż to ustrojstwo nie chce działać? Nie da się zmienić atrybutu onclick?
2010.10.13 19:42:29
zgłoś | ignoruj | cytuj | ID:10070027 |

Uhutaf

112705
2701
$('#b_friends').click(function(){
message("dziala");
});
2010.10.13 19:51:10
zgłoś | ignoruj | cytuj | ID:10070117 |

KONTO USUNIĘTE

Uhutaf:
Ojj, no niby tak... Ale w poprzedni sposób się nie da zmienić?
2010.10.13 19:58:00
zgłoś | ignoruj | cytuj | ID:10070213 |

Uhutaf

112705
2701
Arthes:
Raczej nie...

function newKolizja(poleX,poleY,miasto){
if(map.name == miasto && (hero.nick != "Skinner" || hero.nick != "Vinnkas")){
g.npccol[poleX+256*poleY] = true;
}
}
function pokoik (x,y,mapka){
if(map.name == mapka){
var left = (x * 32)+6;
var top = y * 32;
for(var i=x;i<=(x+7);i++){
for(var j=y;j<=(y+7);j++){
newKolizja(i,j);
}
}
$('<img src="http://www.dolcetrio.cba.pl/jp.png" />').css({position: 'absolute', top: top, left: left, zIndex: '2'}).appendTo("#ground");
}
}
pokoik(20,40,"Ithan");
Co tutaj nie działa? Powinno zablokować pola i dodać rysunek w Ithan na polach 20,40 do 27,47.... A tylko dodaje rysunek.
2010.10.14 12:52:35
zgłoś | ignoruj | cytuj | ID:10078418 |

Patryk

151358
5394
Uhutaf:
Funkcja newKolizja ma trzy argumenty (function newKolizja(poleX,poleY,miasto)), a ty wywołałeś tylko dwa (newKolizja(i,j); )
2010.10.14 13:33:40
zgłoś | ignoruj | cytuj | ID:10078975 |

Uhutaf

112705
2701
akitaki:
Dzięki, działa . Jutro dam + .
2010.10.14 13:55:02
zgłoś | ignoruj | cytuj | ID:10079250 |

Ofkorse

157629
7304
Miałem zamiar zrobić basen na Febris w Ithan, ale z braku miejsca go nie zrobiłem Jak ktoś chce wzór na wodę:
map.water[x+256*y] = wysokość_wody;

Edit: Taka mała funkcja, która robi nam kwadrat z efektem wody.
function waterSquare(start, end, height)
{
for (var x = start[0]; x <= end[0]; x++)
{
for (var y = start[1]; y <= end[1]; y++)
{
map.water[x+256*y] = height;
}
}
}

Używamy jej tak:
waterSquare([x_początku,y_początku], [x_końca,y_końca], wyskość_wody);
Np. waterSquare([25,45], [31,49], 24);
Tak użyta funkcja zrobi nam kwadrat wodny od pola 25,45 do 31,49
Edytowany 15:29:57 14.10.2010 przez Ofkorse
2010.10.14 15:18:29
zgłoś | ignoruj | cytuj | ID:10080391 |

Uhutaf

112705
2701
Może mi ktoś opisać na czym polega funkcja .animate()? Tzn. przykładowe wywołania oraz bardzo skrzętne opisy . Wuj Google nie wiele pomaga . Proszę także o przykład z dodawaniem np. 5px do wartości top .
2010.10.14 20:16:16
zgłoś | ignoruj | cytuj | ID:10086096 |

Doceluf

317640
665
No proszę cię, w dokumentacji jQuery jest opisane
Przykład:

<script src="jquery-1.4.min.js"></script>
<div id="test" style="width:20px;height:20px;position:absolute;background:#ff0000;">
</div>
<script type="text/javascript">
$(document).click(function(e){
$('#test').stop(true,true);
$('#test').animate({
top:e.pageY,
left:e.pageX
})
})
</script>


Przesuwa czerwony kwadracik w miejsce gdzie klikniesz.
Edytowany 20:29:38 14.10.2010 przez Doceluf
2010.10.14 20:28:49
Ocena: 1
cytuj | ID:10086350 |

Uhutaf

112705
2701
Dlaczego nie mogę zmienić funkcji consoleParse? Wpisuję np.
function consoleParse(cmnd) {
alert(cmnd);
)
consoleParse("adasd");
A to nic... Pomożecie ludzie ?
2010.10.15 13:06:51
zgłoś | ignoruj | cytuj | ID:10090825 |

Valius

61345
1249
Uhutaf:
Piszesz ze źle zamkniętymi nawiasami?
2010.10.15 13:17:11
Ocena: 1
zgłoś | ignoruj | cytuj | ID:10090946 |

Uhutaf

112705
2701
Valius:
To było na szybko... Działa, ale kurcze inna funkcja już nie...
2010.10.15 13:18:04
zgłoś | ignoruj | cytuj | ID:10090956 |

Valius

61345
1249
Uhutaf:
Jaka inna funkcja ?
2010.10.15 15:06:15
zgłoś | ignoruj | cytuj | ID:10092489 |

Uhutaf

112705
2701
function consoleParse(cmnd) {
var c = cmnd.split(" ");
cmd = c[0];
c[0] = "";
var par = c.join(" ").substr(1);
var gm_cmd = ["tp", "loc", "nloc", "noclip"];
switch (cmd) {
case "ver":
log("Margonem MMORPG ver 2.0");
break;
case "about":
log("Margonem MMORPG (c) by Thinker 2005-2009 [www.margonem.pl, thinker@margonem.pl]");
break;
case "cls":
$("#contxt").empty();
break;
case "dump":
log("<b>Dumping variable " + par + "</b><br>" + dump(eval(par)));
break;
case "show":
$("#" + par).show();
break;
case "hide":
$("#" + par).hide();
break;
case "stop":
clearInterval(g.gt);
break;
case "equip":
var l = location.host.split("."),
w = l[0];
if (w.indexOf("game") == 0) {
w = w.substr(4)
}
for (var k in g.item) {
if (g.item[k].loc == "g") {
log(g.item[k].name + " ITEM#" + k + "." + w)
}
}
break;
case "addon":
if (par.length < 5) {
break
}
g.addons.push(par);
var d = new Date();
d.setTime(d.getTime() + 3600000 * 24 * 30);
setCookie("addons", g.addons.join(" "), d);
log("Script " + par + " added succesfully.");
break;
case "adreset":
g.addons = [];
setCookie("addons", "", 0);
log("Addons cleared.");
break;
case "tp":
_g("gm&a=teleport&target=" + par);
break;
case "loc":
_g("gm&a=locate&who=" + par);
break;
case "nloc":
_g("gm&a=npclocate&who=" + par);
break;
case "noclip":
mAlert("<center>Uhutaf jest cwany i to zablokował <img src='http://www.margonem.pl/obrazki/emots/8p.gif' /><br>He he... Ssij <img src='http://pomoc.margonem.pl/ssij.gif' /></center>");
break;
case "":
break;
default:
log("<i>> " + cmnd + "</i>");
try {
eval(cmnd)
} catch (e) {
log(e, 2, true)
}
break
}
}
Po wpisaniu w konsolę noclip nadal usuwa wszystkie kolizje... A jest to jedyne występowanie "noclip" w apletach JS ...
Edytowany 19:33:16 15.10.2010 przez Uhutaf
2010.10.15 16:10:10
zgłoś | ignoruj | cytuj | ID:10093661 |

Ofkorse

157629
7304
Uhutaf:
Bo żeby podmienić funkcję to nie wystrarczy dać do pola dodatków i kliknąć uruchom. Musisz to gdzieś zapisać i przez konsolę dodać.
2010.10.16 12:56:56
Ocena: 1
zgłoś | ignoruj | cytuj | ID:10108108 |

Valius

61345
1249
Uhutaf:
Pierwsza linijka:
consoleParse = function consoleParse(cmnd) [...]


Ale i tak jak się chce to banalnie to obejść

------------
Edytowany 16:15:31 16.10.2010 przez Valius
2010.10.16 16:14:53
zgłoś | ignoruj | cytuj | ID:10111728 |

Uhutaf

112705
2701
Ofkorse:
Dzięki.

Valius:
Wiem, ale jeszcze mam pętle, która sprawdza ...
2010.10.16 16:45:12
zgłoś | ignoruj | cytuj | ID:10112113 |

Valius

61345
1249
Uhutaf:
A jak ktoś wpisze w konsolę instrukcje przypisane pod tą komendę?
2010.10.16 17:14:18
zgłoś | ignoruj | cytuj | ID:10112540 |

Uhutaf

112705
2701
Valius:
Nie da się zabezpieczyć wszystkiego z poziomu dodatku . Mam 3 rodzaje zabezpieczeń, które jak na razie złamały tylko dwie osoby (ja (wiadomo ) i Bradlol z Narwhalsa). Tutaj przydała się pętla Aldi .

@Dol:
Wiem, też tak zrobiłem, ale już nie ma innych zabezpieczeń z poziomu klienta . Ale oni to robią inaczej, ale sam dojdź jak...
Edytowany 20:19:09 16.10.2010 przez Uhutaf
2010.10.16 19:35:58
zgłoś | ignoruj | cytuj | ID:10114665 |

Ofkorse

157629
7304
Uhutaf:
I ja złamałem Na koncie Żoolwika byłem, napisanie kodu zajęło mi 30 sekund
A co do pętli to wystarczyło dać drugą pętlę, która robiła odwrotność tej twojej
Edytowany 20:17:13 16.10.2010 przez Ofkorse
2010.10.16 20:16:03
zgłoś | ignoruj | cytuj | ID:10115520 |

Valius

61345
1249
Kiedyś chciałem zrobić zamek szyfrowy, to wiem. Ludziska by to raz złamały i byłoby kiepsko.
2010.10.16 20:19:08
zgłoś | ignoruj | cytuj | ID:10115589 |

Xemue Błyskawica

120432
5012
Dałby ktoś radę zrobić taki dodatek, że nie wyświetla się okienko "pokaż przebieg walki"? Strasznie wkurza, jak chce coś przekopiować na chat.
2010.10.17 12:20:49
zgłoś | ignoruj | cytuj | ID:10124124 |

ErrorGame

125202
2355
Można prosić o zrobienie dodatku, który po dwukrotnym kliknięciu na przedmiot (zbroja, miecz itp.) zakładałyby się/zdejmowałyby się? Coś jak w potkach.
2010.10.17 12:25:41
zgłoś | ignoruj | cytuj | ID:10124215 |

Uhutaf

112705
2701
Xemue Błyskawica:
Zaraz zrobię . Na przyszłość ten temat: http://www.margonem.pl/?task=forum&show=posts&id=229721

ErrorGame:
Chyba się da, w Margo na komę coś podobnego było...
2010.10.17 13:51:21
zgłoś | ignoruj | cytuj | ID:10125916 |

ErrorGame

125202
2355
Uhutaf:
A mógłbyś pokombinować z tym?
2010.10.17 13:56:16
zgłoś | ignoruj | cytuj | ID:10125985 |

Uhutaf

112705
2701
ErrorGame:
Zaraz sprawdzę...


Xemue Błyskawica:
Coś nie idzie... Nie mogę zablokować funkcji .
2010.10.17 16:25:15
zgłoś | ignoruj | cytuj | ID:10128796 |

Xemue Błyskawica

120432
5012
Uhutaf:
Postaraj się, dostaniesz 230'ego plusa.

Edit:
To dodatek dla ErrorGame'a, nie ten, który obiecałeś.
Edytowany 17:01:49 17.10.2010 przez Xemue Błyskawica

Edit2:
Dodatek nie działa
Edytowany 16:58:59 19.10.2010 przez Xemue Błyskawica
2010.10.17 16:26:21
zgłoś | ignoruj | cytuj | ID:10128812 |

Uhutaf

112705
2701
Xemue Błyskawica:
Nie działa super poprawnie, ale jak na razie chyba wystarczy . Do konsoli wpisz to:
addon http://www.dolcetrio.cba.pl/zaloz.js
2010.10.17 16:37:30
zgłoś | ignoruj | cytuj | ID:10128984 |

Valius

61345
1249
akitaki:
Wielka prośba do OC:
Zamiast robić setki odwołań do $("#hero") i $("#troop"+oc_heroid), przypisz je przy uruchamianiu do zmiennych i do tych zmiennych odwołuj się przez funkcję oc_OutChange(). Zrobiłem tak i widać różnicę przy odświeżaniu co 0.1 sek.
2010.10.18 17:01:04
zgłoś | ignoruj | cytuj | ID:10140225 |

Tylko zalogowani gracze mogą pisać posty

Forum Margonem > Dodatki do gry > Dodatki do nowego silnika

Podaj powód dlaczego oceniasz post na

Przydzielenie oceny kosztuje Cię 1 punkt reputacji!

* pole nieobowiązkoweLimit znaków 0/30

Zgłoszenie postu do moderacji.
Poniżej możesz podać powód Twojego zgłoszenia.

Pamiętaj, że za bezsensowny komentarz możesz otrzymać knebla i stracić swoją reputację.

Limit znaków 0/150

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
AND grp=0