• 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!

Feature THE Players' REP++ System for 0.2

Status
Not open for further replies.

hodleo

Formerly cbrm -Crypto enthusiast, Retired scripter
Staff member
Global Moderator
Joined
Jan 6, 2009
Messages
6,598
Solutions
3
Reaction score
955
Location
Caribbean Sea
THE Players'Reputation System, MysticSpirit Edition
compiled in TFS Mystic Spirit 0.2.5, ought to work in older 0.2 distros
100% tested and fully working



Credits
>Original Level Ranks Feature by Gelio
>Rep System Talkaction by chris77
>Support by: Shawak, Evil Hero
>addremove.lua code extracted from Jail w/autokick by Gesior


2hnmn14.jpg

Translation:
Code:
You see yourself. You are the God and the boss. [B]You are Legendary Hero[==========+++][/B]

Update Log
vr2.0(next version)
-add ip or account check to avoid rep
-return time left to player to rep
-set rep outfit when login via C++

vr1.5(actual)
-Rep+++ 8.5 outfits for female/male
-improved /hail&/fuck
-/reset is now /set
-Cleaner and shortened code
shortened info.lua
fixed fuck.lua
fixed hail.lua
merged reset.lua, minusrep.lua&plusrep.lua into addremove.lua
-new FUNCTIONS:
getRepPoints(cid)
getRepRank(cid)
setPlayerRep(cid, points)
addPlayerRep(cid, amount, color)
removePlayerRep(cid, amount, color)
-available links to download LUA scripts
vr1.0
-Commands to add/remove rep
-C++/LUA System
-more details at Features(below)
-System coded for 0.2s distros, may work in older ones

Features
+ Positive and Negative Ranks
+ Graphic Bar and Names for each rank
+ A player's rep may be seen by clicking on you or a player
+ Special Outfits for the best and worst ranks
+ Commands for players to add/remove another player's rep.
+ Many ways to add/remove rep
+ Animated text and msg when add/remove rep
+ Reputation points are unlimited
+ Storages-based System
+ This system is fully customizable
+ Extra commands with no limitations for GMs/GODs

Ranks
[Points] [Rank] [Bar]
5000 Legendary Hero [==========+++]
2000 Hero [==========++=]
1500 The Best [==========+==]
1000 Hailed [=========|===]
500 Popular [========|====]
300 Well-Known [=======|=====]
0 Noob [======|======]
-300 Bad Guy [=====|=======]
-500 PK [====|========]
-1000 Villain [===|=========]
-1500 Gangster [==*==========]
-2000 Evil [=**==========]
-5000 Power Abuser [***==========]

Commands
[!hail] Gives +5 rep points to a player. May be used each 4 hours. You may not hail yourself.
-> !hail "Dorcas
[!fuck] Removes -5 rep points to a player. May be used each 4 hours You may not fuck yourself.
-> !fuck "Dorcas
[!rep] Check how many rep points you got, the rank and set the rep's outfit.
[/hail] GM Command to add specified rep without without limits
-> /hail "Dorcas,50
[/fuck] GM Command to remove specified rep without limits
-> /fuck "Dorcas,50
[/set] GM Command to set absolute rep points
-> /set "Dorcas,0

Functions
getRepPoints(cid) -> Returns rep points(number)
getRepRank(cid) -> Returns rep rank(string)
setPlayerRep(cid, points) -> Sets absolute positive rep to target
addPlayerRep(cid, amount, color) -> Adds rep amount to target with animated text colot
removePlayerRep(cid, amount, color) -> Subtracts rep amount to target with animated text colot

Conditions to gain REP+
> Via !hail command (+5)
> Making a quest (+5)
> Killing a PK player (+15)
> Killing a RedSkull player (+30)
> you may add more conditions(level advance, monster killing, etc)

Conditions to lose REP-
> Via !fuck command (-5)
> When player dies (-5)
> Killing NON-SKULLED player (-30)
> you may add more conditions(banned, jailed, littering, etc)

ADD-ons by users
Rep Door by Kekox
Lua:
function onUse(cid, item, frompos, item2, topos)
local config = {
      repNeeded = 500
}

if getRepPoints(cid) >= config.repNeeded then
   pos = getPlayerPosition(cid)

       if pos.x == topos.x then
          if pos.y < topos.y then
             pos.y = topos.y + 1
          else
          pos.y = topos.y - 1
          end
          
       elseif pos.y == topos.y then
          if pos.x < topos.x then
             pos.x = topos.x + 1
          else
          pos.x = topos.x - 1
          end
       else
       doPlayerSendTextMessage(cid,22,'Stay in front of the door.')
       return 1
end

       doTeleportThing(cid,pos)
       doSendMagicEffect(topos,12)
else
    doPlayerSendTextMessage(cid,22,"Only players with " .. config.repNeeded .. " can go there.")
end
return TRUE
end

Rep Quest(Amber's Book example) by Znote
Lua:
        if item.uid == 60035 then
           if getPlayerStorageValue(cid,2010) > 499 then
               if getPlayerStorageValue(cid,60035) == -1 then
                        doPlayerSendTextMessage(cid,25,"You found a book.")
                        local book = doPlayerAddItem(cid,2325,1)
                        doSetItemText(book,"Hardek *\nBozo *\nSam ****\n\nOswald\nPartos ***\nQuentin *\nTark ***\nHarsky ***\nStutch *\nFerumbras *\nFrodo **\nNoodles ****")
                        setPlayerStorageValue(cid, 2010, (rep+10)) -- REP INCLUDE --
                        doSendAnimatedText(playerpos, "+REP", TEXTCOLOR_LIGHTBLUE) -- REP INCLUDE --
                        setPlayerStorageValue(cid,60035,1) 
                else
                        doPlayerSendTextMessage(cid,25,"It is empty.")
                else
                        doPlayerSendTextMessage(cid,25,"You need to be Popular to make this quest.")
                end

PART I - C++ CODING
In: player.cpp:
Above:
Code:
std::string Player::getDescription(int32_t lookDistance) const

Add:
Code:
std::string Player::getPVPRank(uint32_t level) const
{
    std::string rank = "Noob [======|======]";
	int32_t intValue = 0;
    if(getStorageValue(2010, intValue))
    {
        if(intValue <= -5000)
            rank = "Power Abuser [***==========]";
        else if(intValue >= -2000 && intValue < -1500)
            rank = "Evil [=**==========]";
        else if(intValue >= -1500 && intValue < -1000)
            rank = "Gangster [==*==========]";
        else if(intValue >= -1000 && intValue < -500)
            rank = "Villain [===|=========]";
        else if(intValue >= -500 && intValue < -300)
            rank = "PK [====|========]";
        else if(intValue >= -300 && intValue < 0)
            rank = "Bad Guy [=====|=======]";
        else if(intValue >= 0 && intValue < 300)
            rank = "Noob [======|======]";
        else if(intValue >= 300 && intValue < 500)
            rank = "Well-Known [=======|=====]";
        else if(intValue >= 500 && intValue < 1000)
            rank = "Popular [========|====]";
        else if(intValue >= 1000 && intValue < 1500)
            rank = "Hailed [=========|===]";
        else if(intValue >= 1500 && intValue < 2000)
            rank = "The Best [==========+==]";
        else if(intValue >= 2000 && intValue < 5000)
            rank = "Hero [==========++=]";
        else if(intValue >= 5000)
            rank = "Legendary Hero [==========+++]";
                else
            rank = "Noob [======|======]";
    };
    return rank;
}

In this code (up) you will change ranks etc.

In player.cpp:
Code:
std::string Player::getDescription(int32_t lookDistance) const

Under:
Code:
			s << " (Level " << level << ")";
        }

		s << ".";

Add:
Code:
            if(sex == PLAYERSEX_FEMALE)
            {
                s << " She";
            }
            else
            {
                s << " He";
            }
            s << " is ";
            std::string rank = Player::getPVPRank(level);
            s << rank << ".";

In player.h
Above:
Code:
virtual std::string getDescription(int32_t lookDistance) const;

Add:
Code:
virtual std::string getPVPRank(uint32_t level) const;

