OTS Master
User
- Joined
- Mar 6, 2009
- Messages
- 13
- Reaction score
- 0
Poniewaz na TORG'u nie potrafi nikt docenic ani skomentowas skryptu postanowilem go zapodac tutaj.
Skrypciki na Baliste, ktora strzela w graczy i potwory be?tami i Katapulte, kt?ra strzela kamieniami tez w graczy i potwory.
~ Testowane na TFS 0.3b3 ~
Balista
./data/globalevents/globalevents.xml:
W interval dajemy co ile sekund ma strzelac.
Balista.lua:
Ballist - Pozycja balisty.
Ballista_Min_Dmg - Ile najmniej walnie.
Ballista_Max_Dmg - Ile najwiecej walnie.
Katapulta
./data/globalevents/glboalevents.xml:
Znowu w interval dajemy co ile sekund ma strzelac.
Catapult.lua:
Catapult - Pozycja katapulty.
Catapult_Min_Dmg - Ile najmniej walnie.
Catapult_Max_Dmg - Ile najwiecej walnie.
Link do filmiku YouTube:
Mam jedno zastrzezenie, radze postawic jakiegos NPC obok balist/katapult bo, gdy nie ma nikogo na ekranie, a bedzie uzyte table.getn~ to tablica bedzie pusta i silnik bedzie nam bledy wystrzeliwywal, ze nie mozna table.getn wykonac.
#edit:
prosze o przeniesienie do odpowiedniego dzialu
Skrypciki na Baliste, ktora strzela w graczy i potwory be?tami i Katapulte, kt?ra strzela kamieniami tez w graczy i potwory.
~ Testowane na TFS 0.3b3 ~
Balista
./data/globalevents/globalevents.xml:
Code:
<globalevent name="Ballista" interval="1" script="Ballista.lua"/>
Balista.lua:
Code:
function onThink(interval, lastExecution)
-- Ballista Config
local Ballista = {x = 905 , y = 1730 , z = 7}
local Ballista_Min_Dmg = 100
local Ballista_Max_Dmg = 300
-- Do not edit below!
local Ballista_Spec = getSpectators(Ballista, 9, 9, false)
local Damage = math.random(Ballista_Min_Dmg, Ballista_Max_Dmg)
local Shooted = FALSE
for i = 1, table.getn(Ballista_Spec) do
local Target = Ballista_Spec[i]
local TargetPos = getCreaturePosition(Target)
if (isNpc(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then
doSendDistanceShoot(Ballista, TargetPos, CONST_ANI_BOLT)
doSendMagicEffect(TargetPos, CONST_ME_DRAWBLOOD)
doCreatureAddHealth(Target, -Damage)
doSendAnimatedText(TargetPos, Damage, TEXTCOLOR_RED)
Shooted = TRUE
end
end
return TRUE
end
Ballist - Pozycja balisty.
Ballista_Min_Dmg - Ile najmniej walnie.
Ballista_Max_Dmg - Ile najwiecej walnie.
Katapulta
./data/globalevents/glboalevents.xml:
Code:
<globalevent name="Catapult" interval="1" script="Catapult.lua"/>
Catapult.lua:
Code:
function onThink(interval, lastExecution)
-- Catapult Config
local Catapult = {x = 908 , y = 1729 , z = 7}
local Catapult_Min_Dmg = 100
local Catapult_Max_Dmg = 300
-- Do not edit below!
local Catapult_Spec = getSpectators(Catapult, 9, 9, false)
local Damage = math.random(Catapult_Min_Dmg, Catapult_Max_Dmg)
local Shooted = FALSE
for i = 1, table.getn(Catapult_Spec) do
local Target = Catapult_Spec[i]
local TargetPos = getCreaturePosition(Target)
if (isNpc(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then
doSendDistanceShoot(Catapult, TargetPos, CONST_ANI_LARGEROCK)
doSendMagicEffect(TargetPos, CONST_ME_BLOCKHIT)
doCreatureAddHealth(Target, -Damage)
doSendAnimatedText(TargetPos, Damage, TEXTCOLOR_RED)
Shooted = TRUE
end
end
return TRUE
end
Catapult - Pozycja katapulty.
Catapult_Min_Dmg - Ile najmniej walnie.
Catapult_Max_Dmg - Ile najwiecej walnie.
Link do filmiku YouTube:
Mam jedno zastrzezenie, radze postawic jakiegos NPC obok balist/katapult bo, gdy nie ma nikogo na ekranie, a bedzie uzyte table.getn~ to tablica bedzie pusta i silnik bedzie nam bledy wystrzeliwywal, ze nie mozna table.getn wykonac.
#edit:
prosze o przeniesienie do odpowiedniego dzialu
Last edited: