I don't know if I understand right (my english is bad), but my focus isn't the datapack (spells, monsters, etc)The formula works very bad, even the min value does not work as intended for healing spells. I did some experimenting with this and comparing it with the formulae that is used in real tibia and I managed to get the results somewhat close to eachother and it seems to scale pretty ok.
What I found out is that you want to add about 65% from the default values. So take the default values * 1.65 and it shouldn't be too bad. I just switched the whole datapack and everything because this one was so bad and too many issues. But that's what I came up with whilst I was still using this.
this is mysql problem, if you use db included on my pack I think works wellHi I use this TFS
problem is when i restart server with /shutdown or global save
most of accounts changed vocations and some charachters get like 58967 distance or 3294 sword , etc
so when these players login the server get crash and no one can login
but really i dont know where is the error
Yes, I have.Has anyone used this distribution with 30 + players on the server?
I think so, with correct libsCan i compile with mvs2015?
See the changelogWhat is the difference between this versions and the published version tfs 0.4 3777 by luciano @Fir3element
going through each other depends on the level and if it is in pz zonethere are some bugs.. players are going through each other.. newtypes arent saving.. it is a little strange lol.. But overall it is pretty cool. Ima search for another, tho..
doPlayerSetCastState it's a src function (see luascript.cpp)doPlayerSetCastState
Files in libs are missing?
Please, use MySQL!!!I've found a few problems may be just in my computer, I dont know, but, when you kill a character or you try to create a guild,this errors appears in console:
1- [22:37:40.737] sqlite3_step(): SQLITE ERROR: guilds.checkdata may not be NULL
This appears when I try to create a guild
2- [22:47:12.160] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: k.war (SELECT "pd"."date" FROM "player_killers" pk LEFT JOIN "killers" k ON "pk"."kill_id" = "k"."id"LEFT JOIN "player_deaths" pd ON "k"."death_id" = "pd"."id" WHERE "pk"."player_id" = 3 AND "k"."unjustified" = 1 AND "pd"."date" >= 1523306832 AND "k"."war" = 0)
[22:47:12.175] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: table killers has no column named war (INSERT INTO "killers" ("death_id", "final_hit", "unjustified", "war") VALUES (1, 1, 1, 0))
I know that there's a problem of missing columns in mysql, but someone who shows how to solve it?
z_ots_comunication is from Gesior acc maker (i think)Sorry I copied the wrong text, I am already using Mysql, using Znote Aac, all is good when I import mysql, and all works good when I import Znote tables. I can create an account from Znote, but I cant login and create a character.
The error in console what I said in the post before: [14:3:06.775] mysql_real_query(): SELECT * FROM z_ots_comunication WHERE `type` = 'login'; - MYSQL ERROR: Table 'xenoria.z_ots_comunication' doesn't exist (1146), I know that I've to create a table named 'xenoria.z_ots_comunication', but I dont know how to do it. Can you help me?
registerCreatureEvent(cid, VipReceive)-Login.lua script-
local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
function onLogin(cid)
accountManager = "Account Manager"
managerCounter = 0
for i, player in ipairs(getOnlinePlayers()) do
if accountManager:lower() == player:lower() then
managerCounter = managerCounter + 1
end
end
if managerCounter >= 3 then
return false
end
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str .. " Please choose your outfit."
doPlayerSendOutfitWindow(cid)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "AdvanceSave")
registerCreatureEvent(cid, "attackguild")
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "demonOakLogout")
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, VipReceive)
registerCreatureEvent(cid, "FirstItems")
registerCreatureEvent(cid, "Promot")
registerCreatureEvent(cid, "PlayerKill")
registerCreatureEvent(cid, "KillingInTheNameOf")
registerCreatureEvent(cid, "PythiusDead")
if (InitArenaScript ~= 0) then
InitArenaScript = 1
for i = 42300, 42309 do
setGlobalStorageValue(i, 0)
setGlobalStorageValue(i+100, 0)
end
end
if getPlayerStorageValue(cid, 42309) < 1 then
for i = 42300, 42309 do
setPlayerStorageValue(cid, i, 0)
end
end
if getPlayerStorageValue(cid, 42319) < 1 then
for i = 42310, 42319 do
setPlayerStorageValue(cid, i, 0)
end
end
if getPlayerStorageValue(cid, 42329) < 1 then
for i = 42320, 42329 do
setPlayerStorageValue(cid, i, 0)
end
end
if getPlayerStorageValue(cid, 42355) == -1 then
setPlayerStorageValue(cid, 42355, 0)
end
setPlayerStorageValue(cid, 42350, 0)
setPlayerStorageValue(cid, 42352, 0)
return true
end
remove salt from gesior and all works fine@Fir3element forget my last post. There's all working fine, anyways I cant find the command of the cast, which is it?