tarantonio
Old School Player
- Joined
- Jun 21, 2009
- Messages
- 865
- Solutions
- 1
- Reaction score
- 274
@Nottinghster
ok thx <3
And i have next question
How i can change rsa key ? I can block Tibia 772 (Original client ) ? I want to just CUSTOM Client
//load RSA key
std::cout << ":: Loading RSA key..." << std::flush;
const char* p("14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113");
const char* q("7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101");
const char* d("46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073");
g_RSA.setKey(p, q, d);
@Ezzz is there any important difference between 7.4 and 7.7 beside graphics?
7.5
Soul system.
Monsters pulled to far from respaw vanish.
Spears can break.
Small Stones, Throwing Knives and Throwing Stars can be reused.
7.55
Spears will break about 3,075% of the time.
Throwing Star will break about 10% of the time.
Throwing Knive will break about 7% of the time.
Small stones will break about 3% of the time.
7.6
Mana regen speed up 4 times. The amount of mana required for spells is adjusted accordingly.
Spells changed from a magic level based requeriment to a level requeriment.
Wand and Rods are introduced.
@Ezzz is there any important difference between 7.4 and 7.7 beside graphics?
Code:7.5 Soul system. Monsters pulled to far from respaw vanish. Spears can break. Small Stones, Throwing Knives and Throwing Stars can be reused. 7.55 Spears will break about 3,075% of the time. Throwing Star will break about 10% of the time. Throwing Knive will break about 7% of the time. Small stones will break about 3% of the time. 7.6 Mana regen speed up 4 times. The amount of mana required for spells is adjusted accordingly. Spells changed from a magic level based requeriment to a level requeriment. Wand and Rods are introduced.
I guess the stacked parcel block and rope mechanics changed between this time, but I'm not sure.
Well, why dont you do it then??
He is a php programmer, I've done so already with my TFS1.0 for Tibia 7.72, you could work from it and add whats missing and fix whats to be done, but I rather use OTHire, the movement is smooth as well, in TFS 1.0 there's delay everytime, you will have to see for yourself, it isn't for Tibia 7.72
Thank you very much! but for example:
<instant prem="0" name="Ultimate Explosion" words="exevo gran mas vis" lvl="50" maglv="1" mana="800" enabled="1" script="ultimate explosion.lua">
Thank you very much! but for example:I have removed the parameter enabled and then I added it back again. The problem is the level requirement, it fails, When the players have the mana they need he can do the magics.Code:<instant prem="0" name="Ultimate Explosion" words="exevo gran mas vis" lvl="50" maglv="1" mana="800" enabled="1" script="ultimate explosion.lua">
I've seen what you put me is to fix the parameter with percent level in the mana. But I'm not sure. If I apply what you did the parameter level will work properly?
I'm using the latest version of OTHire without edit it.
Another problem is that using the OTClient (https://github.com/edubart/otclient) to play we can use hotkeys in PVP, but I think that can be fixed by making a custom client with custom RSA Key, no?.
@Nottinghster
I have removed the parameter enabled and then I added it back again. The problem is the level requirement, it fails, When the players have the mana they need he can do the magics.
I've seen what you put me is to fix the parameter with percent level in the mana. But I'm not sure. If I apply what you did the parameter level will work properly?
I'm using the latest version of OTHire without edit it.
-- Should the level requirements on runes be used [default: false]
use_rune_level_requirements = false
if(g_config.getNumber(ConfigManager::USE_RUNE_LEVEL_REQUIREMENTS) && player->getLevel() < level){
player->sendCancelMessage(RET_NOTENOUGHLEVEL);
g_game.addMagicEffect(player->getPosition(), NM_ME_PUFF);
return false;
}
It's supposed to be level not lvl
if(readXMLInteger(p, "lvl", intValue)){
level = intValue;
}
Is the parameter: "lvl". It is giving me a lot of problems.
-- Should the level requirements on runes be used [default: false]
use_rune_level_requirements = false
if(g_config.getNumber(ConfigManager::USE_RUNE_LEVEL_REQUIREMENTS) && player->getLevel() < level){
player->sendCancelMessage(RET_NOTENOUGHLEVEL);
g_game.addMagicEffect(player->getPosition(), NM_ME_PUFF);
return false;
}
local ITEM_RUM_FLASK = 5553
local ITEM_POOL = 2016
local oilLamps = {[2046] = 2044}
local alcoholDrinks = {FLUID_BEER, FLUID_WINE, FLUID_RUM, FLUID_MEAD}
local poisonDrinks = {FLUID_SLIME}
local drunk = createConditionObject(CONDITION_DRUNK)
setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000)
local poison = createConditionObject(CONDITION_POISON)
setConditionParam(poison, CONDITION_PARAM_DELAYED, true) -- Condition will delay the first damage from when it's added
setConditionParam(poison, CONDITION_PARAM_MINVALUE, -50) -- Minimum damage the condition can do at total
setConditionParam(poison, CONDITION_PARAM_MAXVALUE, -120) -- Maximum damage
setConditionParam(poison, CONDITION_PARAM_STARTVALUE, -5) -- The damage the condition will do on the first hit
setConditionParam(poison, CONDITION_PARAM_TICKINTERVAL, 4000) -- Delay between damages
setConditionParam(poison, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value)
local lifeFluidCombat = createCombatObject()
setCombatParam(lifeFluidCombat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(lifeFluidCombat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(lifeFluidCombat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(lifeFluidCombat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
function onGetLifeFluidFormulaValues(cid, level, maglevel)
return 40, 70
end
setCombatCallback(lifeFluidCombat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetLifeFluidFormulaValues")
local exhaust = createConditionObject(CONDITION_EXHAUST_POTION)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, getConfigInfo('minactionexinterval'))
function onUse(cid, item, frompos, item2, topos)
if(topos.x == 0 and topos.y == 0 and topos.z == 0) then
item2 = item
topos = getThingPos(item.uid)
end
if(item2.uid == cid) then -- Player is using on himself
if(item.type == FLUID_NONE) then
doPlayerSendCancel(cid, "It is empty.")
return true
end
if(hasCondition(cid, CONDITION_EXHAUST_POTION) ) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return true
end
if(item.type == FLUID_MANA) then
if not doPlayerAddMana(cid, math.random(200, 300)) then
return false
end
doCreatureSay(cid, "Aaaah...", TALKTYPE_SAY)
doSendMagicEffect(topos, CONST_ME_MAGIC_BLUE)
elseif(item.type == FLUID_LIFE) then
if not doCombat(cid, lifeFluidCombat, numberToVariant(cid)) then
return false
end
doCreatureSay(cid, "Aaaah...", TALKTYPE_SAY)
doSendMagicEffect(topos, CONST_ME_MAGIC_BLUE)
elseif(isInArray(alcoholDrinks, item.type) ) then
if not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE) then
return false
end
doCreatureSay(cid, "Aaah...", TALKTYPE_SAY)
elseif(isInArray(poisonDrinks, item.type) ) then
if not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE) then
return false
end
else
doCreatureSay(cid, "Gulp.", TALKTYPE_SAY)
end
doAddCondition(cid, exhaust)
doChangeTypeItem(item.uid, FLUID_NONE)
return true
end
if(isCreature(item2.uid) == false) then
if(item.type == FLUID_NONE) then
if(item.itemid == ITEM_RUM_FLASK and isInArray(DISTILLERY, item2.itemid) ) then
if(item2.actionid == DISTILLERY_FULL) then
doSetItemSpecialDescription(item2.uid, '')
doSetItemActionId(item2.uid, 0)
doChangeTypeItem(item.uid, TYPE_RUM)
else
doPlayerSendCancel(cid, "You have to process the bunch into the distillery to get rum.")
end
return true
end
if(isItemFluidContainer(item2.itemid) and item2.type ~= FLUID_NONE) then
doChangeTypeItem(item.uid, item2.type)
doChangeTypeItem(item2.uid, FLUID_NONE)
return true
end
local fluidSource = getFluidSourceType(item2.itemid)
if(fluidSource ~= -1) then
doChangeTypeItem(item.uid, fluidSource)
return true
end
doPlayerSendCancel(cid, "It is empty.")
return true
end
if(item.type == FLUID_OIL and oilLamps[item2.itemid] ~= nil) then
doTransformItem(item2.uid, oilLamps[item2.itemid])
doChangeTypeItem(item.uid, FLUID_NONE)
return true
end
if(hasProperty(item2.uid, CONST_PROP_BLOCKSOLID) ) then
return false
end
end
if(topos.x == CONTAINER_POSITION) then
topos = getThingPos(cid)
end
local splash = doCreateItem(ITEM_POOL, item.type, topos)
doDecayItem(splash)
doChangeTypeItem(item.uid, FLUID_NONE)
return true
end