Chciałem, aby klasa Nekromanta mogła używać teleportu na respa raz na rundę pod specjalnym bindem: bind "klawisz" "nekromanta". W tym celu poczyniłem kilka rzeczy, lecz cały czas mi to nie działa.
Dodałem coś takiego do mojego sma:
public check_nekromanta(id)
{
if (player_class[id] == Nekromanta) Tspawn(id)
return PLUGIN_HANDLED
}I potem zarejstrowałem komendę:register_clcmd("nekromanta","check_nekromanta")Ale jest problem. A dokładniej, gdy binduje sobie klawisz poprzez konsolę, a następnie chcę go użyć wyskakuje mi informacja:Nieznana komenda "nekromanta"Niżej też zamieszczam funkcję od teleportu:
public Tspawn(id) {
new client = id - TASK_TELEPORT;
new CsTeams:iTeam;
iTeam = cs_get_user_team( client );
new iSpawnOrigin[3];
new Float:fSpawnAngle[3];
new ent;
ent = -1;
switch( iTeam ) {
case CS_TEAM_T:
{
while( ( ent = find_ent_by_class( ent, "info_player_deathmatch" ) ) != 0 ) {
if( !pev_valid( ent ) )
break;
}
get_user_origin( ent, iSpawnOrigin );
}
case CS_TEAM_CT:
{
while( ( ent = find_ent_by_class( ent, "info_player_start" ) ) != 0 ) {
if( !pev_valid( ent ) )
break;
}
get_user_origin( ent, iSpawnOrigin );
}
case CS_TEAM_SPECTATOR:
{
return;
}
}
if( !is_user_alive( client ) )
return;
new Float:fSpawnOrigin[3];
fSpawnOrigin[0] = iSpawnOrigin[0] + 0.0;
fSpawnOrigin[1] = iSpawnOrigin[1] + 0.0;
fSpawnOrigin[2] = iSpawnOrigin[2] + 0.0;
entity_set_vector( client, EV_VEC_origin, fSpawnOrigin );
entity_set_int( client, EV_INT_fixangle, 1 );
entity_set_vector( client, EV_VEC_angles, fSpawnAngle );
hudmsg(id,2.0,"Teleportowales sie na resp");
TeleportMSG( client );
}
TeleportMSG( client ) {
new fNewSpawnOrigin[3];
get_user_origin( client, fNewSpawnOrigin, 2 );
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, { 0, 0, 0 }, client )
write_byte( TE_TELEPORT )
write_coord( fNewSpawnOrigin[0] )
write_coord( fNewSpawnOrigin[1] )
write_coord( fNewSpawnOrigin[2] )
message_end( )
}Prosiłbym Was również o poprawienie tego kodu tak, aby można było teleportu używać raz na rundę...Za all odpowiedzi bardzo dziękuje. Z góry pozdro, Slowly
@@EDIT:
Refresh...
Użytkownik slowly edytował ten post 03.09.2010 17:26


Dodatki SourceMod



Temat jest zamknięty