Then compile, and this part is done.

PART II - LUA CODING
download scripts here
pass: otland.net
or make the manual job:
1) Global.lua
add @data/global.lua
Lua:
--THE Players' REP++Sys by CbrMstr {LUA_FUNCTIONS}--
PLAYER_REP = 2010 --storage used for the player's rep points

function getRepPoints(cid)
    return getPlayerStorageValue(cid, PLAYER_REP)
end

function getRepRank(cid)
rep = getRepPoints(cid)
if rep > 4999 then 
	REP_RANK = "Legendary Hero [==========+++]"
elseif rep > 1999 then 
	REP_RANK = "Hero [==========++=]"
elseif rep > 1499 then 
	REP_RANK = "The Best [==========+==]"
elseif rep > 999 then 
	REP_RANK = "Hailed [=========|===]"
elseif rep > 499 then 
	REP_RANK = "Popular [========|====]"
elseif rep > 299 then 
	REP_RANK = "Well-Known [=======|=====]"
elseif rep > -1 then 
	REP_RANK = "Noob [======|======]"
elseif rep < -299 then 
	REP_RANK = "Bad Guy [======|======]"
elseif rep < -499 then 
	REP_RANK = "PK [====|========]"
elseif rep < -999 then 
	REP_RANK = "Villain [===|=========]"
elseif rep < -1499 then 
	REP_RANK = "Gangster [==*==========]"
elseif rep < -1999 then 
	REP_RANK = "Evil [=**==========]"
elseif rep < -4999 then 
	REP_RANK = "Power Abuser [***==========]"
end
return REP_RANK
end

function setPlayerRep(cid, points)
    return setPlayerStorageValue(cid, PLAYER_REP, points)
end

function addPlayerRep(cid, amount, color)
REP_POINTS = getPlayerStorageValue(cid, PLAYER_REP)
setPlayerStorageValue(cid, PLAYER_REP, (REP_POINTS+amount))
doSendAnimatedText(getPlayerPosition(cid), "+REP", color)
doPlayerSendCancel(cid,'You got hailed and received '.. amount ..' rep points.')   
end

function removePlayerRep(cid, amount, color)
REP_POINTS = getPlayerStorageValue(cid, PLAYER_REP)
setPlayerStorageValue(cid, PLAYER_REP, (REP_POINTS-amount))
doSendAnimatedText(getPlayerPosition(cid), "-REP", color)
doPlayerSendCancel(cid,'You got fucked and lost '.. amount ..' rep points.')   
end

2) Creaturescripts
a) @creaturescripts.xml add:
Lua:
<event type="login" name="RepReset" script="represet.lua"/>
@data/creaturescripts create represet.lua then add in it:
Lua:
-- >>> THE Players' REP++Sys by Cybermaster <<< --
-- >>> Scripted for TFS 0.2s, and older distros<<< --

function onLogin(cid)
if getPlayerStorageValue(cid, 2011) == -1 then
	setPlayerRep(cid, 0)
setPlayerStorageValue(cid, 2011, 1)
doPlayerPopupFYI(cid, "Your rank: \nNoob [======|======] \nYou have 0 rep points.")
end 
	return TRUE
end

b) @kill.lua add in it before last end:
Lua:
--rep+ sys
		if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then
            if getPlayerSkullType(target) == SKULL_WHITE then
             	addPlayerRep(cid, 15, TEXTCOLOR_LIGHTBLUE)
             elseif getPlayerSkullType(target) == SKULL_RED then
                addPlayerRep(cid, 30, TEXTCOLOR_LIGHTBLUE)
            elseif getPlayerSkullType(target) == SKULL_NONE then
                removePlayerRep(cid, 30, TEXTCOLOR_RED)
			end
		return TRUE
		end

