• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

help mount systems 8.60

2057623

Member
Joined
Jan 16, 2012
Messages
97
Reaction score
12
I saw a lot of videos showing some mount systems for server 8.60 where you use the item on the mount and then it is captured, after clicking on it you can use the mount and such, I would like to know if it is available somewhere for free.
 
Solution
Consegue enviar com o comando !Mount preciso para TFS 0.4 obrigado pela ajuda
Of course, I'll send the command for mount!

go to the lib and add this here.

lib_mounts
Lua:
act_mounts = 46520
mounts_storage = 25685
mounts_exhaust = 24685
sto_outfit_lookType = 23685
mounts_time = 1

mounts ={

--CITIZEN
--[OUTFIT BASE] = {OUTFIT BASE, COLUMN 2, COLUMN 3, COLUMN 4, COLUMN 5, COLUMN X}
--EACH COLUMN IS A DIFFERENT MOUNT.

[128] = {128,368,416,464,512,560,608,656,704,752,800,848}, --citizen male
[136] = {136,369,417,465,513,561,609,657,705,753,801,849}, --citizen female

[129] = {129,370,418,466,514,562,610,658,706,754,802,850}, --hunter male
[137] = {137,371,419,467,515,563,611,659,707,755,803,851}, --hunter female

[130] =...
@Mateus Robeerto be nice and just give us a commit hahahaha
I just added the commits related to the mount system for TFS 1.5 8.6. If you are interested in implementing this system, feel free to add the necessary codes. Good luck!
@2057623

You can activate it through the OTClient to be able to mount the mount, yes. If it's the Cip client, you need to have a DLL to hook the client and be able to have mounts. The one who has the DLL for mounts is @kor , just contact him privately!


 
Last edited:
Consegue enviar com o comando !Mount preciso para TFS 0.4 obrigado pela ajuda
Of course, I'll send the command for mount!

go to the lib and add this here.

lib_mounts
Lua:
act_mounts = 46520
mounts_storage = 25685
mounts_exhaust = 24685
sto_outfit_lookType = 23685
mounts_time = 1

mounts ={

--CITIZEN
--[OUTFIT BASE] = {OUTFIT BASE, COLUMN 2, COLUMN 3, COLUMN 4, COLUMN 5, COLUMN X}
--EACH COLUMN IS A DIFFERENT MOUNT.

[128] = {128,368,416,464,512,560,608,656,704,752,800,848}, --citizen male
[136] = {136,369,417,465,513,561,609,657,705,753,801,849}, --citizen female

[129] = {129,370,418,466,514,562,610,658,706,754,802,850}, --hunter male
[137] = {137,371,419,467,515,563,611,659,707,755,803,851}, --hunter female

[130] = {130,372,420,468,516,564,612,660,708,756,804,852}, --mage male
[138] = {138,373,421,469,517,565,613,661,709,757,805,853}, --mage female

[131] = {131,374,422,470,518,566,614,662,710,758,806,854}, --knight male
[139] = {139,375,423,471,519,567,615,663,711,759,807,855}, --knight female

[132] = {132,376,424,472,520,568,616,664,712,760,808,856}, --nobleman male
[140] = {140,377,425,473,521,569,617,665,713,761,809,857}, --nobleman female

[133] = {133,378,426,474,522,570,618,666,714,762,810,858}, --summoner male
[141] = {141,379,427,475,523,571,619,667,715,763,811,859}, --summoner female

[134] = {134,380,428,476,524,572,620,668,716,764,812,860}, --warrior male
[142] = {142,381,429,477,525,573,621,669,717,765,813,861}, --warrior female

[143] = {143,382,430,478,526,574,622,670,718,766,814,862}, --barbarian male
[147] = {147,383,431,479,527,575,623,671,719,767,815,863}, --barbarian female

[144] = {144,384,432,480,528,576,624,672,720,768,816,864}, --druid male
[148] = {148,385,433,481,529,577,625,673,721,769,817,865}, --druid female

[145] = {145,386,434,482,530,578,626,674,722,770,818,866}, --wizard male
[149] = {149,387,435,483,531,579,627,675,723,771,819,867}, --wizard female

[146] = {146,388,436,484,532,580,628,676,724,772,820,868}, --oriental male
[150] = {150,389,437,485,533,581,629,677,725,773,821,869}, --oriental female

[151] = {151,390,438,486,534,582,630,678,726,774,822,870}, --pirate male
[155] = {155,391,439,487,535,583,631,679,727,775,823,871}, --pirate female

[152] = {152,392,440,488,536,584,632,680,728,776,824,872}, --assassin male
[156] = {156,393,441,489,537,585,633,681,729,777,825,873}, --assassin female

[153] = {153,394,442,490,538,586,634,682,730,778,826,874}, --beggar male
[157] = {157,395,443,491,539,587,635,683,731,779,827,875}, --beggar female

[154] = {154,396,444,492,540,588,636,684,732,780,828,876}, --shaman male
[158] = {158,397,445,493,541,589,637,685,733,781,829,877}, --shaman female

[251] = {251,398,446,494,542,590,638,686,734,782,830,878}, --norseman male
[252] = {252,399,447,495,543,591,639,687,735,783,831,879}, --norseman female

[268] = {268,400,448,496,544,592,640,688,736,784,832,880}, --nightmare male
[269] = {269,401,449,497,545,593,641,689,737,785,833,881}, --nightmare female

[273] = {273,402,450,498,546,594,642,690,738,786,834,882}, --jester male
[270] = {270,403,451,499,547,595,643,691,739,787,835,883}, --jester female

[278] = {278,404,452,500,548,596,644,692,740,788,836,884}, --brotherhood male
[279] = {279,405,453,501,549,597,645,693,741,789,837,885}, --brotherhood female

[289] = {289,406,454,502,550,598,646,694,742,790,838,886}, --demonhunter male
[288] = {288,407,455,503,551,599,647,695,743,791,839,887}, --demonhunter female

[325] = {325,408,456,504,552,600,648,696,744,792,840,888}, --yalaharian male
[324] = {324,409,457,505,553,601,649,697,745,793,841,889}, --yalaharian female

[335] = {335,410,458,506,554,602,650,698,746,794,842,890}, --warmaster male
[336] = {336,411,459,507,555,603,651,699,747,795,843,891}, --warmaster female

[367] = {367,412,460,508,556,604,652,700,748,796,844,892}, --wayfarer male
[366] = {366,413,461,509,557,605,653,701,749,797,845,893}, --wayfares female

[896] = {896,415,463,511,559,606,654,702,750,798,846,894}, --golden female
[897] = {897,414,462,510,558,607,655,703,751,799,847,895}, --golden male

}


mount_name = {
--CHANGE THE NAME OF THE MOUNT FOR YOURS (WITH THEIR RESPECTIVE COLUMN)

[2] = "Desert King", --COLUMN 2
[3] = "Snow Strider", --COLUMN 3
[4] = "Uniwheel", --COLUMN 4
[5] = "Dusk Pryer", --COLUMN 5
[6] = "Crystal Wolf", --COLUMN 6
[7] = "fleeting knowledge", --COLUMN 7
[8] = "floating kashmir", --COLUMN 8
[9] = "hellgrip", --COLUMN 9
[10] = "jade lion", --COLUMN 10
[11] = "nightdweller", --COLUMN 11
[12] = "Stone rhino", --COLUMN 12

}

actions.xml
XML:
<!-- Mount-->
    <action itemid="12774-12779;7528-7533" script="action_mounts.lua"/>

action_mounts.lua

Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)


