Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Scripta za "Semafor"

[es] :: Javascript i AJAX :: Scripta za "Semafor"

[ Pregleda: 2101 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan041
Milan Grbic
Novi Sad

Član broj: 139838
Poruke: 8
*.dynamic.sbb.co.yu.



Profil

icon Scripta za "Semafor"25.03.2007. u 03:12 - pre 208 meseci
Pozzz svima,posto ja pisem prvi put na forumu moracu da Vam se izvinem ukoliko je ovakva tema vec napisana(molim Vas da stavite link ako je napisana)!!!

Naime evo u cemu je moj problem:

Dakle ovako,ja sam vlasnik jedne strateske (ratnicke) on-line igre(necu je reklamirati jer mislim da nije fer-"plati pa se klati") treba mi objasnjenje kako da napravim "semafor" za nju. Sada se sigurno pitate kakvo je ovo pitanje,pa ja bih jednostavno zeleo da mi na vrhu stranice (u pitanju je php stranica) bude "semafor" koji ce pokazivati rezultat nekog napada npr. Drzava Exit je osvojila 155 teritorija dzave diabllo,da se to rotira dok se ne odradi novi napad(ovo bi verovatno moralo da se poveze sa nekom scriptom iz moje igre odakle bi "semafor" dobiao "informacije")!Mnogi mi kazu da je to dinamicki flash,ako ima neko predstavu o cemu govorim (nemojte lupati odgovore-MOLIM VAS!!!) molim Vas da mi pomogne!!!U slucaju da nekome treba vise informacija ili nije shvatio o cemu govorim slobodno neka pita,ali molim Vas jos jednom nemojte pisati odgovore samo da bi ispali pametni!!!

Unapred HVALA!!!!









[Ovu poruku je menjao Milan041 dana 25.03.2007. u 04:24 GMT+1]
www.kraljevina.com/kraljevi ONLINE STRATEGIJA!!!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Scripta za "Semafor"27.03.2007. u 18:44 - pre 207 meseci
mozda ovako neshto moze da ti pomogne (ako sam dobro razumeo sta ti treba):


semafor.js:
Code:


var semafor_interval = 5;  // na koliko sekundi ce se apdejtovati poruka

var semafor_msgid = -1;

var semafor_div = null;
var semafor_xhr = null;

onDOMLoaded(function()
{
    semafor_div = document.getElementById('semafor');

    try 
    { 
        semafor_xhr = new ActiveXObject('Msxml2.XMLHTTP'); 
    }
    catch (a)
    {
        try 
        { 
            semafor_xhr = new ActiveXObject('Microsoft.XMLHTTP'); 
        }
        catch (b)
        {
            try 
            { 
                semafor_xhr = new XMLHttpRequest(); 
            }
            catch (c)
            {
                alert('Browser ne podrzava AJAX!');
                return;
            }
        }
    }
    
    if (semafor_div != null)
    {
        semafor_refresh();
        
        setInterval('semafor_refresh()', semafor_interval * 1000);
    }
});

var semafor_refresh = function()
{
    semafor_xhr.open('POST', 'semafor.php');
    semafor_xhr.onreadystatechange = semafor_onreceive;
    semafor_xhr.send('msgid=' + semafor_msgid);
};

var semafor_onreceive = function()
{
    if ((semafor_xhr.readyState == 4) && (semafor_xhr.status == 200))
    {
        var response = semafor_xhr.responseText;
        
        if (response.substr(response.length - 3, 2) == '|!')
        {
            var data = response.split('|');
        
            if (data[0] == '1')
            {
                semafor_msgid = data[1];
                semafor_div.innerHTML = data[2];
            }
        }
    }
};


a ovako bi ti izgledao semafor.php:
Code:

<?PHP

    if (isset($_POST['msgid']))
    {
        $msgid = $_POST['msgid'];
        $last = getLastMessage();
        
        if ($last[0] > $msgid)
        {
            echo '1|' . $last[0] . '|' . $last[1] . '|!';
        }
        else
        {
            echo '0|!';
        }
    }

    function getLastMessage()
    {
        // ovde bi trebao da se konektujes na bazu i procitas poslednji dogadjaj
        // id poruke sacuvaj u $message_id, a poruku u $message promenljivu
        // ...

        return Array($message_id, $message);
    }
?>


i samo dodaj ovo u <head>:
Code:

    <script type="text/javascript" src="handler.js"></script>
    <script type="text/javascript" src="semafor.js"></script>

(handler.js je za onDOMLoaded funkciju)

i naravno, dodaj semafor tamo gde ti treba na stranici:
Code:

<div id="semafor"></div>


i ovo ti je potrebni handler.js:
Code:

var nullFunction = function(){return 0;};

var addHandler = function(object, event, handler)
{
    var prevHandler = nullFunction;

    if (typeof(object[event]) == 'function')
    {
        prevHandler = object[event];
    }

    object[event] = function()
    {
        prevHandler();

        try
        {
            handler(object);
        }
        catch (e){}
    };
};

var onDOMLoaded = function(eventHandler)
{
    addHandler(window, 'onload', eventHandler);
};



ja ovo nisam testirao (nesto me zeza apache na lokalu, moracu da ga reinstaliram cim nadjem malo vremena) ali bi trebalo da radi bez problema. message id koji se pominje treba da bude index iz tabele u kojoj ti se nalaze poruke (naravno index treba da bude unique i veci za svaku noviju poruku, tj treba polje da ima auto_increment atribut)...
 
Odgovor na temu

Milan041
Milan Grbic
Novi Sad

Član broj: 139838
Poruke: 8
*.dynamic.sbb.co.yu.



Profil

icon Re: Scripta za "Semafor"28.03.2007. u 00:50 - pre 207 meseci
Ivini nisam bio par dana tu,probacu,hvala!!!
www.kraljevina.com/kraljevi ONLINE STRATEGIJA!!!
 
Odgovor na temu

Milan041
Milan Grbic
Novi Sad

Član broj: 139838
Poruke: 8
*.dynamic.sbb.co.yu.



Profil

icon Re: Scripta za "Semafor"09.04.2007. u 18:39 - pre 207 meseci
Opet nisam bio tu,ali sam se snasao za semafor,mada ne po tvojim instrukcijama!Naime trebao mi je .fla,.swf i jedna mali kod

Code:
$fh = fopen("vijesti.txt", "w+");
$sati=gmdate("h")+2;
$minuta=date("i");
$staupisati = "&poslednja=$sati:$minuta Drzava $users[empire] je okupirala $landloss teritorije drzave $enemy[empire]!";
fwrite($fh, $staupisati);
fclose($fh);

www.kraljevina.com/kraljevi ONLINE STRATEGIJA!!!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Scripta za "Semafor"11.04.2007. u 01:59 - pre 207 meseci
pa pitanje si postavio u js forumu, dao sam ti js (ajax) resenje :D

ma bitno je da si ti resio problem...
 
Odgovor na temu

[es] :: Javascript i AJAX :: Scripta za "Semafor"

[ Pregleda: 2101 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.