argo7777777
Utente
Sarà una guida un po' particolare, ma mi sono imbattuto in questa funzionalità stamattina e non posso non condividerla.
Questo è solo un esempio di quello che è possibile fare e penso che sarà particolarmente utile.
Ma partiamo dall'ovvio, mandare risorse sui vari livelli delle meraviglie deve essere fatto in modo bilanciato. Questo risulta facile da pc in quanto ci sono vari tools (approvati) che permettono di bilanciare le materie in modo automatico. Da app è un incubo bilanciare le materie, nonché selezionarle...quanto sarebbe comodo avere lo stesso script per l'app?
La parte di codice the permette di bilanciare le materie è la seguente (presa da FLASK-TOOL) e semplificata
Dobbiamo quindi trovare il modo di aggiungere questo codice all'App ed il gioco è fatto.
E qua ci viene in aiuto una vecchissima funzione ma dimenticata dal tempo: la barra rapida
Cliccando sul pulsante modifica è possibile cambiare i punti del menù
Nota: La barra rapida è visibile solo con amministratore attivo
Dato che sono massimo 6 punti, selezioniamo uno che non viene utilizzato, io ho scelto il tempio
Cambiamo quindi il nome per esempio a "Meraviglie" e nella parte link, invece di mettere il link che apre una finestra, metteremo il codice che ci serve per avere il commercio a percentuale. Ovviamente il codice è stato compresso qua ed è diventato il seguente:
Nota: Il codice compresso è esattamente lo stesso di quello non compresso ma occupa meno spazio e può essere eseguito in un linea singola
Nota: Al codice va aggiunto "javascript:" davanti, nel codice indicato sopra è già stato aggiunto
Clicchiamo infine su salva registrazione per salvare.
Possiamo ora notare che la barra rapida al posto del punto "Tempio" ha il punto "Meraviglie". Quando cliccheremo il sottopunto verrà eseguito il codice che abbiamo aggiunto. Per provare basta andare sul commercio delle meraviglie e si potrà notare che le materie saranno bilanciate automaticamente:
Alcuni punti finali:
- la funzionalità è stata approvata su numerosi script quindi è legale utilizzarla
- sarà necessario cliccare sul punto "Meraviglie" ogni volta che si entra nel gioco dall'app dato che il codice non parte in automatico
Fatemi sapere cosa ne pensate
Questo è solo un esempio di quello che è possibile fare e penso che sarà particolarmente utile.
Ma partiamo dall'ovvio, mandare risorse sui vari livelli delle meraviglie deve essere fatto in modo bilanciato. Questo risulta facile da pc in quanto ci sono vari tools (approvati) che permettono di bilanciare le materie in modo automatico. Da app è un incubo bilanciare le materie, nonché selezionarle...quanto sarebbe comodo avere lo stesso script per l'app?
La parte di codice the permette di bilanciare le materie è la seguente (presa da FLASK-TOOL) e semplificata
JavaScript:
(function() {
'use strict';
const uw = window
/* Ascoltiamo tutti gli eventi del gioco e controlliamo se di tratta della finestra delle meraviglie */
uw.$(document).ajaxComplete(function (event, xhr, options) {
const urlParams = options.url.split("?");
const queryParams = urlParams[1] ? urlParams[1].split("&") : [];
const actionParam = queryParams[1] ? queryParams[1].split("=")[1] : "";
const action = `${urlParams[0].substr(5)}/${actionParam.substr(7)}`;
/* se l'evento è associato alla finestra delle meraviglie */
if (action === "/wonders/" && uw.Game.features.end_game_type === "end_game_type_world_wonder") {
/* prendiamo la città attutale, la capacità di mercato disponibile e le risorse */
const town = uw.ITowns.getCurrentTown()
const trade = town.getAvailableTradeCapacity()
const resources = town.getCurrentResources()
const wonderWindows = uw.GPWindowMgr.getOpen(uw.GPWindowMgr.TYPE_WONDERS)
/* aggiorniamo tutte le finestre delle meraviglie con le materie bilanciare */
for (const window of wonderWindows) {
const windowID = `#gpwnd_${window.getID()} `;
for (const key in resources) {
const count = (resources[key] > trade / 3) ? trade / 3 : resources[key]
uw.$(`${windowID}#ww_trade_type_${key} [type="text"]`).select().val(count).blur()
}
}
};
});
})();
E qua ci viene in aiuto una vecchissima funzione ma dimenticata dal tempo: la barra rapida
Cliccando sul pulsante modifica è possibile cambiare i punti del menù
Nota: La barra rapida è visibile solo con amministratore attivo
Dato che sono massimo 6 punti, selezioniamo uno che non viene utilizzato, io ho scelto il tempio
Cambiamo quindi il nome per esempio a "Meraviglie" e nella parte link, invece di mettere il link che apre una finestra, metteremo il codice che ci serve per avere il commercio a percentuale. Ovviamente il codice è stato compresso qua ed è diventato il seguente:
JavaScript:
javascript:!function(){"use strict";let e=window;e.$(document).ajaxComplete(function(t,r,l){let n=l.url.split("?"),s=n[1]?n[1].split("&"):[],o=s[1]?s[1].split("=")[1]:"",a=`${n[0].substr(5)}/${o.substr(7)}`;if("/wonders/"===a&&"end_game_type_world_wonder"===e.Game.features.end_game_type){let i=e.ITowns.getCurrentTown(),p=i.getAvailableTradeCapacity(),u=i.getCurrentResources(),d=e.GPWindowMgr.getOpen(e.GPWindowMgr.TYPE_WONDERS);for(let g of d){let w=`#gpwnd_${g.getID()} `;for(let f in u){let c=u[f]>p/3?p/3:u[f];e.$(`${w}#ww_trade_type_${f} [type="text"]`).select().val(c).blur()}}}})}();
Nota: Il codice compresso è esattamente lo stesso di quello non compresso ma occupa meno spazio e può essere eseguito in un linea singola
Nota: Al codice va aggiunto "javascript:" davanti, nel codice indicato sopra è già stato aggiunto
Clicchiamo infine su salva registrazione per salvare.
Possiamo ora notare che la barra rapida al posto del punto "Tempio" ha il punto "Meraviglie". Quando cliccheremo il sottopunto verrà eseguito il codice che abbiamo aggiunto. Per provare basta andare sul commercio delle meraviglie e si potrà notare che le materie saranno bilanciate automaticamente:
Alcuni punti finali:
- la funzionalità è stata approvata su numerosi script quindi è legale utilizzarla
- sarà necessario cliccare sul punto "Meraviglie" ogni volta che si entra nel gioco dall'app dato che il codice non parte in automatico
Fatemi sapere cosa ne pensate
Ultima modifica: