Salve,
Ho creato un Launcher in VB, (molto semplice) e vorrei che il mio gioco si avvii solamente con quello.
Vorrei che mi aiutaste a fare un JS che mi permetta di avviarlo solo con quell'applicazione da me creata.
(Nel concreto)
Vorrei che all'avvio di Game.exe (mio gioco) il JS facesse una cosa del genere
checkLauncher();
load intro
load menu intro
load music etc}
function checkLauncher (){if (launcher != blalauncher.exe) {alert(apri il gioco tramite il launcher); shutdown()} else {return=true}}
Quindi in sostanza prima dell'avvio di tutto lui faccia il controllo che se non è aperto con il launcher mandi un messaggio con scritto, Apri il gioco tramite launcher, e chiude il gioco quando si preme l'ok, altrimenti prosegue con l'avvio.
E' fattibile?
Sì ma prima ti devo dare delle informazioni:
Se vuoi creare un gioco online quanto segue non funziona.
Se vuoi creare un gioco offline allora segui questa prassi:
Nella cartella plugins del tuo progetto inserisci il file
MsgBox.js è una libreria che ti potrà essere utile sempre
in questo caso per fare visualizzare un popup di allerta.
che ti comunica che tutto è ok oppure no.
Dentro MsgBox.js scrivi queste istruzioni:
//=============================================================================
// MsgBox.js
//=============================================================================
function MsgBox() {
throw new Error('This is a static class');
}
MsgBox.msgBox = function(message, title) {
if (typeof nw !== 'undefined') {
var gui = require('nw.gui');
var win = gui.Window.get();
win.setAlwaysOnTop(true);
gui.Window.open('index.html', {
frame: false,
width: 500,
height: 150,
position: 'center',
resizable: false,
show: false
}, function(new_win) {
var document = new_win.window.document;
document.title = title || 'Message';
document.getElementById('message').innerHTML = message;
document.getElementById('ok').addEventListener('click', function() {
new_win.close();
win.setAlwaysOnTop(false);
});
new_win.show();
});
} else {
console.log(title || 'Message', message);
}
};
Può essere evocata così:
MsgBox.msgBox('Il gioco è stato avviato correttamente!', 'Avviso');
Ora crea launcher.js e inserisci queste altre istruzioni:
function checkLauncher() {
var nomeLauncher = "launcher.exe"; // Inserisci qui il nome del launcher
var lineaComandoCompleta = process.argv.join(" ");
if (lineaComandoCompleta.indexOf(nomeLauncher) === -1) {
alert("Apri il gioco tramite launcher!");
window.close();
}
};
checkLauncher();
// Continua con l'avvio del gioco
Per farlo partire inserisci questa sintassi in index.html:
<script type="text/javascript" src="js/launcher.js"></script>
Eccoti accontentato.