Forum

> > CS2D > Scripts > NPC Menü
ForenübersichtCS2D-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch NPC Menü

25 Antworten
Seite
Zum Anfang Vorherige 1 2 Nächste Zum Anfang

alt NPC Menü

TheKevKev
User Off Offline

Zitieren
Hey,
das ist für heute meine letzte Frage und zwar möchte ich NPC bauen/schreiben wie in Rpg Tibia das man da hingeht und "e" drückt. Dann soll ein Menü kommen. Sodass man was kaufen kann :). Nur habe ich noch das Problem wegen den Koordinaten das kapiere ich auch nicht :(. Naja wäre nochmal schön wenn mir einer helfen kann wie man das schreiben soll.
.
1. z.B auf 6/1 soll ein NPC stehen.
2. wenn man "e" drückt soll ein Menü aufploben also aufgehen sodass man was kaufen kann

PS: Kann mir noch jemand erklären wie das geht mit den Koordinaten das irgendwie 1/1 = 2001/1794 ist. Es stimmt nicht das ist mir klar aber wäre schon gut wenn es mir jemand *hust* erklären würde.

Mfg
TheKevKev.

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Versuch es mal mit :

1
2
3
4
5
6
7
function VARIABLE(id,"x","y")
	if (x==0 and y==0) then
		if title =="Blablabla" then
			if b==1 then
			parse ("equip"..id.." 45")
			if b==2 then
...........

Das ist ein Beispiel. Das müßte so eigendlich funktionieren, nur mit denn Koordinaten ändern, und noch das Menü machen und noch
1
if player(id,"money")=> 10000 then
vor denn
1
parse ("equip"..id.." 45")
machen.
Das Geld (Im bsp.) solltest du dann aber noch ändern!
Ich hoffe das hat dir geholfen, bin noch Noob im Scripten (Hab gerade mal mein 1. Script mit Hilfe geschafft)

Hab jetzt vergessen wie man Geld abzieht! Hab zwar mal ein Script gemacht wo das geht, habs aber vergessen!
Sorry :D.
Ich glaube
1
2
if player(id,"money")=> 10000 then
parse ("setmoney"..id.." -10000")

Aber im String (Also "") gibt es aber glaube ich nur Buchstaben, also behandelt er das -10000 wie ein Wort. Aber was weiß ich :D. Warte andere Antworten ab. Falls es hilft, guck unter sys/lua/info.txt. Da steht bestimmt nochmal alles!
Denn NPC (Ich schätze du meintest eine Person, kein NPC wie Zombie) kannst du einfach mit einem Sprite einfügen!

Ich hoffe ich konnte dir helfen ^^.


~EDIT:~

Achja, die Variable (In diesen fall VARIABLE) mußt du beim
1
addhook ("menu","VARIABLE")
verwenden!
Denn rest müßtest du einfach in einem anderen Menü-Script abgucken können (z.B. sys/lua/samples/classes.lua)

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
OK danke aber was ist mit:
1
function VARIABLE

?? muss man das ersetzten und wie geht das jetzt mit den Koordinaten ? was ist den 1/1.
weil ich kann ja nicht bei if (x==1 and y==0) then eintragen ? oder doch *hä*

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Auf welchen Tile soll der NPC sein?
z.B.

13/42

Das heißt

13 = x
42 = y

Also
1
x==13 and y==42

Falls du in der Schule aufgepasst hättest wüßtest du, das x die Linie von
Links nach Rechts

und

das y die Linie von
Oben
nach
Unten
ist

Und x kommt immer als erstes!

VARIABLE ist einfach nur ein Name denn man beliebig ändern kann. Du kannst auch "DieseVariablehatkeinensinnundisteinfachnurübertriebenLANG" nehmen.

~EDIT:~

Achja, vergess die "end"s nicht!
Jedes "if" und jede "function" braucht ein end

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
ja das wusste ich aber viele sagen das man das umrechnen muss weil ein tile 32x 32 ist und ja ich habe in der schule aufgepasst ich weiß wo x und y ist xD.

Edit:
und b==1 ist F1 oder ?

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Ja, keine ahnung mit denn tiles ... Ich bin neu in der Lua Welt ^^.
Ich glaube pro TILE, weil ein Knopf (Also trigger_use) kann man ja auch nur "Oben","Unten","Rechts","Links" machen, und nicht jeden Tile. Aber was wir hier machen hat damit ja GARNICHTS zu tun, ausser vllt. das man 'E' drücken muss
Also
b==1 ist die erste Waffe die man kaufen kann! Wenn du das mit F1 machen willst, musst du das addhook "serveraction" nehmen :D.

Also wenn die erste Waffe bei dir "Deagle" ist, dann ist b==1 die Deagle :D.
Du kannst es auch wie im Sample machen (Unnötig verKOMPLIZIERT) xD< Nein das war unwitzig!
Achja, vllt weisst du es,
Wie kann ich es machen, das z.B. BEI NUR F1 das Menü kommt, bei keinen anderen. Wie geht das? Falls du's nicht weiß, egal.


~EDIT:~
>b = button

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
du meinst wie die die Npc hingesetzt haben ?
oda what ?
oder DC soll mir helfen :o)

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Die NPC's also das Bild machst du einfach im Editor! Mit Sprite! Und dann mach dort (Beliebig) ein DynWall damit man nicht "in" denn Player gehen kann!

