Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Plugin TT nie może się ruszać przez 5s
#1
Napisano 03.09.2011 11:14
Tym razem potrzeba mi takiego pluginu jak w temacie. Chodzi o to, że mam wgranego BaseBuilder'a 6.5 i zanim bramki się zamkną to Zombie zdąży uciec. Czy jest może taki plugin albo ktoś go potrafi napisać żeby TT nie mogli się ruszać przez 5s Dzięki z góry za pomoc.
@ REFRESH !
to ma ktoś taki plugin ? ..
#2
Napisano 03.09.2011 13:41
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "zamrozTT"
#define VERSION "1.0"
#define AUTHOR "Syczaj"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda(id){
if(is_user_alive(id) && _:cs_get_user_team(id)== 1){
set_user_maxspeed( id, 0.1 )
}
set_task(5.0, "odmroz", _, _, _, "a")
}
public odmroz(id){
if(_:cs_get_user_team(id)== 1){
set_user_maxspeed( id, 0.0 )
}
}
na chłopskie oko powinno pójść, nie kompilowalem, jak coś to pisz.
Użytkownik Syczaj edytował ten post 03.09.2011 13:48
#3
Napisano 03.09.2011 15:28
#4
Napisano 03.09.2011 18:34
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "zamrozTT"
#define VERSION "1.0"
#define AUTHOR "Syczaj"
new freeze[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda(id){
if( freeze[id]== 0 && is_user_alive(id)&& _:cs_get_user_team(id)== 1){
set_user_maxspeed(id, 0.1)
freeze[id] = 1
}
set_task(5.0, "odmroz", _, _, _, "a", 1)
}
public odmroz(id){
if( freeze[id]== 1 && _:cs_get_user_team(id)== 1){
set_user_maxspeed(id, 0.0);
freeze[id] = 0;
}
}
może teraz? umm. spróbuj, ewentualnie wejdzie ktoś mądrzejszy
Użytkownik Syczaj edytował ten post 03.09.2011 18:38
#5
Napisano 03.09.2011 23:51
No nic może ktoś inny będzie potrafił mi pomóc .
#6
Napisano 03.09.2011 23:58
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#define PLUGIN "Zamroz tt"
#define VERSION "1.0"
#define AUTHOR "Muzzi"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "NewRound", "a", "1=0", "2=0")
}
public NewRound()
{
new iPlayers[32], iNum;
get_players(iPlayers, iNum);
for(new i=0; i<iNum; i++)
{
if(get_user_team(iPlayers[i]) != 1)
continue;
set_pev(iPlayers[i], pev_flags, pev(iPlayers[i], pev_flags) | FL_FROZEN);
}
set_task(5.0,"EndFroze");
}
public EndFroze()
{
new iPlayers[32], iNum;
get_players(iPlayers, iNum);
for(new i=0; i<iNum; i++)
{
if(get_user_team(iPlayers[i]) != 1)
continue;
set_pev(iPlayers[i], pev_flags, pev(iPlayers[i], pev_flags) & ~FL_FROZEN);
}
}
#7
Napisano 04.09.2011 00:08
#8
Napisano 04.09.2011 00:21
Jedynym sposobem jak ty to mówisz, że to jest basebuilder sprawdź mp_freezetime na 0.
#9
Napisano 04.09.2011 10:26
#10
Napisano 04.09.2011 10:32
#include < amxmodx >
#include < cstrike >
#include < fakemeta >
#include < hamsandwich >
new iPlayers[ 32 ];
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
new g_pCvar_FreezeTime, g_iCvar_FreezeTime;
public plugin_init( ) {
register_logevent( "ev_Round_Start", 2, "1=Round_Start" );
g_pCvar_FreezeTime = get_cvar_pointer( "mp_freezetime" );
g_iCvar_FreezeTime = get_pcvar_num( g_pCvar_FreezeTime );
}
public ev_Round_Start( ) {
new iNum, index;
get_players( iPlayers, iNum );
for( new i = 0; i < iNum; i++ )
{
index = iPlayers[ i ];
if( !is_user_alive( index ) || cs_get_user_team( index ) != CS_TEAM_T )
continue;
set_pev( index, pev_velocity, Float:{ 0.0, 0.0, 0.0 } );
set_pev( index, pev_maxspeed, 1.0 );
set_task( g_iCvar_FreezeTime+5.0, "task_Unfroze", index+666 );
}
}
public task_Unfroze( id ) {
id -= 666;
ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
}
mp_freezetime ustaw na 0
#11
Napisano 04.09.2011 10:37
zamrozenie5sek.amxx
Użytkownik A może sma? edytował ten post 04.09.2011 10:39
#12
Napisano 04.09.2011 23:25
Ortega twój plugin nie działa tak samo twój " A może sma? " .. potrzeba mi co innego Nie wiem czemu ale Zombie nawet jak bedzie freezetime to i tak moge sie poruszac ..
#13
Napisano 05.09.2011 00:13
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#define PLUGIN "Ehh"
#define VERSION "1.0"
#define AUTHOR "MisieQ"
new bool:freezetime;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "Event_HLTV", "a", "1=0", "2=0");
register_logevent("LogEvent_Round_Start", 2, "0=World triggered", "1=Round_Start");
RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
}
public Event_HLTV()
{
freezetime = true;
}
public LogEvent_Round_Start()
{
freezetime = false;
}
public fwSpawn(id)
{
if ( !is_user_alive(id) ) return HAM_IGNORED;
if ( cs_get_user_team(id) == CS_TEAM_UNASSIGNED ) return HAM_IGNORED;
if ( cs_get_user_team(id) == CS_TEAM_T )
{
fm_set_user_maxspeed(0,0.1)
set_task(5.0, "szybkosc", id);
}
return HAM_IGNORED;
}
public szybkosc(id)
{
if ( !is_user_alive(id) || freezetime ) return;
fm_set_user_maxspeed(0, 1.0)
}
#14
Napisano 05.09.2011 13:41
#include < amxmodx >
#include < cstrike >
#include < fakemeta >
#include < hamsandwich >
#include < basebuilder >
new iPlayers[ 32 ];
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
new g_pCvar_FreezeTime, g_iCvar_FreezeTime;
public plugin_init( ) {
register_logevent( "ev_Round_Start", 2, "1=Round_Start" );
g_pCvar_FreezeTime = get_cvar_pointer( "mp_freezetime" );
g_iCvar_FreezeTime = get_pcvar_num( g_pCvar_FreezeTime );
}
public ev_Round_Start( ) {
new iNum, index;
get_players( iPlayers, iNum );
for( new i = 0; i < iNum; i++ )
{
index = iPlayers[ i ];
if( !is_user_alive( index ) || !bb_is_user_zombie( index ) ) //<- normalne teamy nie działają na BB i ZM (testowane na ZM)
continue;
set_pev( index, pev_velocity, Float:{ 0.0, 0.0, 0.0 } );
set_pev( index, pev_maxspeed, 1.0 );
set_task( g_iCvar_FreezeTime+5.0, "task_Unfroze", index+666 );
}
}
public task_Unfroze( id ) {
id -= 666;
ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
}
i ma trybić!
#15
Napisano 05.09.2011 13:57
czekam na kolejne Może ktoś wreszcie to zrobi
#16
Napisano 05.09.2011 14:13
#17
Napisano 05.09.2011 14:37
#include < amxmodx >
#include < fakemeta >
#include < basebuilder >
new onround;
public plugin_init( ) {
register_logevent( "ev_Round_Start", 2, "1=Round_Start" );
register_forward( FM_PlayerPreThink, "fw_PlayerPreThink" );
}
public ev_Round_Start( )
onround ++;
public fw_PlayerPreThink( player ) {
if( onround )
{
if( !is_user_alive( player ) || !bb_is_user_zombie( player ) )
return;
set_pev( player, pev_flags, pev( player, pev_flags ) | FL_FROZEN );
if( !task_exists( player + 666 ) )
set_task( 5.0, "task_Unfroze", player + 666 );
}
}
public task_Unfroze( id ) {
id -= 666;
set_pev( id, pev_flags, pev( id, pev_flags ) & ~FL_FROZEN );
onround --;
}
#18
Napisano 05.09.2011 14:56
lepiej zmieniać wartości od razu na 1 i 0 - chyba, rozumiesz o co mi chodzi?
ewentualnie zamiast http://amxx.pl/dokumentacja/f255/ można dać http://amxx.pl/dokumentacja/f256/
bo zastanawia mnie to, czemu i to i to jest w dokumentacji i czym się różni
[warn=DarkGL]Ortega, ale takie manipulowanie zmiennymi może przy restarcie rundy np. już nie działać dalej - jebłem na twarz [/warn]
Użytkownik DarkGL edytował ten post 05.09.2011 15:18
#19
Napisano 05.09.2011 15:18
#20
Napisano 05.09.2011 15:22
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych