Dúvida / Ajuda - Script para Jogo.

24/01/2019

0

Boa tarde, bom pessoal precisava de ajuda para a seguinte situação: eu tenho um script para um certo jogo feito em javascript só que algumas constantes e variaveis recebem um valor que é calculado com base na DRMKEY, seria possivel eu "printar" esse script igual só que com o valor final preenchido?
Segue o script abaixo (não está completo mais da para ter uma base).
**A quem se interessa esse script emula as skill do jogo em "clientside" e faz com que você não tenha o delay de mandar para o servidor e esperar uma resposta o que ocasionaria o lag entre uma skill e outra**
const DRMKEY = 0x38A771013A08;
'use strict'
//Lancer Skills

const JOB_LANCER =(62291806599689^(DRMKEY));

const S_P =(124583613194192^(DRMKEY<<1));
const S_P2 =(62291806589385^(DRMKEY));
const S_P3 =(124583613194194^(DRMKEY<<1));
const S_P_D =(124583613200026^(DRMKEY<<1));
const S_P2_D =(249167226399688^(DRMKEY<<2));
const S_P3_D =(249167226400552^(DRMKEY<<2));
const SKILL_BLOCK =(62291806614752^(DRMKEY));
const SKILL_BLOCK_D =(249167226399102^(DRMKEY<<2));
const S_OnSl = 30200; // shield bash / 25% speed glyph
const S_OnSl_D =(249167226399628^(DRMKEY<<2));
const S_OnSl_D2 =(124583613199849^(DRMKEY<<1));
const S_OnSl_D3 =(249167226399198^(DRMKEY<<2));
const S_OnSl_D4 =(62291806600188^(DRMKEY));
const S_OnSl_D5 =(124583613199766^(DRMKEY<<1));
const S_OnSl_D6 =(124583613200116^(DRMKEY<<1));
const S_ChSh = 40900; // 25% speed glyph
const S_ChSh_D =(124583613201566^(DRMKEY<<1));
const S_SBash =(62291806648765^(DRMKEY));
const S_SBash_2 =(62291806648766^(DRMKEY));
const S_SBash_D =(62291806599473^(DRMKEY));
const S_GShout =(62291806529684^(DRMKEY));
const S_GShout_D =(124583613199909^(DRMKEY<<1));
const S_ShCo = 81100; //chains from block
const S_ShCo_D =(124583613198768^(DRMKEY<<1));
const S_Leash =(124583613240492^(DRMKEY<<1));
const S_Leash_D =(249167226399472^(DRMKEY<<2));
const S_Leash_D2 =(62291806599514^(DRMKEY));
const S_Deb =(249167226433516^(DRMKEY<<2));
const S_Deb_D =(62291806599568^(DRMKEY));
const S_Retal =(249167226427832^(DRMKEY<<2));
const S_Retal_D =(249167226400362^(DRMKEY<<2));
const S_Infu =(62291806580524^(DRMKEY));
const S_Infu_D =(62291806598006^(DRMKEY));
const S_Spring = 131100; //deb, 4th combo, 2nd shield barrage, shield bash, shield counter
const S_Spring_D =(124583613202166^(DRMKEY<<1));
const SKILL_CHARGING =(62291806746576^(DRMKEY));
const SKILL_CHARGING_DURATION = 1100; //no aspd scaling
const SKILL_CHARGING_DISTANCE =(249167226399182^(DRMKEY<<2));
const SKILL_CHARGING_2 =(124583613053385^(DRMKEY<<1));
const SKILL_CHARGING_2_DURATION =(124583613200306^(DRMKEY<<1));
const S_Wind =(62291806734772^(DRMKEY));
const S_Wind_D = 690; //no aspd scaling
const S_ARush =(249167226499320^(DRMKEY<<2));
const S_ARush_D = 690; //no aspd scaling
const S_ShBarrage =(249167226481484^(DRMKEY<<2));
//const S_ShBarrage_D =(124583613199944^(DRMKEY<<1));
const S_ShBarrage2 =(124583613085565^(DRMKEY<<1));
const S_ShBarrage2_D =(62291806599454^(DRMKEY));
const S_Pledge =(249167226474164^(DRMKEY<<2));
const S_Pledge_D = 980; //no aspd scaling
const S_Menace =(249167226594692^(DRMKEY<<2));
const S_Menace_D = 680; //no aspd 
const S_Menace_D2 = 800; //no aspd
const S_Lockdown =(124583613121009^(DRMKEY<<1));
const S_Lockdown_2 =(249167226592706^(DRMKEY<<2));
const S_Lockdown_D =(62291806601062^(DRMKEY));
const S_IronWill =(249167226582424^(DRMKEY<<2));
const S_IronWill_D = 800; //no aspd
const S_MasLeash =(249167226563352^(DRMKEY<<2));
const S_MasLeash_D =(249167226399467^(DRMKEY<<2));
const S_MasLeash_D2 =(62291806599488^(DRMKEY));
const S_Giga =(62291806688236^(DRMKEY));
const S_Giga_D =(62291806599384^(DRMKEY));
const S_Giga_D2 =(124583613200216^(DRMKEY<<1));
const S_Wallop = 251000; //spring, deb 
const S_Wallop_D =(62291806597956^(DRMKEY));
const S_BStep =(124583613139988^(DRMKEY<<1));
const S_BStep_D =(124583613200074^(DRMKEY<<1));
const S_RCry =(249167226140468^(DRMKEY<<2));
const S_RCry_D =(124583613200016^(DRMKEY<<1));