Ich meine, wie die das gemacht haben!
Wenn du deren Script benutzt auf deinen Server, sieht das ja keiner (lach).

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
hmm naja ich glaube ich mache lieber einfachere Dinge xD.
Bin nicht gut im Scripten, ich verstehe gerade mal ein paar sachen :D. Danke trotzdem

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Jo Hab da was gefunden :D.
Was soll denn der NPC gewirken? Ein Menü (Wie in meinen ersten Upload "Kauf Menü")? Eine Aktion (z.B. Explosion)?
Mach das doch einfach so
Behandle (Da wo der NPC steht) das doch einfach als Knopf:

1
2
3
4
5
6
addhook("use","use_")
function use_(id,event,data,x,y)
if (x == 1 and y == 1) then
menu(id,"Waffen-Menü,RPG|LOL,Laser|Übertrieben?")
end
end

Jetzt hast du sogar das Menü schon eingebaut!!!

Jetzt fehlt nur noch die Menü-Action!
Die könnte dann so aussehen:

1
2
3
4
5
6
7
8
9
10
11
12
13
addhook("menu","menu_")
function menu_(id,title,b)
if title=="Waffen-Menü" then
-- RPG Launcher Settings
if b==1 then
parse ("equip"..id.." 49")
end
-- Laser Settings
if b==2 then
parse ("equip"..id.." 45")
end
end
end

>So müsste es laufen, habs noch nicht getestet :D.
Jetzt musst du nur noch deine Waffen eintragen, dein Menü-Namen ändern und die Position ändern.
(Sorry das ich nicht getabt habe, ich kann das so schlecht hier!)

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
ja ein menü. ey du bist ein gedankenleser

Edit:
Danke noch weil irgendwie kann ich gar nciht so richtig Scripten ist manchmal schwierig

Es geht nicht habe alles reingemacht aber wenn ich use drücke geht nichts
1× editiert, zuletzt 29.04.11 19:06:13

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Du kannst gucken was falsch ist, wenn du die Console öffnest (Indem du auf "^") drückst!
Hab ich bei meinen Fragen auch gemacht!
Mach das mal bitte!

Und probiere mal das:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function menu_settings
menu(id,"Waffen Menü,RPG|Text,Laser|Text")
end

addhook("use","use_")
function use_(id,event,data,x,y)
if (x == 1 and y == 1) then
menu_settings(id)
end
end

