Adattare mappa dinamica per Gdr-Cd5
Adattare mappa dinamica per Gdr-Cd5 postato il 09/04/2010 18:58:08 nel forum programmazione, open source e hosting
Salve di nuovo ragazzi, volevo chiedervi se sapreste indicarmi come adattare questo script che suppongo sia per un'altra versione di Gdr-Cd, per poterlo usare in GdrCd5, che sto usando per il mio gioco :)
Qui c'è il codice della pagina mappacliclick.php originale dello script:
<?session_start( );
include ("inc/parametri.inc.php");
include ("inc/controllo.php");
include ("inc/open2.php");
include ("inc/controlloesilio.php");
include ("inc/header.html.inc.php");
include ("inc/sfondochat.php");
?>
<html><head>
<link href="main.css" rel="stylesheet" type="text/css">
<style type="text/css">
.presenti {
font-family: Verdana;
font-size: 8pt;
color: #333333;
text-decoration: none;
background-image: url('parchment_bg.jpg');
}
.style1 {
text-decoration: none;
}
.style2 {
font-family: Palatino Linotype;
font-size: small;
color: #FFFFCC;
}
.style3 {
font-family: Palatino Linotype;
font-size: small;
color: #996600;
}
A:hover{
color: #FFFFCC;
}
.dogvdvhdr {
width:300;
background:#663300;
border:3px solid #FFDEAD;
font-weight:bold;
padding:10px;
}
.dogvdvbdy {
width:300;
background:#FFDEAD;
border-left:3px solid #663300;
border-right:3px solid #663300;
border-bottom:3px solid #663300;
padding:10px;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
function lista_presenti(a){$.ajax({url:"presenti_locazione.php",cache:false,type:"POST",data:"stanza_p="+a,success:function(b){$("#presenti_ajax").html(b);$("#presenti_ajax").css("display","block")}})}function hide(){$("#presenti_ajax").css("display","none")};
</script>
</head>
<body style="background-image: url(img/centrale.jpg); background-repeat: repeat; background-attachment: fixed;">
<center>
<div id="presenti_ajax" style="position:absolute;top:250px;left:200px;display:none;z-index:10000;" class="presenti"></div>
<div align="center">
<br><br><br><br><br>
<?
$ora = date('G');
if($ora>= 23 && $ora< 6)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 6 && $ora< 7)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 7 && $ora< 11)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 11 && $ora< 12)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 12 && $ora< 18)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 18 && $ora< 20)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 20 && $ora< 21)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
elseif($ora >= 21 && $ora<23)
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
else
echo '<img src="inserire link della mappa" usemap="#mappagioco" alt="" style="border-style:none">';
?>
<?$Current= 0+$_SESSION['Mappa'];?>
<map id="mappagioco" name="mappagioco">
<area shape="poly" alt="" coords="2" href=""target="_top" span title="cssbody=[dogvdvbdy] cssheader=[dogvdvhdr] header= body=<Left><p><img src=''></p>] fixedabsx=[30] fixedabsy=[70]" style="font-family:arial;font-size:12px;font-weight:bold;color:#ABABAB;cursor ointer" onmouseover="lista_presenti('116');" onmouseout="hide();" />
<area shape="default" nohref="nohref" alt="" />
</center>
<br><br>
<script src="boxover.js"></script>
</center>
</body>
</html>
Da quanto ho capito la funzione dovrebbe essere che ogni volta che si passa sopra un certo luogo delle mappa ci vengono date le informazioni su tale luogo.
Sapete aiutarmi?
Pagine → 1
09/04/2010 21:16:55
Ah ok ho capito,quindi non se ne può fare di nulla. Peccato, era uno script molto carino :(
10/04/2010 10:34:39 e modificato da dyrr il 10/04/2010 10:42:26
La chiamata asincrona serviva perchè all'onmouseover doveva essere caricato l'elenco dei pg presenti in quella locazione, elenco che può essere diverso da quando uno carica la mappa se i pg si spostano.
Volendo comunque si può fare molto di meglio.
L'ideale sarebbe avere una struttura che non ricarica l'intera pagina cosi spesso come fa il gdrcd, ma che richiami solo i frameset all'occorrenza, caricare jquery nella pagina principale che viene caricata una volta sola.
Assegnare poi una classe all'elemento su cui si vuole l'onmouseover e sempre nella pagina principale associare una funzione a quella classe.
Quando ho dato una mano per scrivere quella parte di codice mi sono dovuto adattare a scriverlo con una funzione mista di js tradizionale e di jquery, vista la struttura della pagina del gdrcd e ho deciso di usare jquery perchè chi me lo ha chiesto conosceva poco o nulla di js e ajax
10/04/2010 18:42:26
A me comunque sarebbe bastato che al passaggio del mouse, quello mi diceva il nome del luogo (nel mio caso città),la mappa di appartenenza e magari visualizzasse un'iconcina da me impostata,tutto qui :)
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
New Orleans ↗
World of the Sea Battle ↗
Raja Dunia ↗
War Thunder ↗