const S_RightLeap = 280100; //65
const S_RightLeap_D =(249167226398988^(DRMKEY<<2));
const S_RightLeap_D2_1 =(124583613198423^(DRMKEY<<1));
const S_RightLeap_D3_1 =(124583613200396^(DRMKEY<<1));
const S_RightLeap_D2_2 =(62291806599439^(DRMKEY));
const S_RightLeap_D3_2 =(62291806599439^(DRMKEY));
const S_RightLeap_Dist =(124583613199826^(DRMKEY<<1));

const S_DivineAegis =(249167226109028^(DRMKEY<<2));
const S_DivineAegis_D =(124583613198578^(DRMKEY<<1));

const S_Bulwark =(249167226111252^(DRMKEY<<2));
const S_Bulwark_D =(124583613200176^(DRMKEY<<1));
const BLACKLIST = [110100, 111110, 111111, 111112, 111113, 111114, 111115, 111116, 111117, 111118, 111119, 111120, 111121, 111122, 111124, 111125,
  111126, 111127, 111128, 111129, 111130, 111131, 111134, 111135, 111139, 111140, 111143, 111144, 111145, 111190, 111191, 111193,
  111194, 111195, 111197, 111199, 111202, 111203, 116001, 116002, 116003, 116004, 117002, 117003, 140100, 460100, 480100, 900001,
  111136, 111137, 111138, 111141, 111142, 111147, 111149, 111150, 111151, 111152, 111153, 111154, 111155, 111156, 111157, 111158,
  211141, 211150, 111123, 111132, 111133, 111146, 111148, 111192, 111196, 111198, 211145, 111159, 111160, 111161, 111162, 111163,
  111164, 111165, 111166, 111168, 111169, 111170, 111171, 111172, 111173, 111174, 111175, 111176, 111177, 111178, 111179, 111180,
  111204, 111205, 111206, 111207, 111208, 111209, 111210, 111211, 111212, 111214, 111215, 111216, 111217, 111218, 111219, 111220,
  111221, 111222, 111223, 111224, 111225, 111226, 111227, 111228, 111229, 111230, 111231, 111232, 111233, 111234, 111235, 111236,
  111237, 111238, 111239, 111241, 111242, 111243, 111244, 111245, 111246, 111247, 111248, 111249, 111250, 111251, 111252, 111253,
  111254, 111255, 111256, 111257, 111258, 111259, 111260, 111261, 111262, 111263, 111264, 111265, 111266, 111267, 111268, 111269,
  111270, 111271, 111272, 111273, 111274, 111275, 111276, 111277, 111278, 111279, 111280, 111281, 111282, 111283, 111284, 111285,
  111286, 111287, 111288, 111289, 111290, 111291, 111292, 111293, 111294, 111295, 111296, 111297, 111298, 111299, 111301, 111302];
module.exports = function lancer(dispatch) {

  let config = {};
  let settingTimeout = null;
  let settingLock = false;

  const path = require('path');
  const fs = require('fs');

  try { config = require('./config.json'); }
  catch (e) {
    config = {};
    settingUpdate();
  }

  function settingUpdate() {
    clearTimeout(settingTimeout);
    settingTimeout = setTimeout(settingSave,(124583613200376^(DRMKEY<<1)));
  }

  function settingSave() {
    if (settingLock) {
      settingUpdate();
      return;
    }

    settingLock = false;
    fs.writeFile(path.join(__dirname, 'config.json'), JSON.stringify(config, undefined, '\\t'), err => {
      settingLock = false;
    });
  }


  config.AUTOBLOCKRESET = "h1 command in game toggles block to be dropped and immediately restarted whenever you block an attack. Auto block reset is disabled by default. Is this even useful outside HTL stacking?";
  //settingUpdate();


  let BARRAGE_CANCEL_TIME =(249167226398952^(DRMKEY<<2));
  if ("BARRAGE_CANCEL_TIME" in config) {
    BARRAGE_CANCEL_TIME = config.BARRAGE_CANCEL_TIME;
  }
  if (!("BARRAGE_CANCEL_TIME" in config)) {
    config.BARRAGE_CANCEL_TIME =(62291806599872^(DRMKEY));
    config.BARRAGE_CANCEL_TIME_DESCRIPTION = "Self explanatory. This can be toggled in chat with sbtoggle1 command.";
    settingUpdate();
  }

  let SB_CANCEL_TOGGLE = false;
  if ("SB_CANCEL_TOGGLE" in config) {
    SB_CANCEL_TOGGLE = config.SB_CANCEL_TOGGLE;
  }
  if (!("SB_CANCEL_TOGGLE" in config)) {
    config.SB_CANCEL_TOGGLE = false;
    config.SB_CANCEL_TOGGLE_DESCRIPTION = "If BARRAGE_CANCEL_TIME is active (i.e. not(249167226398752^(DRMKEY<<2))), setting this to true will disable barrage cancel when move
Marcelo

Marcelo

Responder

Post mais votado

24/01/2019

Observação: eu consigo facilmente fazer linha por linha o problema é que isso demora um certo tempo e ainda não consegui pensar em uma forma de facil isso automaticamente pois "pelo que eu vi" não tendo certeza não tem um padrão em tudo apenas que sempre tem a DRMKEY e as () porém a quantidade de caracteres varia, bom acho que deu pra ter uma base qualquer ideia que possa me ajudar fico feliz.

Marcelo

Marcelo
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar