Tut mir leid, aber ich kann (und will) manchmal nicht lesen.
Meinen eigenen Code zu pasten war einfach kürzer.
(Ausserdem ist es exakt das, wonach du gefragt hast).
Tut mir leid, aber ich kann (und will) manchmal nicht lesen.
Meinen eigenen Code zu pasten war einfach kürzer.
(Ausserdem ist es exakt das, wonach du gefragt hast).
function isDrifting(vehicle,player)
if not isVehicleOnGround(vehicle) then
return false;
end
local x,y,z = getElementVelocity(vehicle);
local rx,ry,pR = getElementRotation(vehicle);
local velocity = getDistanceBetweenPoints2D(x,y,0,0);
x = x/velocity;
y = y/velocity;
pR = pR + 90;
pR = (pR * 3.141592653 * 2)/360;
local lx,ly = math.cos(pR),math.sin(pR);
if velocity < 0.3 then
return false;
end
local skalarprodukt = x*lx + y*ly;
if skalarprodukt < 0.85 and skalarprodukt > -0.2 then
return skalarprodukt;
end
end
Alles anzeigen
Vielleicht hilfts ja.
Bis 4000 € im Jahr nicht meldepflichtig.
setOcclusionsEnabled(false)
einfügen, gucken ob "Bug" noch besteht.
Bevor wir uns jetzt an Details aufhängen:
Ich unterstütze das Projekt mit einem Server, soweit kein Compiler verwendet wird.
Ich steuere auch gerne einen Mapgenerator und andere Scripte von mir bei (alle logischerweise nicht compiliert).
Es ist nichtmal eine normale CustomMap, sondern eine von einem Algorithmus erstellte.
Insofern sollte es noch weniger ein Problem darstellen.
Ich habe mir schon überlegt für jedes Objekt eine Art Waypointmap zu erstellen, die dann übereinandergelegt wird und damit eine Wegberechnung (Serverseitig!) ermöglicht.
Derzeit bin ich aber noch am Anfang, wahrscheinlich würde ich auch eine andere Architektur verwenden, wenn ich den Generator nochmal schreibe.
Wenns "nur" ein eigener privater Spielmodus werden soll ists in Ordnung als non-pub.
Aber, ein compiliertes Release will ich nicht.
Da kann aller möglicher Scheiss mit reincompiliert werden.
Ich kann mich an einen Schlauberger erinnern, der ein compiliertes Lua Script als .fx Datei getarnt hat. Mal im Ernst. Das ist doch Wahnsinn.
Also wenn du willst helfe ich am "neuen" DayZ gerne mit, ABER nur wenn es opensource ist.
Ich unterstütze den Compilierwahnsinn nicht.
Dann kriegste meinetwegen auch nen Server von mir gehostet. FTP, Apache etc. alles mit drinnen.
Ich hätte auch eine Endlos-Map, also im Grundsatz einen Mapgenerator, der eine 8000x8000 Map on the fly generiert.
Falls daran Interesse besteht von der original GTA Map abzuweichen, gerne.
Am original DayZ habe ich einiges zu bemängeln:
1) alle 4 Stunden Servervollauslastung. Meh. Das geht auch anders.
2) da ist wirklich ALLES compiliert (siehe BoneAttachment, Zombies... mal im Ernst! Ihr könnt doch nicht einfach fremde Scripte mit einbauen und compilieren.)
3) Spawns sind nicht an den Spielerstand angepasst. Je mehr Spieler desto schwieriger wird es zu überleben. Jedoch kann man das auch positiv sehen.
4) (und das ist wahrscheinlich das wichtigste) Eigene Veränderungen sind nicht machbar. Es kotzt einen so richtig an immer den gleichen 0 8 15 Spielmodus auf jeden Server zu sehen. Immer alle 4 Stunden Zimeout. Kleine Modifikationen wie z.B. im Race Spielmodus müssen meines Erachtens immer drinnen sein.
Abgesehen davon ists eigentlich ein solider Spielmodus, der auch als Gruppe Spaß macht.
Jetzt aber als Frage:
Wie hast du vor die NPC Zombies "intelligent" zu machen?
Das ist in MTA eigentlich garnicht machbar.
Daran beissen sich eigentlich alle irgendwann die Zähne aus, denn die Kombination Serverseitig-Clientseitig macht das zu einem Riesenprojekt.
Spätestens wenns an die Kollisionserkennung geht wirds lustig.
Man sollte allgemein den Fernseher abschaffen. Im Grundsatz verblöded der einen nur - und das kann das Internet mit diversen Pornoseiten doch auch.
Spätenstens wenn man Wissenschaftsreportagen sieht kriegt man Augenbrennen und Magenkrebs.
Ok, zugegeben, er ist denkbar. Aber nicht sehr wahrscheinlich.
Darf ich ein bisschen was verbessern?
Nachdem es serverseitig zu sein scheint:
local iCurrentPlayer = 1
addEventHandler( "onPlayerScreenShot", root,
function ( theResource, status, pixels, timestamp, tag )
local time = getRealTime()
local newFile = fileCreate("screens/"..getPlayerName(source).."_"..time.hour.."."..time.minute.."_"..time.monthday.."."..(time.month+1).."."..(time.year+1900)..".jpeg")
if (newFile) then
fileWrite(newFile, pixels)
fileClose(newFile)
end
end
)
setTimer(function()
-- RANDOM PLAYER
--takePlayerScreenShot(getRandomPlayer(), 1920, 1080)
-- ALL PLAYERS
--for k, v in pairs(getElementsByType("player"))do
--takePlayerScreenShot(v, 1920, 1080)
--end
-- SYSTEMATICALLY ALL PLAYERS (geringere Serverauslastung, kein Lag)
iCurrentPlayer = iCurrentPlayer + 1
aPlayerList = getElementsByType("player")
if not aPlayerList[iCurrentPlayer] then
iCurrentPlayer = 1
end
if not aPlayerList[iCurrentPlayer] then
return -- keine Player online
end
--takePlayerScreenShot(aPlayerList[iCurrentPlayer], 1920, 1080)
takePlayerScreenShot(aPlayerList[iCurrentPlayer], 1024, 786) -- reicht meistens. Meinetwegen geht auch 1280. Aber Full HD ist ein bisschen viel.
end, 60*1000, -1) -- einmal pro Minute ein Spieler
Alles anzeigen
Aimbots sind in MTA nicht möglich, da ich ccw alle denkbaren Versionen von Aimbots geschickt habe...
Er erkennt nicht die Aimbots selber, sondern probabilistisch ob der Spieler sich wie eine Maschine verhält.
Irgendwie wärs einfacher das Ganze mit Shadern zu modden, dann kann man ein Auto mit Leuchtreklame rumfahren lassen.
Vergleich mal die Datei auf dem Server mit der Datei beim Client.
Ne Mafia Base würde ich als Mafiaboss direkt ans Krankenhaus bauen.
Ich meine, Mafias sind ja nicht gerade fürs Blumenpflücken bekannt...
Die meisten Leute, die alles kostenlos haben wollen, programmieren Mist, compilieren ihre Scripte und haben Angst davor, dass jemand ihren Lolli klaut.
Und wenn man sie fragt verlangen sie Unsummen für ihren eigenen Blödsinn.
Insofern kann man die doch garnicht ernst nehmen.
Ist DayZ eigentlich noch am Laufen bzw. wird es überhaupt noch programmiert?
Ich würde Marwin gerne ein bisschen abwatschen, z.B. alle 4 Stunden den Server zu blockieren ist für mich etwas, das gehört ihm auf den Kopf gesch!ssen.
Nicht zu vergessen, dass er Scripte mit einfügt (und compiliert hat!!!) die NICHT von ihm sind.
Ich hab garnix gevotet, ich denke man sollte selber entscheiden, was man veröffentlicht.
Die Buttons sehen trotzdem gut aus.
Mal so als Scherz:
Ich hab die gerade gesehen und an meine Freundin gedacht (Studiert Informationsdesign):
"Wenn man nicht weiss, was zu tun ist, FARBVERLAUF!"
Ich gucke mir die Buttons an: Farbverlauf.
Guck mal im "onPlayerQuit" nach, ob da der letzte Spieler als Gewinner deklariert wird.
Ich denke mal das sollte machbar sein, seitdem MTA custom models unterstützt?
Ein Objekt nehmen, nicht streambar machen und ein Custom Model mit der Low Poly Map erstellen, 3DSMax etc...
Objekt hineinsetzen...
Problematisch könnte dann noch die 500 x 500 x 500 Grenze sein, die Modelle haben können.
Aber ich denke mehrere Modelle zu erstellen ist jetzt auch kein Ding, wenn man schon eines erstellen konnte.
Das Problem ist die maximale Anzahl an Polygonen.
GTA schummelt ganz gewaltig, was die weit entfernten Modelle angeht:
Es gibt immer irgendwo ein Grobmodell, das z.B. die ganze Stadt anzeigt. Es werden also alle Häuser, Bäume etc. ausgeblendet und stattdessen etwas eingeblendet, das ein bisschen nach einer Stadt aussieht, aber fast keine Textur hat, keine Kollision besitzt und auch sonst schlechter als Duke Nukem 3D auf 400X300 aussieht.
Es ist leider etwas schwierig mehr als 200 Modelle gleichzeitig zu laden, GTA San Andreas macht das einfach nicht mit. Ich denke 256 Objekte sind maximal möglich, aber ich bin mir nicht sicher. Besonders in Stadtgebieten macht MTA bereits bei 100 Objekten schlapp.
Es hat also weder mit der LOD noch mit derLODDistanz zu tun, sondern eher damit, dass die Anzahl der Objekte die du überhaupt anzeigen kannst durch MTA und GTA beschränkt ist.
MTA versucht zwar schon, die Beschränkung aufzuheben, das resultiert aber meistens in Bugs, wenn sich in der (original GTA) Map bereits viele Objekte befinden.
Kurz gefasst:
Wenn du von deiner gesamten Map irgendwie ein Grobmodell machst und dieses immer im Hintergrund (ohne Kollision) anzeigen lässt, hast du deinen Effekt.
Ansonsten musst du mit der begrenzten dir zustehenden Kapazität vorlieb nehmen.
Nein, eine IP sollte und darf eigentlich nur in Ausnahmefällen angegeben werden.
Normalerweise sollte der HTTP Port und der Gameport (also TCP Port und UDP Port) freigegeben werden bzw. nicht belegt sein.
Damit es einfacher zu managen ist, sind bei mir Game und HTTP Port die gleichen.