c) @playerdeath.lua add in it:
Lua:
removePlayerRep(cid, 5, TEXTCOLOR_RED) --rep+ sys
3) Actions(quests) @data/actions/quests/scripted.lua
I'll give you an example of my quest code(Amber's Book Quest):
Lua:
function onUse(cid, item, frompos, item2, topos)
	if item.uid == 60035 then
		if getPlayerStorageValue(cid,60035) == -1 then
			doPlayerSendTextMessage(cid,25,"You found a book.")
			local book = doPlayerAddItem(cid,2325,1)
			doSetItemText(book,"Hardek *\nBozo *\nSam ****\n\nOswald\nPartos ***\nQuentin *\nTark ***\nHarsky ***\nStutch *\nFerumbras *\nFrodo **\nNoodles ****")
			addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE) --rep+ sys
			setPlayerStorageValue(cid,60035,1) 
		else
			doPlayerSendTextMessage(cid,25,"It is empty.")
		end...etc

So, in conclusion, you just need to add this function in your quest script, for each quest, to add rep to a player when he finds the chest:
Lua:
addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE) --rep+ sys

4) Talkactions
@talkactions.xml add:
Lua:
<talkaction words="/hail" script="rep/addremove.lua"/>
<talkaction words="/fuck" script="rep/addremove.lua"/>
<talkaction words="/set" script="rep/addremove.lua"/>
<talkaction words="!hail" script="rep/hail.lua"/>
<talkaction words="!fuck" script="rep/fuck.lua"/>
<talkaction words="!rep" script="rep/info.lua"/>

Create a folder named "rep" @talkactions/scripts
addremove.lua
Lua:
-- >>> THE Players' REP++Sys by Cybermaster <<< --
-- >>> Credits to Gesior in this script<<< --
-- >>> Scripted for TFS 0.2s, and older distros<<< --

default_rep = 0 -- don't modify this
grouprequired = 4 --only gm or god can execute these commands

function onSay(cid, words, param)
    local rep_amount = 5 --if you don't type amount then this qty will be the number
    for word in string.gmatch(tostring(param), "(%w+)") do
        if tostring(tonumber(word)) == word then
            rep_amount = tonumber(word)
        end
    end
    local isplayer = getPlayerByName(param) --name-read code from param, do not modify
    if isPlayer(isplayer) ~= TRUE then
        isplayer = getPlayerByName(string.sub(param, string.len(rep_amount)+1))
        if isPlayer(isplayer) ~= TRUE then
            isplayer = getPlayerByName(string.sub(param, string.len(rep_amount)+2))
            if isPlayer(isplayer) ~= TRUE then
                isplayer = getPlayerByName(string.sub(param, string.len(rep_amount)+3))
            end
        end
    end
    if rep_amount ~= -1 then
        rep_amount = rep_amount
    else
        rep_amount = default_rep
    end
    
	if words == '/fuck' then --REMOVE RELATIVE REP POINTS
        if getPlayerGroupId(cid) >= grouprequired then
            if isPlayer(isplayer) == TRUE then
                removePlayerRep(isplayer, rep_amount, TEXTCOLOR_RED)
                return TRUE
            else
                doPlayerSendCancel(cid,"Player not found.")
                return FALSE
            end
        else
            doPlayerSendCancel(cid,"You may not execute this command.")
            return FALSE
        end
    
	elseif words == '/hail' then --ADD RELATIVE REP POINTS
        if getPlayerGroupId(cid) >= grouprequired then
            if isPlayer(isplayer) == TRUE then
                addPlayerRep(isplayer, rep_amount, TEXTCOLOR_PLATINUMBLUE)
                return TRUE
            else
                doPlayerSendCancel(cid,"Player not found.")
                return FALSE
            end
        else
            doPlayerSendCancel(cid,"You may not execute this command.")
            return FALSE
        end
	
	elseif words == '/set' then --SET ABSOLUTE POSITIVE REP POINTS, needs a fix to allow negative points
        if getPlayerGroupId(cid) >= grouprequired then
            if isPlayer(isplayer) == TRUE then
			    setPlayerRep(isplayer, rep_amount)
                return TRUE
            else
                doPlayerSendCancel(cid,"Player not found.")
                return FALSE
            end
        else
            doPlayerSendCancel(cid,"You may not execute this command.")
            return FALSE
        end
		
    end
    return FALSE
end

