<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>
<event type="login" name="PlayerLogin" event="script" value="login.lua"/>
<event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/>
<event type="receivemail" name="Mail" event="script" value="mail.lua"/>
<event type="reportbug" name="SaveReportBug" script="reportbug.lua"/>
<event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/>
<event type="think" name="Idle" event="script" value="idle.lua"/>
<event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/>
<event type="death" name="PythiusDead" script="pythius_the_rotten.lua" />
<event type="death" name="monster2" event="script" value="monster2.lua"/>
<event type="death" name="inquisitionPortals" script="teleports_inquisition.lua"/>
<event type="login" name="welcome" event="script" value="welcome.lua"/>
<event type="advance" name="money" event="script" value="moneyAdvance.lua"/>
<event type="advance" name="money100" event="script" value="moneyAdvance100.lua"/>
<event type="advance" name="money150" event="script" value="moneyAdvance150.lua"/>
<event type="advance" name="money200" event="script" value="moneyAdvance200.lua"/>
<!-- Custom systems -->
<event type="login" name="FirstItems" event="script" value="firstitems.lua"/>
<event type="kill" name="PlayerKill" event="script" value="arenakill.lua"/>
<event type="death" name="inquisitionPortals" event="script" value="inquisitionPortals.lua"/>
<event type="death" name="bluelegs" event="script" value="bluelegs.lua"/>
<event type="logout" name="demonOakLogout" event="script" value="demonOakLogout.lua"/>
<event type="death" name="demonOakDeath" event="script" value="demonOakDeath.lua"/>
<event type="death" name="Azerus" event="script" value="azerus.lua"/>
<event type="kill" name="KillingInTheNameOf" event="script" value="killinginthenameof.lua"/>
<event type="kill" name="TopFrags" event="script" value="topfrags.lua"/>
</creaturescripts>
local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
function onLogin(cid)
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, "TopFrags")
registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "Firstitems")
registerCreatureEvent(cid, "AdvanceSave")
registerCreatureEvent(cid, "attackguild")
registerCreatureEvent(cid, "demonOakLogout")
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "KillingInTheNameOf")
registerCreatureEvent(cid, "PlayerKill")
registerCreatureEvent(cid, "PythiusDead")
registerCreatureEvent(cid, 'advance')
registerCreatureEvent(cid, 'inquisitionPortals')
registerCreatureEvent(cid, 'bluelegs')
registerCreatureEvent(cid, 'money')
registerCreatureEvent(cid, 'money100')
registerCreatureEvent(cid, 'money150')
registerCreatureEvent(cid, 'money200')
registerCreatureEvent(cid, 'welcome')
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
na poczatku skryptu, ktory reagowac ma tylko na mobyif isPlayer(cid) then
return true
end
local config = {
teleportId = 1387,
bosse = "Pythius The Rotten"
}
local portal_in_pos = {x = 319, y = 841, z = 15}
function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "PythiusDead")
if config.bosse == getCreatureName(cid) then
local position = portal_in_pos
teleport = doCreateItem(config.teleportId,1,position)
doSetItemActionId(teleport, 9022)
end
return TRUE
end
function onDeath(cid, corpse)
if getPlayerStorageValue(cid, 36901) > 0 and getPlayerStorageValue(cid, 35700) < 1 then
doPlayerSetStorageValue(cid, 36901, 0)
end
return true
end
local config = {
message = "You have 45 seconds for back use Death Monster For Teleport You.",
timeToRemove = 60, -- seconds
teleportId = 1387,
bosses = {
["Ushuriel"] = { x = 172, y = 559, z = 13 },
["Annihilon"] = { x = 294, y = 681, z = 13},
["Hellgorak"] = { x = 255, y = 467, z = 13},
["Madareth"] = { x = 287, y = 365, z = 13},
["Zugurosh"] = { x = 314, y = 474, z = 13},
["Latrivan"] = { x = 408, y = 413, z = 13},
["Tirecz"] = { x = 33061, y = 31029, z = 7 }
}
}
local function removal(position)
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
return TRUE
end
function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "inquisitionPortals")
local position = getCreaturePosition(cid)
for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
teleport = doCreateTeleport(config.teleportId, pos, position)
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
addEvent(removal, config.timeToRemove * 1000, position)
doSendMagicEffect(position,65)
end
end
return TRUE
end
ja jednak bym się sprzeczał, gdyż postać mu pada, coś tu jest bardziej pogmatwane...ok.. kto robi za dr.house?
ja stawiam diagnose ze mu brakuje gdzies return true na koncu skryptu
wywal skrypt pythius_the_rotten.lua on ci na 100% buguje