• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Creaturescripts Licznik zab?jstw.

Status
Zamknięty.

ErMex

Egzekucja
Dołączył
Grudzień 1, 2010
Posty
574
Liczba reakcji
177
Skrypt napisany przez Theax.
Oryginalny temat:

My?l?, ?e nie musz? dok?adnie opisywa? co to robi. Screen w zupe?no?ci wystarczy. Je?li damy na kogo? look to poka?e nam ile dana osoba zabi?a os?b.
fragz.png


Data/creaturescripts/scripts/fraglook.lua:
Kod:
function getPlayerFrags(cid)
    local time = os.time()
    local times = {today = (time - 86400), week = (time - (7 * 86400))}
 
    local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` 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` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
    if(result:getID() ~= -1) then
        repeat
            local content = {date = result:getDataInt("date")}
            if(content.date > times.today) then
                table.insert(contents.day, content)
            elseif(content.date > times.week) then
                table.insert(contents.week, content)
            else
                table.insert(contents.month, content)
            end
        until not result:next()
        result:free()
    end
 
    local size = {
        day = table.maxn(contents.day),
        week = table.maxn(contents.week),
        month = table.maxn(contents.month)
    } 
    return size.day + size.week + size.month
end 
 
function onLogin(cid)
    registerCreatureEvent(cid, "fraglook")
    return true
end
 
function onLook(cid, thing, position, lookDistance)
    if isPlayer(thing.uid) and thing.uid ~= cid then
        doPlayerSetSpecialDescription(thing.uid,'[Zabojstw: '..getPlayerFrags(thing.uid)..']')
        return true
    elseif thing.uid == cid then
        doPlayerSetSpecialDescription(cid,'[Zabojstw: '..getPlayerFrags(cid)..']')
        local string = 'You see yourself.'
        if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
            string = string..' You are '.. getPlayerGroupName(cid) ..'.'
        elseif getPlayerVocation(cid) ~= 0 then
            string = string..' You are '.. getPlayerVocationName(cid) ..'.'
        else
            string = string..' You have no vocation.'
        end
        string = string..getPlayerSpecialDescription(cid)..''
 
        if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
            string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.'
        end
 
        if getPlayerGuildId(cid) > 0 then 
            string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
            string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
        end 
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
            string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
            string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
            string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)  
        return false
    end
    return true
end

Data/creaturescripts/creaturescripts.xml:
Kod:
	<event type="login" name="fraglook_register" event="script" value="fraglook.lua"/> 
      <event type="look" name="fraglook" event="script" value="fraglook.lua"/>
 
Odp: Licznik zab?jstw.

Dobry skrypt, mi dzia?a ?wietnie.
Tylko mam pytanie, czy mo?na by by?o zrobi? ?e obok tego zab?jstw:x jest napisane jakiego gracza ostatnio zabi? ?
 
Odp: Licznik zab?jstw.

Da?o by si? zrobi? taki licznik tylko dla jednej wybranej profesji?
 
Odp: Licznik zab?jstw.

Zaraz pod:
PHP:
function onLook(cid, thing, position, lookDistance)
Dodaj:
PHP:
if isInArray({numery_profesji}, getPlayerVocation(cid)) then
I przed return true daj end.

PS. 1100 post.

#down
A co to ma wsp?lnego z tematem?
 
Ostatnia edycja:
Odp: Licznik zab?jstw.

Witam,
Te? mam pro?b? :) chcia?bym ?eby wy?wietla?o tam :
Przy profesjach magicznych Mlvl, przy paladynie wy?wietla?o Dist., a przy rycerzu ten skill kt?ry jest wi?kszy (np. je?li ma wi?kszy Sword f. to wy?wietla jaki ma skill sworda)
Pozdrawiam
Stasiorex ;D
 
Odp: Licznik zab?jstw.

Witam!
Skrypt bardzo ciekawy, ale jak zrobi? aby na GM nie pisa?o? Bo mi si? co? psuje i robi si? takie co?:

08:38 You see yourself. You are god.[FRAGS: 0]nHealth: [1 / 1], Mana: [1 / 1?.nIP: 5.133.12.124.nPosition: [X:999] [Y:1006] [Z:7].

"nPosition" "?.nIP: "

Z g?ry dzi?ki na pomoc Reput leci;p
 
Odp: Licznik zab?jstw.

Tego szuka?em jeste? moim wybawc? bo sam nigdy bym tergo nie napisa?.
Wielkie dzi?ki .
 
Odp: Licznik zab?jstw.

MI to nie dzia?a jak kogo? zabije to pisze 0 zab?jstw ; /
Prosz? o pomoc mam TFSa 0.4_dev
 
Odp: Licznik zab?jstw.

W c++ by?a by to kwiestia 1-2 linijek, no ale w lua te? si? przyda. Szkoda ?e nie tw?j!

Pozdrawiam!
Yoxino
 
Status
Zamknięty.
Do góry