public Node lit_list() { //Console.WriteLine("lit_list"); //Node lit_list = new Lit_list_(); Node lit = new Lit_list_(); if (CurrentToken == TokenCategory.FALSE) { lit = new False_(); var r = Expect(TokenCategory.FALSE); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.TRUE) { lit = new True_(); var r = Expect(TokenCategory.TRUE); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.CHARACTER) //y si le ponemos que espera un valor { lit = new Character_(); var r = Expect(TokenCategory.CHARACTER); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.INTEGER) { lit = new Integer_(); var r = Expect(TokenCategory.INTEGER); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.BINARYINT) { lit = new Integer_(); var r = Expect(TokenCategory.BINARYINT); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.OCTALINT) { lit = new Integer_(); var r = Expect(TokenCategory.OCTALINT); lit.AnchorToken = r; } else if (CurrentToken == TokenCategory.HEXAINT) { lit = new Integer_(); var r = Expect(TokenCategory.HEXAINT); lit.AnchorToken = r; } else { throw new SyntaxError(firstOfSimpleExpression, tokenStream.Current);//hay que arreglar estos diccionarios al final } //lit_list.Add(lit); while (CurrentToken == TokenCategory.COMA) { Expect(TokenCategory.COMA); lit.Add(lit_list()); } return(lit); }
public static void Start() { ExecuteSavedQueries(); PulseTimer.Elapsed += new ElapsedEventHandler(Pulse); Character = new Character_(); Mastery = new Mastery_(); Item = new Item_(); Skill = new Skill_(); User = new User_(); if (PulseFlag) PulseTimer.Start(); Pulse(null, null); }
public string Visit(Character_ node, int modo) { string s = node.AnchorToken.lexeme; int n = 0; string str = s; //Console.WriteLine(s); //Console.WriteLine("'\\\"'"); if (s == "'\\n'") { n = 10; } else if (s == "'\\r'") { n = 13; } else if (s == "'\\t'") { n = 9; } else if (s == "'\\'") { n = 92; } else if (s == "'\\''") { n = 10; } else if (s == "'\\\"'") { n = 34; } else if (s.Length == 10) { //Console.WriteLine(str+ "aqui"); s = str.Substring(3, 6); //str = s.Substring(1,9); //Console.WriteLine(s+ " aqui"); n = int.Parse(s, System.Globalization.NumberStyles.HexNumber);; } else { n = GetUnicodeCodePoints(s); //Console.WriteLine(n+" aqui"); } VisitChildren(node, modo); Console.WriteLine(n); //Console.WriteLine(node.AnchorToken.row); return(n + ""); }
public static void Start() { ExecuteSavedQueries(); PulseTimer.Elapsed += new ElapsedEventHandler(Pulse); Character = new Character_(); Mastery = new Mastery_(); Item = new Item_(); Skill = new Skill_(); User = new User_(); if (PulseFlag) { PulseTimer.Start(); } Pulse(null, null); }
public Node lit_simple() { //Console.WriteLine("lit_simple"); Node True = null; Token r; switch (CurrentToken) { case TokenCategory.TRUE: True = new True_(); r = Expect(TokenCategory.TRUE); True.AnchorToken = r; return(True); case TokenCategory.FALSE: True = new False_(); r = Expect(TokenCategory.FALSE); True.AnchorToken = r; return(True); case TokenCategory.INTEGER: True = new Integer_(); r = Expect(TokenCategory.INTEGER); True.AnchorToken = r; return(True); case TokenCategory.CHARACTER: True = new Character_(); r = Expect(TokenCategory.CHARACTER); True.AnchorToken = r; return(True); default: throw new SyntaxError(TokenCategory.CHARACTER, tokenStream.Current); } }
public static void Spawn_Char(Packet packet, uint model) { Character_ character = new Character_(); byte trade = 0; byte stall = 0; packet.ReadBYTE(); // Volume/Height packet.ReadBYTE(); // Rank packet.ReadBYTE(); // Icons packet.ReadBYTE(); // Unknown packet.ReadBYTE(); // Max Slots byte items_count = packet.ReadBYTE(); character.Items = new List <Item_>(items_count); for (byte i = 0; i < items_count; i++) { uint itemid = packet.ReadDWORD(); ItemData item = BotData.SROItems[Globals.ModelToStr(itemid)]; string type = item.PK2Name; if (type.StartsWith("ITEM_CH") || type.StartsWith("ITEM_EU") || type.StartsWith("ITEM_FORT") || type.StartsWith("ITEM_ROC_CH") || type.StartsWith("ITEM_ROC_EU")) { byte plus = packet.ReadBYTE(); // Item Plus character.Items.Add(new Item_ { ID = itemid, Plus = plus }); } if (type.Contains("_TRADE_TRADER_") || type.Contains("_TRADE_HUNTER_") || type.Contains("_TRADE_THIEF_")) { trade = 1; } } packet.ReadBYTE(); // Max Avatars Slot byte avatar_count = packet.ReadBYTE(); for (byte i = 0; i < avatar_count; i++) { packet.ReadDWORD(); // Avatar ID packet.ReadBYTE(); // Avatar Plus } int mask = packet.ReadBYTE(); if (mask == 1) { uint id = packet.ReadDWORD(); string type = BotData.SROMobs[Globals.ModelToStr(id)].PK2Name; if (type.StartsWith("CHAR")) { packet.ReadBYTE(); byte count = packet.ReadBYTE(); for (int i = 0; i < count; i++) { packet.ReadDWORD(); } } } uint UniqueID = packet.ReadDWORD(); character.objID = UniqueID; byte xsec = packet.ReadBYTE(); byte ysec = packet.ReadBYTE(); float xcoord = packet.ReadSINGLE(); packet.ReadSINGLE(); float ycoord = packet.ReadSINGLE(); packet.ReadWORD(); // Position byte move = packet.ReadBYTE(); // Moving packet.ReadBYTE(); // Running if (move == 1) { xsec = packet.ReadBYTE(); ysec = packet.ReadBYTE(); if (ysec == 0x80) { xcoord = packet.ReadDWORD(); packet.ReadDWORD(); ycoord = packet.ReadDWORD(); } else { xcoord = packet.ReadWORD(); packet.ReadWORD(); ycoord = packet.ReadWORD(); } } else { packet.ReadBYTE(); // No Destination packet.ReadWORD(); // Angle } packet.ReadBYTE(); // Alive packet.ReadBYTE(); // Unknown packet.ReadBYTE(); // Unknown packet.ReadBYTE(); // Unknown packet.ReadSINGLE(); // Walking speed packet.ReadSINGLE(); // Running speed packet.ReadSINGLE(); // Berserk speed byte active_buffs = packet.ReadBYTE(); // Buffs count for (int a = 0; a < active_buffs; a++) { uint skillid = packet.ReadDWORD(); string type1 = ""; try { type1 = BotData.SROSkills[Globals.ModelToStr(skillid)].PK2Name; } catch { } packet.ReadDWORD(); // Temp ID if (type1.StartsWith("SKILL_EU_CLERIC_RECOVERYA_GROUP") || type1.StartsWith("SKILL_EU_BARD_BATTLAA_GUARD") || type1.StartsWith("SKILL_EU_BARD_DANCEA") || type1.StartsWith("SKILL_EU_BARD_SPEEDUPA_HITRATE")) { packet.ReadBYTE(); } } string name = packet.ReadSTRING("ascii"); character.Name = name; if (trade == 1) { packet.ReadQWORD(); packet.ReadSTRING("ascii"); } else { packet.ReadBYTE(); // Unknown byte cnt = packet.ReadBYTE(); if (cnt == 1) { packet.ReadDWORD(); // Unknown } packet.ReadBYTE(); // Job type packet.ReadBYTE(); // Job level stall = packet.ReadBYTE(); // Stall flag character.Guild = packet.ReadSTRING("ascii"); // Guild packet.ReadDWORD(); // Guild ID character.GrantName = packet.ReadSTRING("ascii"); // Grant Name packet.ReadDWORD(); packet.ReadDWORD(); packet.ReadDWORD(); packet.ReadWORD(); if (stall == 4) { packet.ReadSTRING("ascii"); // Stall Name packet.ReadDWORD(); // Unknown } } packet.ReadWORD(); // 00 and PK Flag (0xFF) Globals.AroundChars.Add(character.objID, character); // Globals.UpdateLogs(string.Format("Char:{0} Spawned", character.Name)); }
public Node expr_primary() { //Console.WriteLine("expr_primary"); if (CurrentToken == TokenCategory.IDENTIFIER) { //Console.WriteLine("expr_primary1"); var id = new Id_(); var r = Expect(TokenCategory.IDENTIFIER); id.AnchorToken = r; if (CurrentToken == TokenCategory.OPENP) { //Console.WriteLine("expr_primary2"); Expect(TokenCategory.OPENP); if (CurrentToken != TokenCategory.CLOSEP) /////////////////////////////MODIFICADO/////////////////////////// { id.Add(expr_list()); } Expect(TokenCategory.CLOSEP); //Console.WriteLine("semi9"); //Expect(TokenCategory.SEMICOLON); } return(id); } else if (CurrentToken == TokenCategory.FALSE) { //Console.WriteLine("expr_primary3"); var False = new False_(); var r = Expect(TokenCategory.FALSE); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.TRUE) { //Console.WriteLine("expr_primary4"); var False = new True_(); var r = Expect(TokenCategory.TRUE); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.CHARACTER) { //Console.WriteLine("expr_primary5"); var False = new Character_(); var r = Expect(TokenCategory.CHARACTER); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.INTEGER) { //Console.WriteLine("expr_primary6"); var False = new Integer_(); var r = Expect(TokenCategory.INTEGER); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.BINARYINT) { //Console.WriteLine("expr_primary7"); var False = new Integer_(); var r = Expect(TokenCategory.BINARYINT); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.OCTALINT) { //Console.WriteLine("expr_primary8"); var False = new Integer_(); var r = Expect(TokenCategory.OCTALINT); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.HEXAINT) { //Console.WriteLine("expr_primary9"); var False = new Integer_(); var r = Expect(TokenCategory.HEXAINT); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.STRING) { //Console.WriteLine("expr_primary10"); var False = new String_(); var r = Expect(TokenCategory.STRING); False.AnchorToken = r; return(False); } else if (CurrentToken == TokenCategory.OPENP) { //Console.WriteLine("expr_primary11"); var openp = new Openp_(); var r = Expect(TokenCategory.OPENP); openp.AnchorToken = r; //Console.WriteLine("CURRRRRRRREEEEENT" + CurrentToken); if (CurrentToken != TokenCategory.CLOSEP) { openp.Add(expr()); } Expect(TokenCategory.CLOSEP); return(openp); } else if (CurrentToken == TokenCategory.OPENB) { //Console.WriteLine("expr_primary12"); var r = array_list(); return(r); } else if (CurrentToken == TokenCategory.EXCLAMATION) { //Console.WriteLine("expr_primary13"); var exclamation = new Exclamation_(); var r = Expect(TokenCategory.EXCLAMATION); exclamation.AnchorToken = r; if (CurrentToken == TokenCategory.IDENTIFIER) { var id = new Id_(); var m = Expect(TokenCategory.IDENTIFIER); id.AnchorToken = m; exclamation.Add(id); } return(exclamation); } else { throw new SyntaxError(firstOfSimpleExpression, tokenStream.Current); } }
public string Visit(Character_ node, int modo) { string s = node.AnchorToken.lexeme; int n = 0; string str = s; // Console.WriteLine(s); // Console.WriteLine("'\\\"'"); if (s == "'\\n'") { n = 10; } else if (s == "'\\r'") { n = 13; } else if (s == "'\\t'") { n = 9; } else if (s == "'\\'") { n = 92; } else if (s == "'\\''") { n = 10; } else if (s == "'\\\"'") { n = 34; } else if (s.Length == 10) { // Console.WriteLine(str+ "aqui"); s = str.Substring(3, 6); //str = s.Substring(1,9); // Console.WriteLine(s+ " aqui"); n = int.Parse(s, System.Globalization.NumberStyles.HexNumber);; } else { n = GetUnicodeCodePoints(s); // Console.WriteLine(n+" aqui"); } // Console.WriteLine(node.AnchorToken.row); if (modo != 7) { return("\t\tldc.i8 " + n.ToString() + "\n"); } else { try{ return(n.ToString() + " " + Visit((dynamic)node[0], 7)); } catch (System.ArgumentOutOfRangeException e) { return(n.ToString()); } return(n.ToString()); } }