Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/12/2016 in all areas

  1. 2 points
    Tales of Pirates Services Hello friends! I have extensive experience in working with the server and client of our game - Tales of Pirates, also am engaged in programming in C/C++. I provide the following services: Setting up the server; Fixing bugs and holes; Adding functionality to the .exe files (patching / hexing); Writing scripts of varying complexity; Writing programs for the server and the client (launchers, autoupdaters, administration, etc.); Server protection against SQL-injections, WPE/RPE and other vulnerabilities; Writing PHP-scripts. Examples of work: 1) Server protection against WPE/RPE, SQL Injections and packets with wrong size; 2) Monster and 20 level skills bug fix; 3) Party search on the sea bug fix; 4) Modified GameServer.exe, to which was added the function to work with local chat, transformation of characters, functions for editing and getting character's GM level, expanded limits for .bin-tables, etc; 5) Modified GroupServer.exe with chat logging and Lua handling system: world, trade, party, guild, dialog channels; 6) Transferring GMNotice(string message) function from 2.x version of the game to 1.3x. This feature allows you to send messages to GM chat from Lua scripts; 7) Various programs to work with the client and the server: GM Command editor, Account creator tool (RU), Rate changer tool (RU), .PK viewer (RU), EncDecTool, IP Changer, GM Panel (RU), String to code tool (RU); 8) Next - see this topic. Payment methods: PayPal. Contacts: Skype: vector.nesterov; Discord: V3ct0r#0484; Private message on the forum. Thank you for your attention!
  2. 1 point
    I'm sure many of us are glad to hear this. I'm not sure if there exists such a facility in my region. I may have to outsource.
  3. 1 point
    You should be able to find that out by checking their company records. In the UK, you are able to do so by visiting "companies house", a service ran by the government. Paying a few pounds you're able to access company information regarding their profits, trademarks, patents etc. If you wish to open a server however and are worried, don't be, in no way, shape or form are you selling the source code or make money off it that would solely impact IGG or Moliyo.
  4. 1 point
    Thank you, very well explained. I will be on the look out for any decisions made by IGG on renewing their trademark (if there will be any such info).
  5. 1 point
    They may have abandoned the game however legally, IGG, still holds full legal responsibility and ownership of Tales of Pirates I and II until the company disbands. Although I'm not researched in what company laws apply to IGG (as I'm not sure in what country they're registered in) however a trademark does not expire for 10 years from its creation. This means that ToP being initially released in 2007 (According to Wiki), the trademark will expire next year. However, if IGG decide to renew it before the expiration date, they will still hold all rights to taking legal action against any and all private servers out there. This is, if, IGG has enough time and nerves to shut down a server that would probably be more beneficial to actually get it shut down. Taking legal action requires time and loads of money, therefore, the odd server that hasn't got nowhere near as much income as an official private server wouldn't be worth it. A more realistic scenario would be that IGG are simply happy that the game lives on, even after their corporate decision of moving onto mobile gaming. Hope it helps.
  6. 1 point
    well, if you want to read the documentation: https://www.lua.org/ if not then better to try to work with the files and ask questions that come up to narrow the explaining scope =)
  7. 1 point
    Hello @Tera! Try delete all .mp3 files from client\music folder
  8. 1 point
    Hello @Home! To remove it you could try something like : 1: remove the popup password from your client, //-- find void CDoublePwdMgr::ShowDoublePwdForm() { //-- close all forms CloseAllForm(); //-- sent the store open packet ( empty ) CS_StoreOpenAsk(""); //-- remove useless code under CS_StoreOpenAsk } 2: bypass the requested packet from your client at your gameserver //-- find case CMD_CM_STORE_OPEN_ASK: { const char *szPwd = READ_STRING(pk); //-- ... more code here ... //-- lookup for the password condition: if((szPwd2[0] == 0) || (!strcmp(szPwd, szPwd2))) //-- and remove it if(true) if were looking for a binary patch, I could try it later =)
  9. 1 point
    easy, cuz they wants pk and they have money and no have time...
  10. 1 point
    I'll try, but my English is not very. the file contains Attrcalculate growth classes --The growth characteristics of class Newbie --1.The increase in hp from lvl.2 Increase hp from Con 3.The increase in hp from lvl Mxhp_con_rad1[JOB_TYPE_XINSHOU], Mxhp_con_rad2[JOB_TYPE_XINSHOU], Mxhp_lv_rad[JOB_TYPE_XINSHOU] = 3 , 2 , 15 --1. Gain mana from spirit 2. gain mana from spirit. 3 The increase in mana from LVL Mxsp_sta_rad1[JOB_TYPE_XINSHOU], Mxsp_sta_rad2[JOB_TYPE_XINSHOU], Mxsp_lv_rad[JOB_TYPE_XINSHOU] = 1 , 0 , 3 --1. Increase min attack from str 2.Increase min attack from page 3 min Growth. attack from looksthe. 4. Increase min attack from dexterity Mnatk_str_rad1[JOB_TYPE_XINSHOU], Mnatk_str_rad2[JOB_TYPE_XINSHOU], Mnatk_dex_rad1[JOB_TYPE_XINSHOU], Mnatk_dex_rad2[JOB_TYPE_XINSHOU] = 1.5 , 0.4 , 0 , 0 --1. Increase max attack from str 2.Increase max attack from page 3 Increase max attack from dexterity. 4. Increase max attack from dexterity Mxatk_str_rad1[JOB_TYPE_XINSHOU], Mxatk_str_rad2[JOB_TYPE_XINSHOU], Mxatk_dex_rad1[JOB_TYPE_XINSHOU], Mxatk_dex_rad2[JOB_TYPE_XINSHOU] = 1.5 , 0.4 , 0 , 0 --1.From Def con 2. Def from con Def_con_rad1[JOB_TYPE_XINSHOU], Def_con_rad2[JOB_TYPE_XINSHOU] = 0.1 , 0.1 --1.The hit rate from ACC 2. The hit rate from ACC Hit_dex_rad1[JOB_TYPE_XINSHOU], Hit_dex_rad2[JOB_TYPE_XINSHOU] = 0.6 , 0 --1.Dodge from AGI 2. Dodge from AGI Flee_agi_rad1[JOB_TYPE_XINSHOU], Flee_agi_rad2[JOB_TYPE_XINSHOU] = 0.6 , 0 --1. Drop from the stat "luck" --Mf_luk_rad[JOB_TYPE_XINSHOU] = 0.39 --1. Crete from the stat "luck" --Crt_luk_rad[JOB_TYPE_XINSHOU] = 0.31 --1. hp from max hp regeneration 2. Regen hp from con Hrec_bsmxhp_rad[JOB_TYPE_XINSHOU], Hrec_con_rad[JOB_TYPE_XINSHOU] = 1/200 , 1/8 --1. Regeneration Sp max SP 2. SP regeneration from con Srec_bsmxsp_rad[JOB_TYPE_XINSHOU], Srec_sta_rad[JOB_TYPE_XINSHOU] = 1/100 , 1/12 --1. ASPD from AGI Aspd_agi_rad[JOB_TYPE_XINSHOU] = 1.1 --Unknown Str_updata[JOB_TYPE_XINSHOU] = 0.2 Dex_updata[JOB_TYPE_XINSHOU] = 0.1 Con_updata[JOB_TYPE_XINSHOU] = 0.6 Agi_updata[JOB_TYPE_XINSHOU] = 0.1 Sta_updata[JOB_TYPE_XINSHOU] = 0.1 Luk_updata[JOB_TYPE_XINSHOU] = 0.1 And skilleffcet find the function of the skill and change the value that it returns, adding new conditions, etc. --Ray function Skill_Bkcj_End ( ATKER , DEFER , sklv ) local sta_atk= Sta ( ATKER ) local sta_def = Sta ( DEFER ) local AddStateLv = 0 AddStateLv = GetChaStateLv ( ATKER , STATE_MLCH ) local dmg = math.floor( 200 + sklv*25 +sta_atk*4.3 ) local map_name_DEFER = GetChaMapName ( DEFER ) local agi_atker = Agi(ATKER) local Can_Pk_Garner2 = Is_NormalMonster (DEFER) if map_name_ATKER == "garner2" or map_name_DEFER == "garner2" or map_name_ATKER == "07xmas2" or map_name_DEFER == "07xmas2" then if Can_Pk_Garner2 == 0 then dmg = math.floor(MAGIC_Atk_Dmg(ATKER,DEFER)+sklv*200) local rate = math.random(1,200) if rate >= Con(DEFER) then local statetime = math.ceil(sklv/10) local statelv = sklv AddState ( ATKER , DEFER , STATE_XY , statelv , statetime ) end end end local CheckItem_Death = CheckItem_Death ( ATKER ) if CheckItem_Death == 1 then local Percentage_Death = Percentage_Random ( 0.7 ) if Percentage_Death == 1 then dmg = math.floor(dmg*1.5) SystemNotice ( ATKER , "Получена сила набора Сета Смерти. Эффект навыка усилен!") end end local dmg_fin = Cuihua_Mofa ( dmg , AddStateLv ) local dmg_ElfSkill = ElfSkill_MagicAtk ( dmg , ATKER ) --Add dmg_fin== dmg_fin * 0.90-- reduce by 10 percent by multiplying by 0.90 --Add a condition if statelv==10 then dmg_fin=dmg_fin*100 end dmg_fin = dmg_fin + dmg_ElfSkill * 0.90 Hp_Endure_Dmg ( DEFER , dmg_fin ) -- that returns a function end
  11. 1 point
    i wonder who will buy smthing from a 15 yrs old kidd + with a virus inside. At least u try ur luck but still dreaming
  12. 1 point
    Hello Vasil You should stop selling stolen files. and tell your friend that he should be aware of what file he opens
  13. 1 point
    Некоторые администраторы упаковывают наборы аппарелей в сундуки, это плодит не нужные строки кода, данным образом сие можно значительно сократить, и упростить работу в дальнейшем. Пример для трех сундуков, замените XXXX на свои ID`ы сундуков, и можете настраивать дроп как угодно. В качестве функции для предмета в ItemInfo для всех трех предметов указываем ChestUse_XXXX. -- Расписка на зесты (ID 2626-2628) function ChestUse_XXXX ( role , Item ) local ItemID = GetItemID ( Item ) -- Получим ID предмета if ItemID == XXXX_1 then -- Если ID предмета совпадает с используемым, то: SystemNotice(role, "Пример 1") elseif ItemID == XXXX_2 then SystemNotice(role, "Пример 2") elseif ItemID == XXXX_3 then SystemNotice(role, "Пример 3") end end
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...