Hey Guys, i need Help :(...
I want make a Jump Room
on a Texture in the JUmp Room i can there automatically.
Kung told me i need a trigger and so ?
How i can create it ??
KUNG PLS MAKE A TUT FOR ME AND OTHER PEOPLE :P
Printable View
Hey Guys, i need Help :(...
I want make a Jump Room
on a Texture in the JUmp Room i can there automatically.
Kung told me i need a trigger and so ?
How i can create it ??
KUNG PLS MAKE A TUT FOR ME AND OTHER PEOPLE :P
I would like to help but I don't seem to understand your problem..can you explain it :D
i want make a room :P
With JUMP POWER (automatically jump) when you press spacer :D
Hey,
I made something as you wanted but I want it to be more good so I'll tell you tomorrow..
(I've installed the GD-module now, so we can use upload pictures to the forum now :D)
Preview-Test with 34FPS:
Attachment 36
mp_jumppad.gsc
Code:bounce( pos, power )
{
oldhp = self.health;
self.health = self.health + power;
self finishPlayerDamage( self, self, power, 0, "MOD_PROJECTILE", "panzerschreck_mp", undefined, pos, "none", 0 );
self.health = oldhp;
}
jumppad_think()
{
jumppad = self;
while (1)
{
jumppad waittill("trigger", player);
if (!isDefined(player.lastJump))
player.lastJump = 0;
//iprintlnbold(getTime() - player.lastJump);
if (getTime() - player.lastJump <= 1000)
{
wait 0.05;
continue;
}
player.lastJump = getTime();
player iprintlnbold("^1~^7JUMP^1~");
player bounce((0,0,1), 1000);
player bounce((0,0,1), 1000);
player bounce((0,0,1), 1000);
player bounce((0,0,1), 1000);
player bounce((0,0,1), 1000);
player bounce((0,0,1), 1000);
wait 0.05;
}
}
initJumppads()
{
jumppads = getEntArray("jumppad", "targetname");
for (i=0; i<jumppads.size; i++)
jumppads[i] thread jumppad_think();
}
main()
{
initJumppads();
}
mp_jumppad.map as attachment
The IWD (only maps/mp/mp_jumppad.d3dbsp): -> Attachment 37 <-
-.- I wanted to do the same thing :D well then i'll do it in tutorials :D I have almost same script as kung but mine is opposite -.- isn't it upside down kung?
You mean, you have main() on top? I guess thats an old habit made by C/C++ for me. There you can do:
- either write the used functions before they are actually used
- or predefine functions, so the compiler already knows about them (will result in extra-code, I try to circumvent that (only do it for external code))
codscript is "only" a scripting-engine, so it doesnt care about the order. But I guess it is also nice for the reading human: he will know about a function, which is called later (just a guess :D).
Yeah, would be nice for tutorial section :)
kung can you make half of power jump? its too high :D
Loveboy just remove some lines and that's all :)
Code:player bounce((0,0,1), 1000);
straight up:
dir = ( 0 , 0 , 1 );
define a dir and jump in the desired direction:
dir = vectorNormalize( jumppad.dir_obect.origin - jumppad.origin );
would look like (teddy = jumppad.dir_obect ):>>>VIDEO<<<
When i want to watch the video, it says: "Error loading media: File could not be played" on Chrome, and Firefox is just showing a black screen. :confused:
mhh, its a beta xf video url: http://beta.xfire.com/videos/5d5d6e
maybe classic xf:http://classic.xfire.com/video/5d5d6e/
multiple trigger(trigger->multiple)
script->origin
PHP Code:
main()
{
thread OnPlayerConnect();
}
PHP Code:
OnPlayerConnect()
{
jump = getEntArray("TRIGGER_NAME","targetname");
if(isDefined(jump))
for(kat=0;kat<jump.size;kat++)
jump[kat] thread bounceJump();
}
PHP Code:
bounceJump()
{
target = getEnt("ORIGIN_NAME","targetname") getOrigin();
while(1)
{
self waittill("trigger", user);
model = spawn("script_model",(0,0,0));
model.origin=user.origin+(randomInt(90),randomInt(10),0);
model.angles=user.angles;
user linkto(model);
model moveTo(target, 1);
model waittill("movedone");
user unlink();
model delete();
}
}
Hey, you can add [php][/php] around your code to make it nice:
PHP Code:
jump = getEntArray("TRIGGER_NAME","targetname");
if(isDefined(jump))
for(kat=0;kat<jump.size;kat++)
jump[kat] thread bounceJump();
bounceJump()
{
target = getEnt("ORIGIN_NAME","targetname") getOrigin();
while(1)
{
self waittill("trigger", user);
model = spawn("script_model",(0,0,0));
model.origin=user.origin+(randomInt(90),randomInt(10),0);
model.angles=user.angles;
user linkto(model);
model moveTo(target, 1);
model waittill("movedone");
user unlink();
model delete();
}
}
Anyone able to know why this isn't working on cod4?
Doesn't give me any errors, just does bounce me in the position.
I tried putting "self iprintlnbold("test");" to see if it is using the thread and it shows, but bounces don't work.
My script got "panzerschreck_mp" as weapon, you should replace it with some CoD4-weapon like "deserteaglegold_mp".
No clue if thats a real stock weapon, I just found that.PHP Code:
bounce( pos, power )
{
oldhp = self.health;
self.health = self.health + power;
self finishPlayerDamage( self, self, power, 0, "MOD_PROJECTILE", "deserteaglegold_mp", undefined, pos, "none", 0 );
self.health = oldhp;
}
Doesn't work eitherPHP Code:
bounce( pos, power )
{
oldhp = self.health;
self.health = self.health + power;
self finishPlayerDamage( self, self, power, 0, "MOD_PISTOL_BULLET", "deserteagle_mp", undefined, pos, "torso_upper"], 0 );
self.health = oldhp;
}
No syntax error for me using "torso_upper"
"MOD_PISTOL_BULLET" is fine if you're using deagle I thought, as is "MOD_RIFLE_BULLET" for scopes? I also tried with "MOD_PROJECTILE" using rpg_mp but didn't work.
Didn't seem to work with that either, have you gotten this working on cod4 and tested it? Assuming since there are no errors, it should be working though..
There is no "torso_upper" bone in COD4. This is a complete list of tags and bones in COD4:
Use one of them instead.Code:NUMBONES 85
"tag_origin"
"j_mainroot"
"tag_sync"
"pelvis"
"j_hip_le"
"j_hip_ri"
"torso_stabilizer"
"j_hiptwist_le"
"j_hiptwist_ri"
"j_knee_le"
"j_knee_ri"
"j_spinelower"
"back_low"
"j_ankle_le"
"j_ankle_ri"
"j_knee_bulge_le"
"j_knee_bulge_ri"
"j_ball_le"
"j_ball_ri"
"j_spineupper"
"tag_stowed_deploy"
"back_mid"
"j_spine4"
"tag_stowed_backpack"
"j_clavicle_le"
"j_clavicle_ri"
"j_neck"
"j_shoulderraise_le"
"j_shoulderraise_ri"
"tag_inhand"
"tag_stowed_back"
"tag_stowed_lethal"
"tag_stowed_tactical"
"tag_weapon_chest"
"j_shoulder_le"
"j_shoulder_ri"
"neck"
"j_elbow_bulge_le"
"j_elbow_le"
"j_head"
"j_shouldertwist_le"
"shoulder"
"head"
"j_elbow_bulge_ri"
"j_elbow_ri"
"j_shouldertwist_ri"
"j_wrist_le"
"j_wristtwist_le"
"j_head_end"
"j_index_le_1"
"j_jaw"
"j_mid_le_1"
"j_pinky_le_1"
"j_ring_le_1"
"j_thumb_le_1"
"j_wrist_ri"
"j_wristtwist_ri"
"tag_weapon_left"
"j_helmet"
"j_index_le_2"
"j_index_ri_1"
"j_mid_le_2"
"j_mid_ri_1"
"j_pinky_le_2"
"j_pinky_ri_1"
"j_ring_le_2"
"j_ring_ri_1"
"j_thumb_le_2"
"j_thumb_ri_1"
"tag_weapon_right"
"j_index_le_3"
"j_index_ri_2"
"j_mid_le_3"
"j_mid_ri_2"
"j_pinky_le_3"
"j_pinky_ri_2"
"j_ring_le_3"
"j_ring_ri_2"
"j_thumb_le_3"
"j_thumb_ri_2"
"j_index_ri_3"
"j_mid_ri_3"
"j_pinky_ri_3"
"j_ring_ri_3"
"j_thumb_ri_3"
This should work in COD4:
Just a couple of notes:PHP Code:
bounceJump()
{
target = getEnt( "ORIGIN_NAME", "targetname" );
while( 1 )
{
self waittill( "trigger", user );
if( isPlayer( user ) && user isTouching( self ) )
{
ent = spawn( "script_origin", (0,0,0) );
ent.origin = user.origin+( randomInt(90), randomInt(10), 0 );
ent.angles = user.angles;
user linkto( ent );
ent moveTo( target.origin, 1 );
wait( 1.5 );
user unlink();
ent delete();
}
}
}
1. In COD4 MP, the motion flag - waittill( "movedone" ) - does not work. Just put in a bog standard wait time.
2. If you are linking a player to a model in COD4, you have to set a model. Usually, the model "tag_origin" is used. This is already compiled into the stock fastfiles, just make sure you precache it. If you don't want to set a model, just use a script_origin.
Though thats not "free", you can't move in air with movement-keys. I've added velocity-functions in my extension for that: http://killtube.org/showthread.php?1...elocity&p=5593
Sorry, I see this is to register a hit location, in which case torso_upper is a valid sHitLoc. These are the valid sHitLocs in COD4:
These are areas in the hit boxes.PHP Code:
getHitLocHeight( sHitLoc )
{
switch( sHitLoc )
{
case "helmet":
case "head":
case "neck":
return 60;
case "torso_upper":
case "right_arm_upper":
case "left_arm_upper":
case "right_arm_lower":
case "left_arm_lower":
case "right_hand":
case "left_hand":
case "gun":
return 48;
case "torso_lower":
return 40;
case "right_leg_upper":
case "left_leg_upper":
return 32;
case "right_leg_lower":
case "left_leg_lower":
return 10;
case "right_foot":
case "left_foot":
return 5;
}
return 48;
}
EDIT -
Looking at your script again, I see this:
You have a square brace after "torso_upper" - "torso_upper"]PHP Code:
bounce( pos, power )
{
oldhp = self.health;
self.health = self.health + power;
self finishPlayerDamage( self, self, power, 0, "MOD_PISTOL_BULLET", "deserteagle_mp", undefined, pos, "torso_upper"], 0 );
self.health = oldhp;
}
serthy pointed it out to you, but you blew him off. Best to take notice if someone points out a scripting error. Otherwise we will be here all year.
Its may an idea to remove the Damagefeedback at this part (red screen). Would look more "realistic" (ye, jump pad - realistic :D nvm).