if item.itemid ==  7533 then  

            local storage_golden = 77531    --storage golden outfit
            if getPlayerStorageValue(cid, storage_golden) < 1 then
                    doPlayerAddOutfitId(cid, 25 ,3)
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a golden outfit!.")
                    doPlayerSetStorageValue(cid, storage_golden, 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this outfit.")
            end
            return true
   
elseif item.itemid == 12774 then  

            local montaria = 2    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true
 
 
elseif item.itemid == 12775 then
 
            local montaria = 3    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true


elseif item.itemid == 12776 then
 
            local montaria = 4    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true


elseif item.itemid == 12777 then
 
            local montaria = 5    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true


elseif item.itemid == 12778 then
 
            local montaria = 6    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true

elseif item.itemid == 12779 then
 
            local montaria = 7    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true

elseif item.itemid == 7528 then
 
            local montaria = 8    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true
 
elseif item.itemid == 7529 then
 
            local montaria = 9    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true

elseif item.itemid == 7530 then
 
            local montaria = 10    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true

elseif item.itemid == 7531 then
 
            local montaria = 11    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true

elseif item.itemid == 7532 then
 
            local montaria = 12    --(It is the value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)
            if getPlayerStorageValue(cid, (act_mounts+montaria)) < 1 then
                    for mar,cos in pairs(mounts) do
                        setPlayerStorageValue(cid, cos[montaria] + 10000,1)
                    end
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a mount "..mount_name[montaria]..".")
                    doPlayerSetStorageValue(cid, (act_mounts+montaria), 1)
                    doRemoveItem(item.uid,1)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already have this mount.")
            end
            return true
        end

return true
end

talkactions
XML:
<!-- Mounts -->

    <talkaction  log="yes" words="/mount;!mount" event="script" value="talkaction_mounts.lua"/>
talkaction_mounts.lua
Lua:
function onSay(cid, words, param, channel)

-- IF YOU WANT TO PUT EXHAUST, UNCOMMENT THE TWO LINES BELOW:
--if getPlayerStorageValue(cid,mounts_exhaust) >= os.time() then return doPlayerSendCancel(cid,"Use this command every "..mounts_time.." sec.. ") end
--setPlayerStorageValue(cid,mounts_exhaust,os.time()+mounts_time)


    outfit = getCreatureOutfit(cid)

    if getPlayerStorageValue(cid,sto_outfit_looktype) < 1 then
        coluna=1
        for mar,cos in pairs(mounts) do
            setPlayerStorageValue(cid, cos[coluna] + 10000,1)
        end
        setPlayerStorageValue(cid, sto_outfit_looktype, 128)
    end

    if mounts[outfit.lookType] ~= nil then
        setPlayerStorageValue(cid, sto_outfit_looktype, outfit.lookType)
    end

 

--counter> less than 1 or greater than the highest value of the outfit mounts, resets the counter.
    if  ((getPlayerStorageValue(cid, mounts_storage) < 1) or (getPlayerStorageValue(cid, mounts_storage) >= #mounts[getPlayerStorageValue(cid,sto_outfit_looktype)] )) then
      setPlayerStorageValue(cid,mounts_storage,0)
    end
    setPlayerStorageValue(cid,mounts_storage, getPlayerStorageValue(cid, mounts_storage) + 1)
 
    while ((getPlayerStorageValue(cid,mounts[getPlayerStorageValue(cid,sto_outfit_looktype)][getPlayerStorageValue(cid, mounts_storage)] + 10000)) < 1) do
             if  ((getPlayerStorageValue(cid, mounts_storage) < 1) or (getPlayerStorageValue(cid, mounts_storage) >= #mounts[getPlayerStorageValue(cid,sto_outfit_looktype)] )) then
                setPlayerStorageValue(cid,mounts_storage,0)
             end
        setPlayerStorageValue(cid,mounts_storage, getPlayerStorageValue(cid, mounts_storage) + 1)
    end
   
   

    outfit.lookType = mounts[getPlayerStorageValue(cid,sto_outfit_looktype)][getPlayerStorageValue(cid, mounts_storage)]
    doCreatureChangeOutfit(cid, outfit)
    doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)

        return true
end

-- note: --TO ADD STORAGES, SELECT THE NEW MOUNT COLUMN AND YOU'RE READY! PLAY IN ACTION OR SOMETHING LIKE THAT.

-- mount = 1 --(It is the equal value corresponding to the mount in the "mounts" table column in: data/lib/lib_mounts.lua)

-- for mar,cos in pairs(mounts) do
-- setPlayerStorageValue(cid, cos[mount] + 10000.1)
--end


--<talkaction words="/mount;!mount" event="script" value="talkaction_mounts.lua"/>
--<action itemid="2160;2148;2157" event="script" value="action_mounts.lua"/>
If you don't have sprites of the mounts, download them here and add them to yours!
Post automatically merged:

See the GIF, it has been tested and works on TFS 0.4.
 
Last edited:
Solution
It does exist for 8.6, but you need to download a base from Nekiro TFS 1.5 8.6 and grab some mount codes from TFS 1.5 7.7. Add them to TFS 1.5 8.6, compile, and then add them to the otclient feature to activate. Simple as that.
 
It does exist for 8.6, but you need to download a base from Nekiro TFS 1.5 8.6 and grab some mount codes from TFS 1.5 7.7. Add them to TFS 1.5 8.6, compile, and then add them to the otclient feature to activate. Simple as that.
More like my server it is 8.60 TFS 0.4x, I believe there is no way to update it, but if I update the sorc to a more recent one or change it, however if I change the old codes it will not work anymore, I will have to review them all the codes.
 
Can I give you a tip? So, use Nekiro 1.5 instead of TFS 0.4, as the recent 1.x version is more updated and complete. It's much better, and you'll always find the scripts you need out there. Hope this helps!
 
Can I give you a tip? So, use Nekiro 1.5 instead of TFS 0.4, as the recent 1.x version is more updated and complete. It's much better, and you'll always find the scripts you need out there. Hope this helps!
And I know it's more up to date, but I don't know if this tfs Nekiro 1.5 will run the code functions, the bad thing is I install the new tfs and need to change all the codes it contains before the change, but I'll try here and see what happens.
 
And I know it's more up to date, but I don't know if this tfs Nekiro 1.5 will run the code functions, the bad thing is I install the new tfs and need to change all the codes it contains before the change, but I'll try here and see what happens.
that's not truee. did you even try it? ofc there might exist some errors but they are easy to change .
 
that's not truee. did you even try it? ofc there might exist some errors but they are easy to change .
I tried here, there were a lot of Database errors, the accounts didn't even enter, so I didn't understand why they didn't enter and there was an error in the database query, although it was working normally and I used a DB that was at 0.4x
 
Last edited:
I just added the commits related to the mounting system for TFS 1.5 8.6. If you are interested in implementing this system, feel free to add the necessary codes. Good luck!
@2057623

You can activate it through the OTClient to be able to mount the mount, yes. If it's the Cip client, you need to have a DLL to hook the client and be able to have mounts. The one who has the DLL for mounts is @kor , just contact him privately!



After I failed many times to try to add this, with this commit it can be done within 5 minutes!

This man deserves some love! Today will be marked in my agenda as a celebration day!

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

37782422f19d2735c836595ebaa16859.png
 
I just added the commits related to the mount system for TFS 1.5 8.6. If you are interested in implementing this system, feel free to add the necessary codes. Good luck!
@2057623

You can activate it through the OTClient to be able to mount the mount, yes. If it's the Cip client, you need to have a DLL to hook the client and be able to have mounts. The one who has the DLL for mounts is @kor , just contact him privately!


1705631080687.png

Tested on nekiro's tfs 1.5 client 8.6.

Gj @Mateus Robeerto <3
 
I just added the commits related to the mount system for TFS 1.5 8.6. If you are interested in implementing this system, feel free to add the necessary codes. Good luck!
@2057623

You can activate it through the OTClient to be able to mount the mount, yes. If it's the Cip client, you need to have a DLL to hook the client and be able to have mounts. The one who has the DLL for mounts is @kor , just contact him privately!


Look, I didn't understand very well, this link you gave me and for me to change the source of my server right, if so, I looked for several things and it's not in my source. Now if you suggest that I get the nekiro 1.5x sources, I've already done that too and it gave a lot of errors. Sorry I don't understand what you meant and because I use Google Translate and sometimes the words aren't good, I translate it into BR.
 
Look, I didn't understand very well, this link you gave me and for me to change the source of my server right, if so, I looked for several things and it's not in my source. Now if you suggest that I get the nekiro 1.5x sources, I've already done that too and it gave a lot of errors. Sorry I don't understand what you meant and because I use Google Translate and sometimes the words aren't good, I translate it into BR.

Make sure you open your project file (vc17/theforgottenserver.vcxproj) in Notepad (++) and add

<ClCompile Include="..\src\mounts.cpp" />
<ClInclude Include="..\src\mounts.h" />

Was the mistake I made, after that, it should compile flawlessly if you followed the whole commit.

Do note: you do not have to edit script.cpp!
 
Look, I didn't understand very well, this link you gave me and for me to change the source of my server right, if so, I looked for several things and it's not in my source. Now if you suggest that I get the nekiro 1.5x sources, I've already done that too and it gave a lot of errors. Sorry I don't understand what you meant and because I use Google Translate and sometimes the words aren't good, I translate it into BR.
Sometimes Google Translate is a mess. When I write something correctly, it translates it as wrong every time, haha. If you want, I can explain it correctly in Portuguese. I'm from Brazil. :)
 
Sometimes Google Translate is a mess. When I write something correctly, it translates it as wrong every time, haha. If you want, I can explain it correctly in Portuguese. I'm from Brazil. :)
Boy, if you can save me on this one, I've tried several times and nothing, Google Translate is shit, send a message in PV.
 
Make sure you open your project file (vc17/theforgottenserver.vcxproj) in Notepad (++) and add

<ClCompile Include="..\src\mounts.cpp" />
<ClInclude Include="..\src\mounts.h" />

Was the mistake I made, after that, it should compile flawlessly if you followed the whole commit.

Do note: you do not have to edit script.cpp!
He just told me that he tried to take these commits from TFS 1.5 and add them to TFS 0.4, haha. I've explained to him privately that, currently, these commits are exclusive to TFS 1.5. However, I have another alternative for a workaround for mounts in TFS 0.4 as well.


@2057623
The mount system for TFS 0.4? No need to make changes to the source code, just through LUA, and it's working fine. I can send the system along with sprites for over a thousand mounts, using the command !mount to mount instantly.
 
Back
Top