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

Lua Task in party TFS 1.5 7.72

Hbraveq

Active Member
Joined
Nov 11, 2012
Messages
167
Reaction score
39
Hello, I'm using simple script for task. Is it possible to enable counting task kills for all party members? :p
TFS 1.5 7.72 by nekiro!

function onKill(cid, target, lastHit)
local started = getPlayerStartedTasks(cid)

if isPlayer(target) then return true end

if started and #started > 0 then
for _, id in ipairs(started) do
if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then
if getPlayerStorageValue(cid, KILLSSTORAGE_BASE + id) < 0 then
setPlayerStorageValue(cid, KILLSSTORAGE_BASE + id, 0)
end
if getPlayerStorageValue(cid, KILLSSTORAGE_BASE + id) < tasks[id].killsRequired then
setPlayerStorageValue(cid, KILLSSTORAGE_BASE + id, getPlayerStorageValue(cid, KILLSSTORAGE_BASE + id) + 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(cid, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. tasks[id].raceName .. " already killed.")
end
end
end
end
return true
end
 
Last edited:
Solution
I don't know what your version of TFS is. When posting, it is important to inform the version of your engine, ok


Lua:
function onKill(cid, target, lastHit)
    local partyMembers = getPartyMembers(cid)
   
    if not partyMembers or #partyMembers == 0 then
        return true
    end
   
    local started = getPlayerStartedTasks(cid)
   
    if isPlayer(target) then
        return true
    end
   
    if started and #started > 0 then
        for _, id in ipairs(started) do
            if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then
                for _, member in ipairs(partyMembers) do
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < 0 then...
I don't know what your version of TFS is. When posting, it is important to inform the version of your engine, ok


Lua:
function onKill(cid, target, lastHit)
    local partyMembers = getPartyMembers(cid)
   
    if not partyMembers or #partyMembers == 0 then
        return true
    end
   
    local started = getPlayerStartedTasks(cid)
   
    if isPlayer(target) then
        return true
    end
   
    if started and #started > 0 then
        for _, id in ipairs(started) do
            if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then
                for _, member in ipairs(partyMembers) do
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < 0 then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, 0)
                    end
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < tasks[id].killsRequired then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) + 1)
                        doPlayerSendTextMessage(member, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. tasks[id].raceName .. " already killed.")
                    end
                end
            end
        end
    end
   
    return true
end
 
Solution
I don't know what your version of TFS is. When posting, it is important to inform the version of your engine, ok


Lua:
function onKill(cid, target, lastHit)
    local partyMembers = getPartyMembers(cid)
  
    if not partyMembers or #partyMembers == 0 then
        return true
    end
  
    local started = getPlayerStartedTasks(cid)
  
    if isPlayer(target) then
        return true
    end
  
    if started and #started > 0 then
        for _, id in ipairs(started) do
            if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then
                for _, member in ipairs(partyMembers) do
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < 0 then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, 0)
                    end
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < tasks[id].killsRequired then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) + 1)
                        doPlayerSendTextMessage(member, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. tasks[id].raceName .. " already killed.")
                    end
                end
            end
        end
    end
  
    return true
end
TFS 1.5 7.72 by Nekiro, alredy updatet this information, sorry. I'll test it tomorrow and confirm if it works bro!
 
Nie wiem, jaka jest twoja wersja TFS. Przy wysyłaniu ważne jest, aby poinformować o wersji swojego silnika, ok


[KOD=lua]funkcja onKill(cid, cel, lastHit)
lokalni członkowie party = getPartyMembers(cid)

jeśli nie partyMembers lub #partyMembers == 0 to
zwróć prawdę
koniec

lokalnie uruchomione = getPlayerStartedTasks(cid)

jeśli isPlayer (cel) to
zwróć prawdę
koniec

jeśli rozpoczęto i #rozpoczęto > 0, to
dla _, id w ipairs (rozpoczęte) zrób
if isInArray(tasks[id].creatures, getCreatureName(target):lower()) to
dla _, członek w ipairs (partyMembers) tak
if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < 0 to
setPlayerStorageValue(element, KILLSSTORAGE_BASE + id, 0)
koniec
if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < task[id].killsRequired then
setPlayerStorageValue(członek, KILLSSTORAGE_BASE + identyfikator, getPlayerStorageValue(członek, KILLSSTORAGE_BASE + identyfikator) + 1)
doPlayerSendTextMessage(member, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. task[id].raceName .. " już zabity.")
koniec
koniec
koniec
koniec
koniec

zwróć prawdę
koniec
[/KOD]
Działa idealnie
!!Appreciate!
 
I don't know what your version of TFS is. When posting, it is important to inform the version of your engine, ok


Lua:
function onKill(cid, target, lastHit)
    local partyMembers = getPartyMembers(cid)
  
    if not partyMembers or #partyMembers == 0 then
        return true
    end
  
    local started = getPlayerStartedTasks(cid)
  
    if isPlayer(target) then
        return true
    end
  
    if started and #started > 0 then
        for _, id in ipairs(started) do
            if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then
                for _, member in ipairs(partyMembers) do
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < 0 then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, 0)
                    end
                    if getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) < tasks[id].killsRequired then
                        setPlayerStorageValue(member, KILLSSTORAGE_BASE + id, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) + 1)
                        doPlayerSendTextMessage(member, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(member, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. tasks[id].raceName .. " already killed.")
                    end
                end
            end
        end
    end
  
    return true
end
Now tasks only if people are in party (if you play without party, task not count) and you can stay in other city, task count still if you are in party
 
Back
Top