|
 |
Cod4 gas granaten gefunden im speicher !!! (tear_grenades)  |
|
|
| Cod4 gas granaten gefunden im speicher !!! (tear_grenades) |
 |
Hallo!
Ich bin mir so ziemlich sehr sicher dass ich was sensationelles gefunden habe und zwar gas granaten! (also waren die gas masken im spiel doch nicht umsonst
)
Ich denke die entwickler haben sie implementiert aber wieder rausgenommen (oder nur deaktiviert) denn die funktionen sind noch drin !!!
Ccldesty und ich werden probieren die gas granaten irgendwie zu aktivieren.
(edit: hier das video: http://youtube.com/watch?v=Q0qfoz0kcHc )
Hier noch der gesamte code der _tear_grenades.gsc
die man übrigens mit dem hex editor finden kann und exportieren kann worüber ich nicht weiter reden möchte also stellt mir keine fragen darüber !!!
so hier der code:
*********************************************
main()
{
level.tearradius = 170;
level.tearheight = 128;
level.teargasfillduration = 7; // time until gas fills the area specified
level.teargasduration = 23; // duration gas remains in area
level.tearsufferingduration = 3; // (duration after leaving area of effect)
level.teargrenadetimer = 4; // should match time to appearance of effect
precacheShellShock("teargas");
fgmonitor = maps\mp\gametypes\_perplayer::init("tear_grenade_monitor", ::startMonitoringTearUsage, ::stopMonitoringTearUsage);
maps\mp\gametypes\_perplayer::enable(fgmonitor);
}
startMonitoringTearUsage()
{
self thread monitorTearUsage();
}
stopMonitoringTearUsage(disconnected)
{
self notify("stop_monitoring_tear_usage");
}
monitorTearUsage()
{
self endon("stop_monitoring_tear_usage");
wait .05;
if (!self hasWeapon("tear_grenade_mp"))
return;
// when this player's tear grenade ammo goes down, assume the nearest "grenade" entity is a tear grenade.
prevammo = self getammocount("tear_grenade_mp");
while(1)
{
ammo = self getammocount("tear_grenade_mp");
if (ammo < prevammo)
{
num = prevammo - ammo;
iprintln(num);
for (i = 0; i < num; i++)
{
grenades = getEntArray("grenade", "classname");
bestdist = undefined;
bestg = undefined;
for (g = 0; g < grenades.size; g++)
{
if (!isdefined(grenades[g].teargrenade))
{
dist = distance(grenades[g].origin, self.origin + (0,0,4 );
if (!isdefined(bestdist) || dist < bestdist)
{
bestdist = dist;
bestg = g;
}
}
}
if (isdefined(bestdist))
{
grenades[bestg].teargrenade = true;
grenades[bestg] thread tearGrenade_think(self.pers["team"]);
}
}
}
prevammo = ammo;
wait .05;
}
}
tearGrenade_think(team)
{
// wait for death
// (grenade doesn't actually die until finished smoking)
wait level.teargrenadetimer;
ent = spawnstruct();
ent thread tear(self.origin);
}
tear(pos)
{
trig = spawn("trigger_radius", pos, 0, level.tearradius, level.tearheight);
//thread drawcylinder(pos, level.tearradius, level.tearheight);
starttime = gettime();
self thread teartimer();
self endon("tear_timeout");
while(1)
{
trig waittill("trigger", player);
if (player.sessionstate != "playing")
continue;
time = (gettime() - starttime) / 1000;
currad = level.tearradius;
curheight = level.tearheight;
if (time < level.teargasfillduration) {
currad = currad * (time / level.teargasfillduration);
curheight = curheight * (time / level.teargasfillduration);
}
offset = (player.origin + (0,0,32)) - pos;
offset2d = (offset[0], offset[1], 0);
if (lengthsquared(offset2d) > currad*currad)
continue;
if (player.origin[2] - pos[2] > curheight)
continue;
player.teargasstarttime = gettime(); // purposely overriding old value
if (!isdefined(player.teargassuffering))
player thread teargassuffering();
}
}
teartimer()
{
wait level.teargasduration;
self notify("tear_timeout");
}
teargassuffering()
{
self endon("death");
self endon("disconnect");
self.teargassuffering = true;
self shellshock("teargas", 60);
while(1)
{
if (gettime() - self.teargasstarttime > level.tearsufferingduration * 1000)
break;
wait 1;
}
self shellshock("teargas", 1);
self.teargassuffering = undefined;
}
drawcylinder(pos, rad, height)
{
time = 0;
while(1)
{
currad = rad;
curheight = height;
if (time < level.teargasfillduration) {
currad = currad * (time / level.teargasfillduration);
curheight = curheight * (time / level.teargasfillduration);
}
for (r = 0; r < 20; r++)
{
theta = r / 20 * 360;
theta2 = (r + 1) / 20 * 360;
line(pos + (cos(theta) * currad, sin(theta) * currad, 0), pos + (cos(theta2) * currad, sin(theta2) * currad, 0));
line(pos + (cos(theta) * currad, sin(theta) * currad, curheight), pos + (cos(theta2) * currad, sin(theta2) * currad, curheight));
line(pos + (cos(theta) * currad, sin(theta) * currad, 0), pos + (cos(theta) * currad, sin(theta) * currad, curheight));
}
time += .05;
if (time > level.teargasduration)
break;
wait .05;
}
}
********************************************
wenn das nicht mal süss aussieht :}
wenn ihr es nicht glauben wollt kann ich eine anleitung posten für die die es selber sehen wollen und die datei selber aus dem "speicher" exportieren möchten.
EDIT: HIER DAS VIDEO !!! : http://youtube.com/watch?v=Q0qfoz0kcHc
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von poltergeistluxx: 17.12.2007 02:06.
|
|
|
|
|
KubikRubik
Tele-Tubbie
Dabei seit: 16.11.2007
Beiträge: 137

|
|
krasse sache
die hex-sache
ist das sehr schwer?
|
|
|
|
|
|
|
nee ^^ man muss sich nur ein klein wenig in c++ und so auskennen aber ein profi braucht man nicht zu sein dafür um mods zu erstellen
ein paar kleinere kenntnisse sind aber nicht schlecht
|
|
|
|
|
|
|
Naja vlt. haben sie es auch absichtlich wieder rausgenommen wegen spielspass gründen.
Die AC-130(die waffe aus dem flugzeug aus dem sp) oder wie die heißt war auch ursprünglich für den mp gedacht es sind auch hiervon noch überbleibsel im speicher allerdings weis nur iw wie es ursprünglich gedacht war.
Ich arbeite zurzeit an einem zoom-mod für die sniper, habe allerdings einige probleme mit dem dvar cg_fov das auf ein unters limit von 65 begrenzt ist (sniper selbst = 15), da gibt es dann auch noch das dvar cg_fovmin das man auf 1 runter setzen kann.
Ich muss rausfinden wie das game das zielen bei waffen erzeugt, scheinbar nicht durch cg_fov...
Ist ne harte nuss...
|
|
|
|
|
|
|
ich habe mir von iw sagen lassen dass sie es rausgenommen haben weil es sonst laggs gäbe auf den servern.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|