Nur Objekte aus einem Radius anzeigen lassen?
Übersicht

ToastyBetreff: Nur Objekte aus einem Radius anzeigen lassen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
für ein kleines RPG schreibe ich jetzt die NPCs. Der Client soll alle 2 Sekunden abfragen, ob es NPCs im Umfeld von seiner Position gibt. Wie stelle ich das an? Forensuche hat nichts ergeben bzw. habe nach falschen Begriffen gesucht... Gruß Toasty |
||
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Entweder Du nimmst EntityDistance![]() ![]() |
||
Starfare: Worklog, Website (download) |
Toasty |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kannst du mir vielleicht einen Pseudo Code schreiben? | ||
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
![]() |
Johannes´ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir jetzt wirklich nicht sicher, ob ich dein Problem verstanden habe.
Scheitert es einfach an der Anzeige der NPCs im Radius? Oder brauchst du Netztwerk-Code? Machst du das überhaupt in 3D? Für einfache Radiusprüfung in 3D wäre es so (wenn du Types benutzt): Code: [AUSKLAPPEN] For n.npc=Each npc
If EntityDistance(spieler,n\modell)<=radius Then ShowEntity n\modell Else HideEntity n\modell EndIf Next Wobei das Hide- und Showentity ja nicht immer passend ist. |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und in 2D benutzt man einfach den Satz des Pythagoras:
Code: [AUSKLAPPEN] If Sqr((x2 - x1)^2 + (y2 - y1)^2) <= radius then ZeigeGegnerAn=True
mfg, Tennisball |
||
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für 2d sollte im allgemeinen ja auch einfach reichen, wenn du überprüfst, ob die x und y koordinaten >= 0 und <= bildschirmbreite/höhe sind. Außer du willst halt das sie erst später aufploppen | ||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
Toasty |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Tennisball:
Okay so einfach geht das ![]() Ich hab das jetzt mal so gemacht: Code: [AUSKLAPPEN] If NPC_x(i)<Int(t_x#)+NPC_PLAYER_VISIBLE_RADIUS And NPC_x(i)>Int(t_x#)-NPC_PLAYER_VISIBLE_RADIUS Then
If NPC_y(i)<Int(t_y#)+NPC_PLAYER_VISIBLE_RADIUS And NPC_y(i)>Int(t_y#)-NPC_PLAYER_VISIBLE_RADIUS Then Aber der Code ist 1.total unübersichtlich und ich denke mal dass der auch nicht funktioniert hätte... Gruß und danke Toasty |
||
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group