Raised This Month: $32 Target: $400
 8% 

Trying to make a ent corpse


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Cheap_Suit
Veteran Member
Join Date: May 2004
Old 09-26-2006 , 20:21   Trying to make a ent corpse
Reply With Quote #1

I dont know why it doesnt work, what im I doing wrong?

//--
Info about ClCorpse

//--
Here is a message log it prints out (DS's Message Log)
Quote:
L 09/26/2006 - 17:13:19: MessageBegin (ClCorpse "122") (Destination "All<2>") (Args "11") (Entity "<NULL>") (Classname "<NULL>") (Netname "<NULL>") (Origin "0.000000 0.000000 0.000000")
L 09/26/2006 - 17:13:19: Arg 1 (String "guerilla")
L 09/26/2006 - 17:13:19: Arg 2 (Byte "175559")
L 09/26/2006 - 17:13:19: Arg 3 (Byte "385498")
L 09/26/2006 - 17:13:19: Arg 4 (Byte "-11772")
L 09/26/2006 - 17:13:19: Arg 5 (Coord "-0.641999")
L 09/26/2006 - 17:13:19: Arg 6 (Coord "-0.779571")
L 09/26/2006 - 17:13:19: Arg 7 (Coord "0.000000")
L 09/26/2006 - 17:13:19: Arg 8 (Byte "-306")
L 09/26/2006 - 17:13:19: Arg 9 (Byte "101")
L 09/26/2006 - 17:13:19: Arg 10 (Byte "0")
L 09/26/2006 - 17:13:19: Arg 11 (Byte "1")
L 09/26/2006 - 17:13:19: MessageEnd (ClCorpse "122")
As you can see, i got only 11 args. Is it suppose to be 12?

//--
Code:
register_message(get_user_msgid("ClCorpse"), "message_ClCorpse")
I did my checks wrong, so its out for now.
Code:
public message_ClCorpse()
{
	/*if(get_msg_args() != 11)
		return PLUGIN_CONTINUE 
	
	if(get_msg_argtype(1) != ARG_STRING)
		return PLUGIN_CONTINUE
	
	if(get_msg_argtype(2) != ARG_BYTE 
	|| get_msg_argtype(3) != ARG_BYTE
	|| get_msg_argtype(4) != ARG_BYTE
	|| get_msg_argtype(9) != ARG_BYTE)
		return PLUGIN_CONTINUE
	
	if(get_msg_argtype(5) != ARG_COORD
	|| get_msg_argtype(6) != ARG_COORD
	|| get_msg_argtype(7) != ARG_COORD)
		return PLUGIN_CONTINUE*/
	
	new model[33], corpse[33]
	get_msg_arg_string(1, model, 32)
	get_corpse_model(model, corpse, 32)
	
	new Float:modelOrigin[3]
	modelOrigin[0] = float(get_msg_arg_int(2))
	modelOrigin[1] = float(get_msg_arg_int(3))
	modelOrigin[2] = float(get_msg_arg_int(4))
	
	new Float:modelAngel[3]
	modelAngel[0] = get_msg_arg_float(5)
	modelAngel[1] = get_msg_arg_float(6)
	modelAngel[2] = get_msg_arg_float(7)
	
	new entCorpse = create_entity("info_target")
	if(entCorpse > 0)
	{
		entity_set_string(entCorpse, EV_SZ_classname, "clcorpse")
		entity_set_string(entCorpse, EV_SZ_model, corpse)
		entity_set_int(entCorpse, EV_INT_solid, SOLID_TRIGGER)
		entity_set_int(entCorpse, EV_INT_movetype, MOVETYPE_TOSS)
		entity_set_int(entCorpse, EV_INT_sequence, get_msg_arg_int(9))
		entity_set_vector(entCorpse, EV_VEC_origin, modelOrigin)
		entity_set_vector(entCorpse, EV_VEC_angles, modelAngel)
		client_print(0, print_chat, "eeeew")
	}
	return PLUGIN_HANDLED
}
The stock to get what model
Code:
stock get_corpse_model(findModel[], returnString[], returnLen)
{
	new modelName
	if(equali(findModel, "terror"))
		modelName = format(returnString, returnLen, "models/player/terror/terror.mdl")
	else if(equali(findModel, "leet"))
		modelName = format(returnString, returnLen, "models/player/leet/leet.mdl")
	else if(equali(findModel, "arctic"))
		modelName = format(returnString, returnLen, "models/player/arctic/arctic.mdl")
	else if(equali(findModel, "guerilla"))
		modelName = format(returnString, returnLen, "models/player/guerilla/guerilla.mdl")
	else if(equali(findModel, "urban"))
		modelName = format(returnString, returnLen, "models/player/urban/urban.mdl")
	else if(equali(findModel, "gsg9"))
		modelName = format(returnString, returnLen, "models/player/gsg9/gsg9.mdl")
	else if(equali(findModel, "sas"))
		modelName = format(returnString, returnLen, "models/player/sas/sas.mdl")	
	else if(equali(findModel, "gign"))
		modelName = format(returnString, returnLen, "models/player/gign/gign.mdl")
	
	return modelName
}
__________________
HDD fried, failed to backup files. Sorry folks, just don't have free time anymore. This is goodbye.
Cheap_Suit is offline
Rul4
Senior Member
Join Date: Sep 2008
Location: Argentina
Old 10-17-2008 , 00:46   Re: Trying to make a ent corpse
Reply With Quote #2

I don't know if you got the answer, but I found out that this:

PHP Code:
    modelOrigin[0] = float(get_msg_arg_int(2))
    
modelOrigin[1] = float(get_msg_arg_int(3))
    
modelOrigin[2] = float(get_msg_arg_int(4)) 
Is not returning anything remotely similar to pev(player, pev_origin), so you must be spawning your ent somewhere outside the map.

I got to spawn the entity using the player's coordinates, but that does not solve my problem: https://forums.alliedmods.net/showthread.php?p=701053

Best,
Rul4.
Rul4 is offline
VEN
Veteran Member
Join Date: Jan 2005
Old 10-18-2008 , 05:14   Re: Trying to make a ent corpse
Reply With Quote #3

You should divide coors (long value), see the example below:

PHP Code:
modelOrigin[0] = float(get_msg_arg_int(2) / 128)
modelOrigin[1] = float(get_msg_arg_int(3) / 128)
modelOrigin[2] = float(get_msg_arg_int(4) / 128
VEN is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:29.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode