What's new

Balista i Katapulta

Status
Not open for further replies.

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:
Code:
<globalevent name="Ballista" interval="1" script="Ballista.lua"/>
W interval dajemy co ile sekund ma strzelac.
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"/>
Znowu w interval dajemy co ile sekund ma strzelac.
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 :p
 
Last edited:

Xbass

New User
Joined
Sep 12, 2008
Messages
0
Reaction score
0
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

brawo :D skrypt wyglada super w grze!
 

Hoxaver

Advanced User
Joined
Apr 4, 2008
Messages
300
Reaction score
60
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Skrypt ca?kiem fajny i mo?e si? przyda? jako urozmaicenie do OTS'a.
 

wojti124

Active User
Joined
Aug 14, 2008
Messages
99
Reaction score
20
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Super skrypcik bardzo przydatny do ots'a no i tak jak kolega up s?dz? ?e najlepszy do urozmaicenia ots'a;):cool:
 

Gelio

Senior User
Joined
Apr 10, 2008
Messages
617
Reaction score
101
Age
28
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

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.
Wystarczy lekko edytowa? ten skrypt, ?eby wszystko dzia?a?o i nie trzeba NPC. Oto skrypty edytowane by Gelio (ja):
Balista:
Code:
function onThink(interval, lastExecution)
-- Small edit by Gelio
	-- 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
	if(#Ballista_Spec > 0) then
		for i = 1, #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
	end
	return TRUE
end
Katapulta:
Code:
function onThink(interval, lastExecution)
-- Small edit by Gelio
	-- 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
	if(#Catapult_Spec > 0) then
		for i = 1, #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
	end
	return TRUE
end
I powinno wszystko bez b??d?w dzia?a?. Autor mo?e te skrypty zamie?ci? w pierwszym po?cie. Skrypt og?lnie mo?e by?. Sam nie mia?bym nawet pomys?u, ?eby co? takiego zrobi?.


Pozdro,
Gelio

@edit
I wed?ug mnie lepiej by by?o zrobi?, ?e bije tylko monsterki, bo tak to jaki? gracz sobie idzie obok tego i nagle dead. Przyk?adowo 8 lvl cieszy si?, ?e wbi? na ots, dosta? jakie? good itemy i nie ma aol, idzie ko?o tego, a tu dead i straci?. Po czym wychodzi z ots, dodatkowo m?wi?c: noob ots. Dlatego sugeruje dodanie obok isNpc jeszcze isPlayer.

@down
Ok. Zedytuj post na g?rze, bo nie ka?dy czyta informacje pod skryptem. Tak ?eby nie by?o w og?le b??d?w. Bo nie ka?demu b?dzie si? chcia?o NPC stawia? tam.

@down edit
To mo?e zr?b, ?e od kt?rego? levela atakuje. To przynajmniej noob?w z 8 lvl nie b?dzie bi?. getPlayerLevel

@wiewiorQ & Micki
Napiszcie w zam?wieniach, bo ju? widz?, ?e da si? zrobi? ;p

@michalek360
Ok. Po prostu t? lini?:
Code:
			if (isNpc(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then
zamie? na:
Code:
			if (isNpc(Target) == FALSE and isPlayer(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then
Powinno dzia?a?.
 
Last edited:

OTS Master

User
Joined
Mar 6, 2009
Messages
13
Reaction score
0
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Pocz?tkowo bylo isPlayer, ale nalegali na mnie zeby szczelalo tez w graczy. :p
 

Szamanmoiz

User
Joined
May 31, 2008
Messages
17
Reaction score
1
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Da?o by si? to przerobi? ?eby atakowa?o tylko graczy??
 

wiewiorQ

Advanced User
Joined
Jun 6, 2008
Messages
347
Reaction score
11
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

A mo?e przerobi? to ?eby nie atakowa?o graczy jak napisze si? do NPC?
 

Micki

Advanced User
Joined
May 2, 2009
Messages
373
Reaction score
23
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

A mo?e da si? przerobi? ?eby atakowa?o wiewiorQ Spamera ???
Wszystko si? da tylko nie ka?dy zrobi po??czenie globalevents z npc hmm CZARNA MAGIA Zawo?ajmy Magic Hereos mo?e on co? wykombinuje albo nasz stary dobry Gelio...



PoZdro
 

michalek630

Advanced User
Joined
May 1, 2008
Messages
210
Reaction score
14
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Super skrypt 10/10
Ale ja bym prosi? Gelio o to aby przerobi? go, ?e atakuje tylko monsterki :eek:
 

Fridek

Active User
Joined
May 1, 2009
Messages
80
Reaction score
2
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

nice , ale na TFS'ie 3b3 wyskakuje b??d po zamienieniu

Code:
if (isNpc(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then

na

Code:
if (isNpc(Target) == FALSE and isPlayer(Target) == FALSE and getPlayerAccess(Target) < 3 and Shooted == FALSE) then

B??d:

data/globalevents/scripts/Balista.lua:28: '<eof>' expected near 'end'
 

Oskar

Forum friend
Joined
Jan 24, 2009
Messages
2,256
Reaction score
331
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Pytanie:
Jak sprawi? by atakowa?o kilka ballist/katapult, kt?re znajduj? si? obok siebie?
 

Ivex

Active User
Joined
Jul 5, 2009
Messages
81
Reaction score
2
Age
34
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

?wietny skrypt, ale bez edycji dokonanej przez Gelio by?by przeci?tny.
10/10 Dzi?ki Gelio za t? poprawk? bardzo si? przyda?o=)
 

Callera

User
Joined
Aug 17, 2009
Messages
22
Reaction score
0
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Zapisze sobie oczywi?cie skrypt super ! :)


Napewno u?yje na jednym z Questow na moim OTSie.. :D
 

Oskar

Forum friend
Joined
Jan 24, 2009
Messages
2,256
Reaction score
331
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

Pytanie kolejne:
Czy da?oby si? to wrzuci? w Actions? Bo gdy jest to w globalevents to serwer strasznie muli.
 

Szkal96

Advanced User
Joined
Jul 17, 2009
Messages
187
Reaction score
10
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

1. dlaczego skrypt to globalevent jest w dziale action?
2. nie rozumiem, ale czy balista/katapulta ma SAMA (bez cz?owieka) strzela?? ciekawe, nie ma co.. --
3. a po za tym spoko =D

@Oskar1121
darowanemu koniowi nie zagl?da si? w z?by .. -- zostaw w globalevents tylko zwi?ksz interwal to rzadziej b?dzie muli? xD i b?dzie bezpieczniej.. teoretycznie
 
Joined
Mar 9, 2009
Messages
23
Reaction score
0
Odp: [Global Event] Balista i Katapulta

Odp: [Global Event] Balista i Katapulta

ey mozesz mi pomoc bo jak dodaje skrypt to w silniku blad mi wyskakuje i tak jest z innymi skryptami ;(
 
Status
Not open for further replies.
Top