Raised This Month: $51 Target: $400
 12% 

Kill Humans in round end


Post New Thread Reply   
 
Thread Tools Display Modes
maza51
Senior Member
Join Date: Mar 2010
Old 10-08-2011 , 13:21   Re: Kill Humans in round end
Reply With Quote #11

Что тебе еще надо? Ты можешь нормально писать?
Нашел ошибку и что? Получилось или нет в итоге ты так и не написал!
Если не получилось то причем тут твоя правка пост на пре?
А то написал и ждешь чего то.
maza51 is offline
TheRunningMan
Member
Join Date: Aug 2011
Location: Russia
Old 10-08-2011 , 13:33   Re: Kill Humans in round end
Reply With Quote #12

Так ты мне скинул свой код, я исправил пост на пре и он убивает в конце раунда, людей все как надо,но выигрывают при этом люди, а надо чтоб зомби....
Для этого я и делал(в моем коде), чтоб он убивал людей за 1-2 секунды до конца раунда, но он работает коряво, т.е. вроде как таймер должен запустить тогда когда начнется раунд, она запускается и считает, после того как просчитает он должен запустить функцию свою, которая убивает людей, НО такое жирное почему то в промежутке между запуском таймера и его реальным исполнением, исполняется фунция убийства людей 2, а то и 3 раза....
Т.е. смотри если вместо убийства поставить вывод в чат слово "убил" и допустим время раунда 1 минута, тогда значение которое присваивается таймеру равно 57 секунд, получиться так: начинается раунда ->начинается отсчет -> 57 сек, 56..30 сек -> Убил -> ..20...10.. -> Убил->..9...3 -> Убил(это то которое надо), т.е. он выполняет функцию до завершения отсчета таймера....

Last edited by TheRunningMan; 10-08-2011 at 13:42.
TheRunningMan is offline
maza51
Senior Member
Join Date: Mar 2010
Old 10-08-2011 , 14:28   Re: Kill Humans in round end
Reply With Quote #13

Я вообще смотрю что ты на каждого игрока таймер сделал.
Делай один таймер.
maza51 is offline
Bacardi
Veteran Member
Join Date: Jan 2010
Location: mom's basement
Old 10-08-2011 , 14:47   Re: Kill Humans in round end
Reply With Quote #14

russians.....
Bacardi is offline
TheRunningMan
Member
Join Date: Aug 2011
Location: Russia
Old 10-09-2011 , 03:30   Re: Kill Humans in round end
Reply With Quote #15

PHP Code:
#include <zombiereloaded> 
#include <sdkhooks> 
#include <sdktools> 
#include <sourcemod> 


new Handle:cvarRoundTime  INVALID_HANDLE
new 
Handle:cvarFreezeTime INVALID_HANDLE

new 
Float:g_cvarRoundTime
new 
Float:g_cvarFreezeTime

//new Handle:Seconds[MAXPLAYERS+1] = {INVALID_HANDLE, ...}; 

new Float:ForTimer
     
public 
OnPluginStart() 

    
HookEvent("round_start"RoundTime); 

public 
OnMapStart() 

    
cvarRoundTime FindConVar("mp_roundtime"); 
    
cvarFreezeTime FindConVar("mp_freezetime"); 

    
g_cvarRoundTime GetConVarFloat(cvarRoundTime); 
    
g_cvarFreezeTime GetConVarFloat(cvarFreezeTime); 

    
ForTimer = (((g_cvarRoundTime*60) + (g_cvarFreezeTime)) - (3.0 + (g_cvarFreezeTime))); 


public 
ActionRoundTime(Handle:event, const String:name[], bool:dontBroadcast
{
    for(new 
Client 1Client <= MaxClientsClient++)
    {
        if ( 
ZR_IsClientHuman(Client) && IsPlayerAlive(Client)) 
        { 
            
PrintToChat(Client"Round start: %0.2f"g_cvarRoundTime); 
        }
    }
    
    
CreateTimer(ForTimerkiller);


public 
Actionkiller(Handle:timer
{         
    for(new 
Client 1Client <= MaxClientsClient++)  
    {  
        if ( 
ZR_IsClientHuman(Client) && IsPlayerAlive(Client)) 
        { 
            
SetEntityHealth(Client1); 
            
SlapPlayer(Client1false
        } 
    }
    
    return 
Plugin_Handled


public 
OnPluginEnd()  

    
UnhookEvent("round_start"RoundTime); 

Так? Если так то он вообще не работает, т.е. показывает в начале раунда сколько раунд и все, в конце не убивает, точнее почти в конце...
TheRunningMan is offline
maza51
Senior Member
Join Date: Mar 2010
Old 10-09-2011 , 04:14   Re: Kill Humans in round end
Reply With Quote #16

PHP Code:
#include <zombiereloaded>  
#include <sdkhooks>  
#include <sdktools>  
#include <sourcemod>  


new Handle:t_timer INVALID_HANDLE;  
new 
Float:g_cvarRoundTime;
new 
Float:ForTimer;  
      
public 
OnPluginStart()  
{  
    
HookEvent("round_freeze_end"RoundTime);  
}  
public 
OnMapStart()  
{
    
g_cvarRoundTime GetConVarFloat(FindConVar("mp_roundtime"));  

    
ForTimer g_cvarRoundTime*60;
}  

public 
Action:RoundTime(Handle:event, const String:name[], bool:dontBroadcast)  

    for(new 
Client 1Client <= MaxClientsClient++) 
    { 
        if (
IsClientInGame(Client))
        {
            if (
ZR_IsClientHuman(Client) && IsPlayerAlive(Client))  
            {  
                
PrintToChat(Client"Round start: %0.2f"g_cvarRoundTime);  
            } 
        }
    } 
     
    if (
t_timer != INVALID_HANDLE) {
        
KillTimer(t_timer);
        
t_timer INVALID_HANDLE;
    }
    
    
t_timer CreateTimer(ForTimerkiller); 
}  

public 
Actionkiller(Handle:timer)  
{          
    for(new 
Client 1Client <= MaxClientsClient++)   
    {   
        if (
IsClientInGame(Client))
        {
            if (
ZR_IsClientHuman(Client) && IsPlayerAlive(Client))  
            {  
                
SetEntityHealth(Client1);  
                
SlapPlayer(Client1false)  
            }  
        }
    } 
     
    return 
Plugin_Handled;  
}  

public 
OnPluginEnd()   
{  
    
UnhookEvent("round_freeze_end"RoundTime);  

maza51 is offline
TheRunningMan
Member
Join Date: Aug 2011
Location: Russia
Old 10-09-2011 , 06:40   Re: Kill Humans in round end
Reply With Quote #17

Я че то подобное делал..
Странно сейчас просто срабатывает один раз, после смены карты, ошибку пишет в 36 линии
Invalid timer handle
TheRunningMan is offline
maza51
Senior Member
Join Date: Mar 2010
Old 10-09-2011 , 06:48   Re: Kill Humans in round end
Reply With Quote #18

попробуй замени на CloseHandle
Или закрой после его выполнения
maza51 is offline
TheRunningMan
Member
Join Date: Aug 2011
Location: Russia
Old 10-09-2011 , 07:03   Re: Kill Humans in round end
Reply With Quote #19

мм.. не совсем понял че нужно сделать...
попдробнее, я же не профи))
TheRunningMan is offline
maza51
Senior Member
Join Date: Mar 2010
Old 10-09-2011 , 08:17   Re: Kill Humans in round end
Reply With Quote #20

Добавь:
PHP Code:
if (t_timer != INVALID_HANDLE) {
    
KillTimer(t_timer);
    
t_timer INVALID_HANDLE;

Перед:
PHP Code:
return Plugin_Handled
в killer
maza51 is offline
Reply



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 19:17.


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