Jump to content

TMP4

Contributor
  • Posts

    1100
  • Joined

  • Last visited

  • Days Won

    20
  • Feedback

    100%

Community Answers

  1. TMP4's post in Problem after game compile was marked as the answer   
    In the source files the language texts are in korean. If you open the file with a text editor with a bad character encoding, the korean letters will be converted to something else and it won't find their translation in locale_string. That's happened to you.
    Once you saved the file you can't fix it, the korean letters are gone. Take a backup and be sure next time you edit it with keeping the encoding. You can turn off auto character encoding in Notepad++ settings, or use other editor, for example Visual Studio.
  2. TMP4's post in ?FreeBSD 13.2 and MySQL 5.6? was marked as the answer   

    This is the hidden content, please Sign In or Sign Up There's a readme inside. Tested on 13.1 and 13.2. Probably won't work on 14.x
  3. TMP4's post in MYSQL error, while starting the server was marked as the answer   
    Did you installed the mysql server? Because that error message says the game-db can't connect to it. Check if it runs or not: service mysql-server status
    mysql.tar.gz is not the mysql server, it is just the mysql data. (And actually it is a bad approach to install the mysql data in that way but that's another story)
    pkg install mysql55-server
  4. TMP4's post in MYSQL error, while starting the server was marked as the answer   
    Did you installed the mysql server? Because that error message says the game-db can't connect to it. Check if it runs or not: service mysql-server status
    mysql.tar.gz is not the mysql server, it is just the mysql data. (And actually it is a bad approach to install the mysql data in that way but that's another story)
    pkg install mysql55-server
  5. TMP4's post in Alchamy quest was marked as the answer   
    quest dragon_soul_activation begin state start begin when login or levelup or enter with pc.get_level() >= 30 begin set_state(information) end end state information begin when letter begin send_letter(gameforge.dragon_soul._1010_sendLetter) local v = find_npc_by_vnum(20001) if 0 != v then target.vid("__TARGET__", v, mob_name(20001)) end end when 20001.chat." ÊÝÚíá ÇáßíãÇÆí " begin target.delete("__TARGET__") say(" Êã ÇáÊÝÚíá ") ds.give_qualification() char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS') set_state(__complete) end end state __complete begin end end  
  6. TMP4's post in Account Save without Admin rights was marked as the answer   
    What do you mean by without admin rights? Anyway you can save to registry: 
    If you don't know what is registry: https://en.wikipedia.org/wiki/Windows_Registry
  7. TMP4's post in priv_empire problem was marked as the answer   
    There is no problem, just priv_empire working in a totally different way what people thinks. Since we have a source, have a look at it and modify to your taste.
    The rates what is working in a way you want is already done in the source via eventflags: mob_item and mob_item_buyer (latter for players who have accounts with valid *_expire -> premium players)
    Set this with a GM character:
    /e mob_item 500
    /e mob_item_buyer 999
    (you can set the same value, it was just an example)
    But it does not have a notice like priv empire at login, but you have the source and you can do it via quest too since its an eventflag.
    Or as I said, you can modify the priv_empire too to your taste.
    All predefined event flags:
  8. TMP4's post in priv_empire problem was marked as the answer   
    There is no problem, just priv_empire working in a totally different way what people thinks. Since we have a source, have a look at it and modify to your taste.
    The rates what is working in a way you want is already done in the source via eventflags: mob_item and mob_item_buyer (latter for players who have accounts with valid *_expire -> premium players)
    Set this with a GM character:
    /e mob_item 500
    /e mob_item_buyer 999
    (you can set the same value, it was just an example)
    But it does not have a notice like priv empire at login, but you have the source and you can do it via quest too since its an eventflag.
    Or as I said, you can modify the priv_empire too to your taste.
    All predefined event flags:
  9. TMP4's post in ExitApplication() doesn't work properly was marked as the answer   
    Try to remove it, as I said in the topic that is not a fix but a workaround and i think does not even correct.
    Also the problem does not occur for me at SCMD_QUIT but when I kill the client. And as marty said, the server will kick the client-less character in about 300second so this problem is not even a serious one.
  10. TMP4's post in Extend costume time was marked as the answer   
    long calulcatedDay = item2->GetSocket(0) + (item->GetValue(0) * 60 * 60 * 24);                                     ITEM_MANAGER::instance().RemoveItem(item);                                     ChatPacket(CHAT_TYPE_INFO, LC_TEXT("COSTUME_TIME_EXTENDED"));                                     if (calulcatedDay > 2592000)                                         calulcatedDay = 2592000;                                     item2->SetSocket(0, calulcatedDay); Or with ternary operator:
     
  11. TMP4's post in Daily Quest rewards (lua script) was marked as the answer   
    You're not sure because this quest is very fcked up regarding that rewards array. Using arrays and tables are good but just when it is needed.
    Remove function rewards() and change this:
                    local z = number(1,table.getn(daily_quest.rewards()[1]))                 say(daily_quest.rewards()[1][z]..' Yang!')                 pc.change_money(daily_quest.rewards()[1][z]) To something like this:
    local yangReward = 0 if pc.get_level() >= 90 then yangReward = 1000 elseif pc.get_level() >= 50 then yangReward = 500 else yangReward = 100 end say("You got "..yangReward.." yang!") pc.change_money(yangReward)
  12. TMP4's post in (Quest) No mysql query is running was marked as the answer   
    local affected_rows, goldd = mysql_direct_query("SELECT gold FROM player.player WHERE name = '"..pc.get_name().."';" local current_gold = goldd[affected_rows]["gold"] say_reward(tostring(current_gold)) if current_gold < 5 then say_reward("You have less then 5 gold.") else say_reward("You have 5 or more gold.") end I changed the query's WHERE from account_id to name because you could have up to 4 affected rows with account_id and
    "goldd[affected_rows]["gold"]" would only return the last one that may not the current character.

    For example if you have 4 character in your acc and uses account_id then the second character's gold is goldd[2]["gold"]).
    Affected_rows returns the max value so it's always the lasts if you use that. If it's 1 like in my example, it is good to use, but you can replace it with 1 if you wish.
    Edit: Anyone who just read this and thinking pc.get_gold() exists, well yes but this is just a query practice example 😅
  13. TMP4's post in Make Quest check what costume the player has on them was marked as the answer   
    Just make your own quest function:
    //questlua_pc.cpp int pc_get_costume(lua_State * L) { LPITEM item = CQuestManager::instance().GetCurrentCharacterPtr()->GetWear(WEAR_COSTUME_BODY); if (!item) lua_pushnumber(L, 0); else lua_pushnumber(L, item->GetVnum()); return 1; } //and add to bottom list { "getcostume", pc_get_costume }, //dont forget to add getcostume to questfunctions file in your locale/xy/quest folder...  
  14. TMP4's post in How to create Atlas map was marked as the answer   
    World editor remix have a button to so save the atlasmap "Save atlasmap/mini".
    Then extract etc.eix-epk and go to ymir work\ui\atlas create your map folder and place an atlas.sub inside like this:
    title subImage version 1.0 image "yourmap.dds" left 0 top 0 right 256 bottom 256 You need to edit the dds name and right-bottom (actually the size of the image)
    ¨The image itself should be placed to ymir work\ui\yourmap.dds
    +1 info: The world editor save your atlasmap as bmp as I remember, you have to convert it to dds. You can use GIMP2/Photoshop... Maybe if you just rename it from bmp to dds it may work since i remember jpg renaming worked too, but that's lame 😉
  15. TMP4's post in I need to completely remove prev and next buttons was marked as the answer   
    uiquest.py search for prevbutton and nextbutton and remove them all.
    Here's an example to compare: https://pastebin.com/sS1xLEgR
  16. TMP4's post in vps FreeBSD 11.4 was marked as the answer   
    I tried to google your serverfile and i found that your ch1 port is 13001. Well at the moment it is not open. You may have other port or may your channel is not running at the momement but you can try this Test-NetConnection ip -port port command in powershell to check your real port while your server is running.  (I tested it with 13031 too because i saw that too, also 13000)
    If the correct port is off while your server is running that means your BSD have some firewall, you have to ask your hosting about it. Or other app using it as  I3ooI3oo said but i'm pretty sure 13001 is not really used by any BSD app.
  17. TMP4's post in bug src client was marked as the answer   
    You probably missed to add the new files to the project. It is not enough to copy to your Userinterface folder, you have to add them in visual studio by right click to the project (userinterface) -> Add -> Existing item.
  18. TMP4's post in Little python check question was marked as the answer   
    Idk why chr.IsGameMaster don't work for you, but here is another solution:
    if app.DIK_V == key: if app.IsPressed(app.DIK_LCONTROL) and str(player.GetName())[0] == "[": ime.PasteTextFromClipBoard() It will check if the player name starts with "[". If you have [VIP] or other role then edit the code to exclude them.
    chr.IsGameMaster is better but since it's clientside, it really doesn't matter, the pro users can reach and modify it anyways.
  19. TMP4's post in Little python check question was marked as the answer   
    Idk why chr.IsGameMaster don't work for you, but here is another solution:
    if app.DIK_V == key: if app.IsPressed(app.DIK_LCONTROL) and str(player.GetName())[0] == "[": ime.PasteTextFromClipBoard() It will check if the player name starts with "[". If you have [VIP] or other role then edit the code to exclude them.
    chr.IsGameMaster is better but since it's clientside, it really doesn't matter, the pro users can reach and modify it anyways.
  20. TMP4's post in Little python check question was marked as the answer   
    Idk why chr.IsGameMaster don't work for you, but here is another solution:
    if app.DIK_V == key: if app.IsPressed(app.DIK_LCONTROL) and str(player.GetName())[0] == "[": ime.PasteTextFromClipBoard() It will check if the player name starts with "[". If you have [VIP] or other role then edit the code to exclude them.
    chr.IsGameMaster is better but since it's clientside, it really doesn't matter, the pro users can reach and modify it anyways.
  21. TMP4's post in BossHunters Please help was marked as the answer   
    I dont know this system that means it is 99% custom made, also i only found a reference for it in turkmmo's paste site: https://dosya.turkmmo.com/2020/02/3240_ca3b4fc7d90416400b99af8ae25dd9f7.py
    It looks like its is a game.py so you may want to try paste every BossHunters stuff to yours (use ctrl+f). As i said you may missing more parts but give it a try. In that case just completly remove it from both serverside and clientside.
    Also a pro tip: don't use other people's prebuilt serverfiles, take a very basic one like Asikoo's and do your own work with it, then you will not stumble into the fault of others like this time.
  22. TMP4's post in Please help me was marked as the answer   
  23. TMP4's post in shop_buy_price was marked as the answer   
    You want to change the gold column and not the shop_buy_price.
    Gold: When you buy from npc Shop_buy_price: When you sell to npc (price/5 so 2500000/5=500000)
  24. TMP4's post in Current Peer host names... was marked as the answer   
    If your server runnng fine then you can pretty much just ignore it.
    I'm not a MySQL expert but i remember my syslogs was full with such logs.
  25. TMP4's post in DB syserr was marked as the answer   
    It's literally saying: Table common.priv_settings doesn't exists.
     
    You installed Marty's drop rate system so you have to create that table.
    https://www.google.com/search?q=[Release]+Automatic%2FDefault+priv+rates+at+the+db+startup
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.