* gdy gracz A zabija gracza B (gracz A ma białą czachę, gracz B nie ma czachy) to dostaje fraga i skrypt powinien usuwać tego fraga.
* jednak gdy gracz A zabija gracza B (obaj gracze mają czaszki) to gracz nie dostaje fraga lecz skrypt usuwa mu fraga.
Dlatego też trzeba wprowadzić warunek do tego skryptu, że jak ma czaszkę to nie usuwa fraga, a jak nie ma czaszki gracz atakujący to usuwa fraga. Oto kawałek skryptu.
Kod :
if(firstguildfrags == (completed - 1) or secondguildfrags == (completed - 1)) then
insertWarFrag(cid, target, warId)
doBroadcastMessage("Wojne pomiedzy " .. getPlayerGuildName(cid) .. " oraz " .. getPlayerGuildName(target) .. " wygrala gildia " .. getPlayerGuildName(cid) .. "!", MESSAGE_EVENT_ADVANCE)
db.executeQuery("UPDATE `war_system_list` SET `active` = 0 WHERE `id` = " .. warId .. ";")
return true
else
insertWarFrag(cid, target, warId)
return true
end
Tutaj macie funkcje, którą też próbowałem edytować - lecz moje warunki wogóle nie działają (w konsoli nie ma błędów)
Kod :
function insertWarFrag(cid, target, warid)
local namet = getPlayerName(target)
if getCreatureSkullType(target) == SKULL_NONE then
db.executeQuery("INSERT INTO `war_system_frags` (`killer`, `player`, `guild`, `level`, `date`, `war_id`) VALUES (" .. getPlayerGUID(cid) .. ", " .. getPlayerGUID(target) .. ", " .. getPlayerGuildId(cid) .. ", " .. getPlayerLevel(cid) .. ", " .. os.time() .. " , " .. warId .. ")")
db.executeQuery("UPDATE `killers` SET `unjustified` = `unjustified` - 1 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ");");
doPlayerSendTextMessage(cid, 21, "Frag from "..namet.." wasn't counted.")
elseif getCreatureSkullType(target) == SKULL_YellOW then
doPlayerSendTextMessage(cid, 21, "czacha zolta")
elseif getCreatureSkullType(target) == SKULL_RED then
doPlayerSendTextMessage(cid, 21, "czacha czerwona")
elseif getCreatureSkullType(target) == SKULL_BLACK then
doPlayerSendTextMessage(cid, 21, "czacha czarna")
end
end
Zakładki