hail.lua
Lua:
-- >>> THE Players' REP++Sys by Cybermaster <<< --
-- >>> Credits to chris77 in this script<<< --
-- >>> Scripted for TFS 0.2s, and older distros<<< --

function onSay(cid, words, param, channel)
local config = {
		compareTime = 3600 * 4, -- This is 4 hours, in seconds. Time between rep.
		currentTime = getPlayerStorageValue(cid, 23232),
        level = 20,
               }

	if config.currentTime == -1 then
		setPlayerStorageValue(cid, 23232, os.time())
	end

--checkings--
local hours = math.ceil(getWorldUpTime() / 3600) - 1
if hours < 3 then --SERVER RESTART OVERREP PROTECTION CODE
    		doPlayerSendCancel(cid,"You may give rep again in less than 4 hours.")
			return TRUE
end

if param == getPlayerName(cid) then
    		doPlayerSendCancel(cid,"You may not give rep to yourself.")
			return TRUE
end

if param == "" then
    		doPlayerSendCancel(cid,"Player not found.")
			return TRUE
end

if (os.time() - config.currentTime) < config.compareTime then
		doPlayerSendCancel(cid, "You may give rep again in less than 4 hours.")
			return TRUE
end

     if getPlayerLevel(cid) < config.level then
		doPlayerSendCancel(cid,'You may give rep from level '.. config.level ..' and so on.')
			return TRUE
end

local sent = getPlayerByName(param)
if isPlayer(sent) == TRUE then
		setPlayerStorageValue(cid, 23232, os.time())
		addPlayerRep(sent, 5, TEXTCOLOR_LIGHTBLUE)
		doPlayerSendCancel(cid,'You just hailed ' .. sent .. '. You may give rep again in less than 4 hours.')   
		else
    		doPlayerSendCancel(cid,"Player not found.")
			return FALSE
end
    end

fuck.lua
Lua:
-- >>> THE Players' REP++Sys by Cybermaster <<< --
-- >>> Credits to chris77 in this script<<< --
-- >>> Scripted for TFS 0.2s, and older distros<<< --

function onSay(cid, words, param, channel)
local config = {
		compareTime = 3600 * 4, -- This is 4 hours, in seconds. Time between rep.
		currentTime = getPlayerStorageValue(cid, 23232),
        level = 20,
               }

	if config.currentTime == -1 then
		setPlayerStorageValue(cid, 23232, os.time())
	end

--checkings--
local hours = math.ceil(getWorldUpTime() / 3600) - 1
if hours < 3 then --SERVER RESTART OVERREP PROTECTION CODE
    		doPlayerSendCancel(cid,"You may remove rep again in less than 4 hours.")
			return TRUE
end

if param == getPlayerName(cid) then
    		doPlayerSendCancel(cid,"You may not remove rep to yourself.")
			return TRUE
end

if param == "" then
    		doPlayerSendCancel(cid,"Player not found.")
			return TRUE
end

if (os.time() - config.currentTime) < config.compareTime then
		doPlayerSendCancel(cid, "You may remove rep again in less than 4 hours.")
			return TRUE
end

     if getPlayerLevel(cid) < config.level then
		doPlayerSendCancel(cid,'You may remove rep from level '.. config.level ..' and so on.')
			return TRUE
end

local sent = getPlayerByName(param)
if isPlayer(sent) == TRUE then
		setPlayerStorageValue(cid, 23232, os.time())
		removePlayerRep(sent, 5, TEXTCOLOR_RED)
		doPlayerSendCancel(cid,'You just fucked ' .. sent .. '. You may remove rep again in less than 4 hours.')   
		else
    		doPlayerSendCancel(cid,"Player not found.")
			return FALSE
end
    end

info.lua
Lua:
-- >>> THE Players' REP++Sys by Cybermaster <<< --
-- >>> Scripted for TFS 0.2s, and older distros<<< --

function onSay(cid, words, param, channel)

doPlayerSendTextMessage(cid, 19, 'You have ' .. getRepPoints(cid) .. ' rep points. You are ' .. getRepRank(cid) .. '')
if rep > 4999 and getPlayerSex(cid) == 0 then -- female rep+++ queen outfit --
	disguise = {lookType = 331, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep > 4999 and getPlayerSex(cid) > 0 then -- male rep+++ king outfit --
	disguise = {lookType = 332, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep > 1999 then -- rep++ cm outfit --
	disguise = {lookType = 266, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep > 1499 then -- rep+ hero outfit --
	disguise = {lookType = 73, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep < -4999 then -- rep*** devil outfit --
	disguise = {lookType = 40, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep < -1999  then -- rep** pig outfit --
	disguise = {lookType = 60, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
elseif rep < -1499 then -- rep* orc outfit --
	disguise = {lookType = 5, lookHead = 0 , lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}
	doSetCreatureOutfit(cid, disguise, -1)
	end
end

And that's all. Comments, gratitudes, suggestions, reports are welcomed. DON'T COME HERE to critizice my ranks, if you don't like them then change'em!<_<. Special thanks to Gelio, who helped me coding C++ storage. REP++ ME!

You got TFS Crying Damson? Don't worry :) I've made the system for 0.3 too!! Click this link to view it
 
Last edited:
I guess this will be build in the next Chronic Element version? Thanks for the release.

Wouldn't it be better to have [Popular] instead of [========|====]?

Now lets make a site script to see top and worst rep, and fix quest based on rep :D

"You need to be a Gangster to start this quest"
"You need to be Popular to start this quest". etc :D

Here is the compiled results:
 
Last edited:
I like it, however what stops people from making 50 noob chars and giving out rep? Please make for crying damson :)
 
@Znote hm the bar makes it look so cool, believe me, players will like it
haha I wished all distros had this system
-Hm yeah I need someone to script me the PHP rep check

Hmm you suggest this?
Lua:
	if item.uid == 60035 then
	   if getPlayerStorageValue(cid,2010) > 499 then
               if getPlayerStorageValue(cid,60035) == -1 then
			doPlayerSendTextMessage(cid,25,"You found a book.")
			local book = doPlayerAddItem(cid,2325,1)
			doSetItemText(book,"Hardek *\nBozo *\nSam ****\n\nOswald\nPartos ***\nQuentin *\nTark ***\nHarsky ***\nStutch *\nFerumbras *\nFrodo **\nNoodles ****")
			setPlayerStorageValue(cid, 2010, (rep+10)) -- REP INCLUDE --
			doSendAnimatedText(playerpos, "+REP", TEXTCOLOR_LIGHTBLUE) -- REP INCLUDE --
			setPlayerStorageValue(cid,60035,1) 
		else
			doPlayerSendTextMessage(cid,25,"It is empty.")
		else
			doPlayerSendTextMessage(cid,25,"You need to be Popular to make this quest.")
		end

@lockjoint, then make the repsys harder to raise, increasing the points
 
Last edited:
I-ll try to do it next monday. -.- i got university, parttime job , my ot, xd a lot of stuff to do
 
argh I can't find doPlayerSetSpecialDescription on latest 0.3 LUA_FUNCTIONS
 
one problem :S


how can i make so my .cpp go on my server?
 
one problem :S


how can i make so my .cpp go on my server?

just download your ot sources
then edit them with a C++ program, like DEV-C++
then follow my instructions
then rebuild and compile and you'll get a new .exe
 
Cybermaster, have you ever played in Alessya's Dream OTServer? This Rep System is EXACTLY ADream's rep system!

Have you done it alone?

It's incredible! Good work!
 
please, i can't find player.cpp in my ot folder i work with TFS 0.3.4PL2. Help me please!
 
please, i can't find player.cpp in my ot folder i work with TFS 0.3.4PL2. Help me please!
aff no men in TFS 0.3 you don't need to compile ur ot to apply the system

just wait 'till saturday when I shall update the sys for 0.2 and for 0.3:thumbup:

vr1.5(scripting)
-this version shall have some fixes
-new ways to gain rep
-rep outfits for female/male genres
-cleaner and reorganized code
-Crying Damson LUA version of the system
-available links to download all 0.2/0.3 scripts
 
wait some hours for the release of the system for 0.3
 
Status
Not open for further replies.
Back
Top