Forum

> > CS2D > Scripts > Tibia script thread (Post tibia requests here)
ForenübersichtCS2D-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Englisch Tibia script thread (Post tibia requests here)

347 Antworten
Seite
Zum Anfang Vorherige 1 25 6 717 18 Nächste Zum Anfang

alt Re: Tibia script thread (Post tibia requests here)

ExecL
User Off Offline

Zitieren
when i host a tibia server with cs2d dedicated and i join theres no way for me to ban hackers and kick laggers so
i tryed adding them my self but it had a lot of errors so could you add ban and kick to this?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
addhook('say','adminCommands',-1)
adminList = {} 
function isAdmin(id)
	for _, usgn in ipairs(adminList) do
		if player(id,'usgn') == usgn then
			return true
		end
	end
	return false
end

function adminCommands(id,words)
	if isAdmin(id) and words:sub(1,1) =='!' then
		local command = words:lower():sub(2,2)
		if words:sub(3,3) ~= ' ' and #words ~= 2 then return end
		print(player(id,'name')..' used a command:'..words)
		if command =='a' then
			local distance = tonumber(words:sub(4))
			if distance then
				local rot = math.rad(player(id,'rot')-180)
				local x, y = -math.sin(rot)*distance*32, math.cos(rot)*distance*32
				parse('setpos '..id..' '..player(id,'x')+x..' '..player(id,'y')+y)
			else
				msg2(id,'Teleport forward: "!a <distance>"')
			end
			return 1
		elseif command =='b' then
			msg('©255100100'..player(id,'name')..' : '..words:sub(4)..'@C')
			return 1
		elseif command =='c' then
			local target = tonumber(words:sub(4))
			if target then
				if player(target,'exists') then
					if target == id then
						msg2(id,'You may not teleport to yourself!')
					end
					parse('setpos '..target..' '..player(id,'x')..' '..player(id,'y'))
					return 1
				end
			end
			msg2(id,'Teleport player to you: "!c <targetid>"')
			return 1
		elseif command =='d' then
			msg('©255100100'..words:sub(4)..'@C')
			return 1
		elseif command =='e' then
			local dmg = tonumber(words:sub(4))
			if dmg then
				parse('explosion '..player(id,'x')..' '..player(id,'y')..' '..dmg..' '..dmg..' '..id)
				return 1
			end
			msg2(id,'Spawn explosion: "!e <dmg>"')
			return 1
		elseif command =='i' then
			local itemid = tonumber(words:sub(4))
			if itemid then
				additem(id,itemid)
				return 1
			end
			msg2(id,'Spawn item: "!i <itemid>"')
			return 1
		elseif command =='h' then
			local s = words:find(' ',4)
			local target = tonumber(words:sub(4,s))
			if target then
				if player(target,'exists') then
					local heal = s and tonumber(words:sub(s+1,words:find(' ',s+1))) or nil
					if heal then
						parse('explosion '..player(target,'x')..' '..player(target,'y')..' 1 '..(-heal))
						return 1
					end
				end
			end
			msg2(id,'Heal player: "!h <targetid> <amount>"')
			return 1
		elseif command =='l' then
			local script = words:sub(4)
			if script then
				msg2(id,tostring(assert(loadstring(script))() or 'done!'))
				return
			end
			msg2(id,'Run lua script: "!l <script>"')
			return 1
		elseif command =='m' then
			if gettile(player(id, 'tilex'), player(id, 'tiley')).SAFE then
				msg2(id,'You may not spawn a mosnter in a safe zone.')
				return 1
			end
			local name = words:sub(4)
			if name then
				for i, v in pairs(CONFIG.MONSTERS) do
					if v.name:lower() == name:lower() then
						local m = deepcopy(v)
						m.x, m.y = player(id, 'x'), player(id, 'y')
						Monster:new(m)
						msg2(id,'Monster ' .. name .. ' spawned.')
						return 1
					end
				end
			end
			msg2(id,'Monster ' .. name .. ' does not exist.')
			return 1
		elseif command =='n' then
			msg2(id,'{'..player(id,'tilex')*32+16 ..', '..player(id,'tiley')*32+16 ..'}')
			return 1
		elseif command =='o' then
			msg2(id,'{'..player(id,'tilex')..', '..player(id,'tiley')..'}')
			return 1
		elseif command =='p' then
			msg2(id,'{'..player(id,'x')..', '..player(id,'y')..'}')
			return 1
		elseif command =='q' then
			local length = tonumber(words:sub(3))
			if length then
				length = math.min(length*50,250)
				for _, id in ipairs(player(0,'table')) do
					parse('shake '..id..' '..length)
				end
				for i = 1, 6 do
					if math.random(0,1) == 1 then
						parse('sv_sound weapons/explode'..i..'.wav')
					end
				end
			else
				msg2(id,'Earthquake: "!q <length in seconds, max 5>"')
			end
			return 1
		elseif command =='s' then
			local s = words:find(' ',4)
			local target = tonumber(words:sub(4,s))
			if target then
				if player(target,'exists') then
					local speed = s and tonumber(words:sub(s+1,words:find(' ',s+1))) or nil
					if speed then
						parse('speedmod '..target..' '..speed)
						return 1
					end
				end
			end
			msg2(id,'Speed modifier: "!s <targetid> <speedmod, between -100 and 100>"')
			return 1
		elseif command =='t' then
			local target = tonumber(words:sub(3))
			if target then
				if player(target,'exists') then
					if target == id then
						msg2(id,'You may not teleport to yourself!')
					end
					parse('setpos '..id..' '..player(target,'x')..' '..player(target,'y'))
					return 1
				end
			end
			msg2(id,'Teleport to player: "!t <targetid>"')
			return 1
		elseif command =='u' then
			local delay = tonumber(words:sub(3)) or 0
			shutdown(delay*1000)
			return 1
		elseif command =='v' then
			saveserver()
			msg2(id,'Saved server!')
			return 1
		end
	end
end

alt Re: Tibia script thread (Post tibia requests here)

skillerLTU
User Off Offline

Zitieren
user Big Bang Mafia hat geschrieben
i need help, how i add stats (mana and other)
so i want to make the stat, then when i spawn with how much mana i spawn then special things that give mana then things that make mana gone. understand me? plz help. i'm new at tibia.

easy
at config.lua
     STATS = {'Experience', 'Level', 'Money', 'mana'},
or
     STATS = {'Experience', 'Level', 'Money', 'MP'},
to add it on menu.


EDIT: but idk how to add skills or something

alt Re: Tibia script thread (Post tibia requests here)

KenVo
User Off Offline

Zitieren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
elseif command =='f' then
			local target = tonumber(words:sub(4))
			if target then
				if player(target,'exists') then
					if target == id then
						msg2(id,'You may not ban yourself!')
						return
					end
					local usgn = player(target,'usgn')
					local ip = player(target, "ip")
					if ip then
						parse('banip '..ip)
					end
					if usgn then
						print(player(id, 'name').." banned "..usgn)
						parse('banusgn '..usgn)
					end
					return 1
				end
			end
			msg2(id,'Ban player: "!f <targetid>"')
			return 1	
					elseif command =='f' then
			local target = tonumber(words:sub(4))
		elseif command =='k' then
			local target = tonumber(words:sub(4))	
			if target then
				if player(target,'exists') then
					if target == id then
						msg2(id,'You may not kick yourself!')
						return
					end
					print(player(id, 'name').." kicked "..player(target,'name'))
					parse('kick '..target)
					return 1
				end
			end
			msg2(id,'Kick player: "!k <targetid>"')
			return 1

add that somewhere between the commands

alt Re: Tibia script thread (Post tibia requests here)

EngiN33R
Moderator Off Offline

Zitieren
user Big Bang Mafia hat geschrieben
i know how to do that, thanks for want help me.

But i need when i cast something that my mana ggets -10
or -1 you now? when i cast spell i lost mana. how i do that


In skills that use mana, make an if-statement that would check if mana is higher than 0.
Zum Anfang Vorherige 1 25 6 717 18 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtCS2D-ÜbersichtForenübersicht