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