addhook("menu","menu_")
function menu_(id,title,b)
if title=="Waffen-Menü" then
-- RPG Launcher Settings
if b==1 then
parse ("equip"..id.." 49")
end
-- Laser Settings
if b==2 then
parse ("equip"..id.." 45")
end
end
end

Du musst nur die Koordinaten ändern!

Vergess die (id)s nicht! Die sind wichtig!

Achja,:
Woher ich das weiss mit denn Menü?
user TheKevKev hat geschrieben
1. z.B auf 6/1 soll ein NPC stehen.
2. wenn man "e" drückt soll ein Menü aufploben also aufgehen sodass man was kaufen kann


LOL
------------------------------------------------
--- WERBUNG xDDDD: ---------------------
------------------------------------------------
Ich sag dir aber schonmal wie man sachen kauft (Also das man Geld verliert :D):
1. Lade dir mein 1. Script runter "Kauf Menü".
2. Guck in meinen Script, wie ich es gemacht habe
3. Setzte es bei dir ein :D.

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
ich habe die scheiß *sry* Koordinaten geändert aber es kommt kein Menü

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Dann mach mal schritt eins, also guck in der Console !!!
Da müßte dann eigendlich sowas stehen wie "LUAERROR:10: end expectet (to near 'function') <eof>.
Das wäre ein typischer Fehler, bei denn man ein end vergessen hat!

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
Ja bei deinem SCript kommt ein ERROR das Beispiel wo du mir gegeben hast:
LUUA ERROR:sys/lua/NPC.lua.:2 : '(' expected near 'menu'

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
LOL, ja verbesser das! Aber da ich sowieso gerade schreibe mach ichs mal
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
function menu_settings
--[[ EINE LÜCKE ZWISCHEN "menu" UND "(" IST VERGESSEN WORDEN]]
menu (id,"Waffen Menü,RPG|Text,Laser|Text")
end

addhook("use","use_")
function use_(id,event,data,x,y)
if (x == 1 and y == 1) then
menu_settings(id)
end
end

addhook("menu","menu_")
function menu_(id,title,b)
if title=="Waffen-Menü" then
-- RPG Launcher Settings
if b==1 then
parse ("equip"..id.." 49")
end
-- Laser Settings
if b==2 then
parse ("equip"..id.." 45")
end
end
end

Tu das nächstes mal bitte in code
[code]Blablabla[/ code]
nur beim 2. Code die leertaste weg!

alt Re: NPC Menü

TheKevKev
User Off Offline

Zitieren
ich musste die leertaste hinmachen weil das system ein smiley gemacht hat was hätte ich den tun sollen :D.
bescheid sagen das höchstens

Edit:
Der fehler kommt immer noch habe es probiert

alt Re: NPC Menü

Bowlinghead
User Off Offline

Zitieren
Wie? Nimm doch einfach
1
2
3
! Dann kommen keine Smileys!
Siehst du:
[code] :D  :(  ;)  :O  :cry:  :oops:  :cool:  o_O  :P  :talk:  :roll:  :halfhead:  :sick: :>::cookie::us::notok::ok::*::'::o: ]:)  :par-t:  :ugly:

------------------

Probier mal das! Aber ich glaube an der stelle muss ein trigger_use sein! Probier beides aus (Einmal ohne trigger_use, und einmal mit)

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
function menu_settings
menu (id,"Waffen Menu,RPG|Text,Laser|Text")
end

addhook ("usebutton","usebutton_")
function usebutton_(id,x,y)
	if x==1 and y==1 then
	menu_settings
	end
end


addhook("menu","menu_")
function menu_(id,title,b)
	if title=="Waffen Menu" then
-- RPG Launcher Settings
		if b==1 then
		parse ("equip"..id.." 49")
		end
-- Laser Settings
		if b==2 then
parse ("equip"..id.." 45")
		end
	end
end

Wenn es nicht geht, wie gesagt mach mal mit nehm triggr_use!
Wenn es nicht geht, was steht in der Console?
Zum Anfang Vorherige 1 2 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtCS2D-ÜbersichtForenübersicht