AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   run time error because of nativa cvar (https://forums.alliedmods.net/showthread.php?t=86685)

mihaiveress 03-01-2009 07:51

run time error because of nativa cvar
 
this is the error that the servers shows on startrup
Code:

L 03/01/2009 - 14:40:37: Invalid CVAR pointer
L 03/01/2009 - 14:40:37: [AMXX] Displaying debug trace (plugin "antirusherfinal.
amxx")
L 03/01/2009 - 14:40:37: [AMXX] Run time error 10: native error (native "get_pcv
ar_num")
L 03/01/2009 - 14:40:37: [AMXX]    [0] antirusherfinal.sma::client_putinserver (
line 213)

i really don't know why because I read on a tutorial about cvars that is better to use get_pcvar and set_pcvar instead of get_cvar... and set_cvar...

so can you help me plz?
this is the plugin_putinserver part , if you need the entire code please tell me :D

PHP Code:

public client_putinserver(id){         //tu informacja o rashu
    
new arg[1]             //Zoptymalizowane uzycie set_task
    
arg[0]=id            //Deklaracja 1 kumurki pamieci zamiast 4 i bez zmian z str-> num i na odwrot
    
g_punish[id][0] = // Number of Punishes?
    
g_punish[id][1] = 1800 // Timeleft at last punish        
    
if (map_cors_pre && get_pcvar_num(cvar_antirusher))
        
set_task(45.0,"informclient",TASK_INFO+id,arg,1
        



iNspiratioN 03-01-2009 08:10

Re: run time error because of nativa cvar
 
give me entire code and we'll see what we can do :)

mihaiveress 03-01-2009 08:20

Re: run time error because of nativa cvar
 
PHP Code:

#include <amxmodx>
#include <cstrike>
#include <fakemeta>

new Float:TEST_TIME=0.1
new Float:WARN_TIME=1.0
new Float:FLASH_TIME=0.8

#define MAX_ZONES 8
new MIN_PLAYERS=2        /*Dobre do testowania w mniej osob
                  lub gdy chcesz by koniec rashu byl
                  przy wiekszej liczbbie osob*/
#define TASK_ZONE 600743
#define TASK_LOOP 500743
#define TASK_VIEW 400743
#define TASK_INFO 300743
#define TASK_FLASH 200743

new mUsuwaniestrefy // Menu
new mcbUsuwaniestrefy // Menu Callback
new mZapisacstrefy // Menu
new mcbZapisacstrefy // Menu Callback
new mAntirushControlMenu // Menu
new mcbAntirushControlMenu // Menu Callback
                //Uzylem generatora i takie malo eleganckie wyszlo

new map_cors_edit[MAX_ZONES*6]
new 
zones_edit
new zone_editing=0
new map_editor
new map_cors_file_line=127
new zone_incresment=10
new zone_coords_num=0
new zone_coords[3][13] = { "Koordynat X""Koordynat Y""Koordynat Z"}
new 
editign=0
new edit_g_team[3]
new 
round_start=0
new lines

new gMsgScreenFade
new rasher[33]=0
new raszer[33]
new 
flashed[33]=0
new sounded[33]=0
new speed_limit[33]=0
new Float:g_time
new g_team[3]
new 
g_origin[3]
new 
map_cors_pre=2
new map_cors_origin[MAX_ZONES*6]
new 
slap
new warn_control // miczu
new zones 0

new zone_color_aktiv[3] = { 00255 }
new 
zone_color_red[3] = { 2550}
new 
zone_color_yellow[3] = { 255255}
new 
spr_dot

new g_punish[33][2]
new 
g_twin=0
new g_ctwin=0
new g_num=0
new g_rush=0

new cvar_antirusher
new cvar_antirusher_warn
new cvar_antirusher_time
new cvar_antirusher_freq
new cvar_antirusher_immunity
new cvar_antirusher_people
new cvar_antirusher_zasady    
new cvar_antirusher_slap
new cvar_antirusher_sound
new cvar_antirusher_sound_mode
new cvar_antirusher_action
new cvar_antirusher_cash
new cvar_antirusher_cash_end

new actions[11][32] = { "barney/donthurtem.wav","nihilanth/nil_now_die.wav","hgrunt/c2a3_hg_laugh.wav","hgrunt/silence!.wav","hgrunt/silence!.wav","barney/whatsgoingon.wav","barney/rightway.wav","barney/nosir.wav","barney/openfire.wav","barney/stophere.wav","hgrunt/c2a2_hg_chat5a.wav"}
                    
public 
plugin_init()
{    
    
register_plugin("M_AntiRusher","2.6","Miczu")
    
log_amx(" <<Uruchomiono M_Antirusher 2.6>>")
        
    
register_dictionary("M_antirusher.txt")
    
register_dictionary("common.txt")
    
    
register_clcmd("say /rules","info")
    
register_clcmd("say /zasadymapy","info")
    
register_clcmd("amx_antirusher_menu","amx_antirusher_menu")
        
    
register_cvar("xPaw""AR 2.6",FCVAR_SERVER)
    
cvar_antirusher register_cvar("amx_antirusher","0")
    
cvar_antirusher_warn register_cvar("amx_antirusher_warn","1")
    
cvar_antirusher_slap register_cvar("amx_antirusher_slap","3")
    
cvar_antirusher_time register_cvar("amx_antirusher_time","60.0")        
    
cvar_antirusher_freq register_cvar("amx_antirusher_freq","1.0")
    
cvar_antirusher_immunity register_cvar("amx_antirusher_immunity","0")    
    
cvar_antirusher_people register_cvar("amx_antirusher_people","0")
    
cvar_antirusher_zasady register_cvar("amx_antirusher_zasady","1")
    
cvar_antirusher_action register_cvar("amx_antirusher_action","7")
    
cvar_antirusher_cash register_cvar("amx_antirusher_cash","50")        
    
cvar_antirusher_cash_end egister_cvar("amx_antirusher_cash_end","2")
    
    
register_event("HLTV","Event_StartRound","a","1=0","2=0")
    
register_event("RoundTime","event_roundtime","bc")
    
register_event("SendAudio""bomb_planted""a""2&%!MRAD_BOMBPL")
    
register_event("DeathMsg","DeathMsg","ade"
    
register_event("CurWeapon","CurWeapon","be"
    
register_event("TeamScore""eventTeamScore""a")
    
register_logevent("Team_Win"6"0=Team")
    
    
gMsgScreenFade get_user_msgid("ScreenFade"
    
map_cors_pre map_cors_present(map_cors_origin,g_team)
    
TEST_TIME=get_cvar_float("amx_antirusher_freq")
    
    
register_menucmd(register_menuid("Antirush Menu"), 1023"Antirush_menu")
    
register_menucmd(register_menuid("Punishment Menu"), 1023"Punishment_menu")
    
register_menucmd(register_menuid("Antirush Zone Creator"), 1023"Antirush_Zone_Creator")
    
register_menucmd(register_menuid("Edit Zone"), 1023"edit_zone2")
    
    
mAntirushControlMenu menu_create("Antirush Control Menu""mh_AntirushControlMenu")
    
mcbAntirushControlMenu menu_makecallback("mcb_AntirushControlMenu")
    
menu_additem(mAntirushControlMenu"Antirush cvar control""ma_AntirushControlMenu"ADMIN_CVARmcbAntirushControlMenu)
    
menu_additem(mAntirushControlMenu"Antirush Punishments""ma_AntirushControlMenu"ADMIN_CVARmcbAntirushControlMenu)
    
menu_additem(mAntirushControlMenu"Antirush Zone Creator""ma_AntirushControlMenu"ADMIN_RCONmcbAntirushControlMenu)
    
    
mZapisacstrefy menu_create("Zapisac strefy""mh_Zapisacstrefy")
    
mcbZapisacstrefy menu_makecallback("mcb_Zapisacstrefy")
    
menu_additem(mZapisacstrefy"TAK""ma_Zapisacstrefy"ADMIN_ALLmcbZapisacstrefy)
    
menu_additem(mZapisacstrefy"NIE""ma_Zapisacstrefy"ADMIN_ALLmcbZapisacstrefy)
    
    
mUsuwaniestrefy menu_create("Usuwanie strefy""mh_Usuwaniestrefy")
    
mcbUsuwaniestrefy menu_makecallback("mcb_Usuwaniestrefy")
    
menu_additem(mUsuwaniestrefy"TAK""ma_Usuwaniestrefy"ADMIN_ALLmcbUsuwaniestrefy)
    
menu_additem(mUsuwaniestrefy"NIE""ma_Usuwaniestrefy"ADMIN_ALLmcbUsuwaniestrefy)
    
    
register_forward(FM_PlayerPreThink,    "fwdPlayerPreThink");    // client_PreThink
    
    
server_cmd("exec addons/amxmodx/configs/antirusher/cvars.cfg")
    
set_pcvar_num(cvar_antirusher,0)
}

public 
plugin_precache() {
    
spr_dot precache_model("sprites/dot.spr"// potrzebne do robienia lini
}


public 
eventTeamScore()
{
    new 
sTeam[2];
    
read_data(1sTeam1);
    if( 
sTeam[0] == 'T' )
    {
        
g_twin read_data(2);
    }
    else
    {
        
g_ctwin read_data(2);
    }
    
    return 
PLUGIN_CONTINUE;
}


///////////////////////////////////////////////////////////////////////
/////////                M_Antirusher  Events                 /////////
////////////////////////////////////////////////////////////////////////
 
public client_connect(id){
    
    
free_the_man(id)        //nie chcemy by ktos kto sie polaczy byl karany
}                    //kiedy osoba co opuszczajac serwer miala kare
                    //czyli gdy stary i nowy gracz beda mieli te same id

public client_disconnect(id) {
    
free_the_man(id)        //tak na wszelki wypadek, ale mozna sobie odpuscic
    
return PLUGIN_CONTINUE
}

public 
Event_StartRound(){
    if(!
g_rush)
        {
        if(
g_ctwin-g_twin>=10g_rush=1
        set_pcvar_num
(cvar_antirusher,1)
        }
    else
        {
        new 
players[32],num
        get_players
(players,num)
        for(new 
i=0;i<num;i++)
          {
           
client_print(players[i],print_chat,"CT STATI LA X>>>>T PLANT IT>>>>NO RUSH ALLOWED")
           
client_print(players[i],print_chat,"CT STATI LA X>>>>T PLANT IT>>>>NO RUSH ALLOWED")
           
client_print(players[i],print_chat,"CT STATI LA X>>>>T PLANT IT>>>>NO RUSH ALLOWED")
          }
        
        }
    
    
round_start++                
    
MIN_PLAYERS get_pcvar_num(cvar_antirusher_people)    // zmiana people dziala na starcie rundy

    
}

public 
client_putinserver(id){         //tu informacja o rashu
    
new arg[1]             //Zoptymalizowane uzycie set_task
    
arg[0]=id            //Deklaracja 1 kumurki pamieci zamiast 4 i bez zmian z str-> num i na odwrot
    
g_punish[id][0] = // Number of Punishes?
    
g_punish[id][1] = 1800 // Timeleft at last punish        
    
if (map_cors_pre && get_pcvar_num(cvar_antirusher))
        
set_task(45.0,"informclient",TASK_INFO+id,arg,1
        


public 
bomb_planted() {            //podlozono bombe
    
remove_task(TASK_LOOP)        //przerywa sprawdzanie rashu
    
remove_task(TASK_VIEW)        //przerywa wyswietlanie granic dla userow    
    
free_the_world()        //mozna rashowac
}

public 
event_roundtime() {
    if (
round_start<1) return PLUGIN_CONTINUE     //takie zabezpieczenie by nie sprawdzalo po czasie rashu
    
if (map_cors_pre && get_pcvar_num(cvar_antirusher)) {
        
slap floatround(get_pcvar_num(cvar_antirusher_slap)*(10.0*TEST_TIME)) // slapy biora zawsze tyle samo hp w przedziale czasu
        
remove_task(TASK_LOOP)
        
remove_task(TASK_VIEW)
        
g_time get_gametime() + get_pcvar_float(cvar_antirusher_time)
        
set_task(2*TEST_TIME"checkOrigin",TASK_LOOP)
        
set_task(2*WARN_TIME"rash_warn",TASK_VIEW)

    }
    return 
PLUGIN_CONTINUE
}                    //

public DeathMsg(){
    new 
vid read_data(2)        //id trupa
    
free_the_man(vid)        //uwalnia trupa by zaczol runde z czystym kontem
}

//////////////////////////////////////////////////////////////////////
/////////                M_Antirusher Things                 /////////
//////////////////////////////////////////////////////////////////////

map_cors_present(maporigin[MAX_ZONES*6],team[3]) {
    
    new 
zonefile[256],zonefile2[256]

    
get_localinfo("amxx_configsdir",zonefile255);
    
    if(
is_linux_server()){
        
format(zonefile2255"%s/antirusher"zonefile)
        if(!(
dir_exists(zonefile2))) mkdir (zonefile2)
        
format(zonefile2255"%s/antirusher/rush.cor"zonefile)
    }
    else{
        
format(zonefile2255"%s\antirusher"zonefile)
        if(!(
dir_exists(zonefile2))) mkdir (zonefile2)
        
format(zonefile2255"%s\antirusher\rush.cor"zonefile)
    }
    
    if (
file_exists(zonefile2)){    
        
        new 
readdata[512]
        new 
currentmap[32]
        
get_mapname(currentmap,31)
        new 
map[32], len 
        
new x11[16],x12[16],y11[16],y12[16],z11[16],z12[16]
        new 
x21[16],x22[16],y21[16],y22[16],z21[16],z22[16]
        new 
x31[16],x32[16],y31[16],y32[16],z31[16],z32[16]
        new 
x41[16],x42[16],y41[16],y42[16],z41[16],z42[16]
        new 
x51[16],x52[16],y51[16],y52[16],z51[16],z52[16]
        new 
x61[16],x62[16],y61[16],y62[16],z61[16],z62[16]
        new 
x71[16],x72[16],y71[16],y72[16],z71[16],z72[16]
        new 
x81[16],x82[16],y81[16],y82[16],z81[16],z82[16]
        
        
        for(new 
i=0128 && read_file(zonefile2,i,readdata,511,len); i++) {
            
x11="";x12="";y11="";y12="";z11="";z12=""
            
x21="";x22="";y21="";y22="";z21="";z22=""
            
x31="";x32="";y31="";y32="";z31="";z32=""
            
x41="";x42="";y41="";y42="";z41="";z42=""
            
x51="";x52="";y51="";y52="";z51="";z52=""
            
x61="";x62="";y61="";y62="";z61="";z62=""
            
parse(readdata,team,2,map,31,x11,15,x12,15,y11,15,y12,15,z11,15,z12,15,
                
x21,15,x22,15,y21,15,y22,15,z21,15,z22,15,
                
x31,15,x32,15,y31,15,y32,15,z31,15,z32,15,
                
x41,15,x42,15,y41,15,y42,15,z41,15,z42,15,
                
x51,15,x52,15,y51,15,y52,15,z51,15,z52,15,
                
x61,15,x62,15,y61,15,y62,15,z61,15,z62,15,
                
x71,15,x72,15,y71,15,y72,15,z71,15,z72,15,
                
x81,15,x82,15,y81,15,y82,15,z81,15,z82,15)
            
lines=i
            
if(equal(map,currentmap)) {
                
maporigin[0] = str_to_num(x11)
                
maporigin[1] = str_to_num(x12)
                
maporigin[2] = str_to_num(y11)
                
maporigin[3] = str_to_num(y12)
                
maporigin[4] = str_to_num(z11)
                
maporigin[5] = str_to_num(z12)
                
maporigin[6] = str_to_num(x21)
                
maporigin[7] = str_to_num(x22)
                
maporigin[8] = str_to_num(y21)
                
maporigin[9] = str_to_num(y22)
                
maporigin[10] = str_to_num(z21)
                
maporigin[11] = str_to_num(z22)
                
maporigin[12] = str_to_num(x31)
                
maporigin[13] = str_to_num(x32)
                
maporigin[14] = str_to_num(y31)
                
maporigin[15] = str_to_num(y32)
                
maporigin[16] = str_to_num(z31)
                
maporigin[17] = str_to_num(z32)
                
maporigin[18] = str_to_num(x41)
                
maporigin[19] = str_to_num(x42)
                
maporigin[20] = str_to_num(y41)
                
maporigin[21] = str_to_num(y42)
                
maporigin[22] = str_to_num(z41)
                
maporigin[23] = str_to_num(z42)
                
maporigin[24] = str_to_num(x51)
                
maporigin[25] = str_to_num(x52)
                
maporigin[26] = str_to_num(y51)
                
maporigin[27] = str_to_num(y52)
                
maporigin[28] = str_to_num(z51)
                
maporigin[29] = str_to_num(z52)
                
maporigin[30] = str_to_num(x61)
                
maporigin[31] = str_to_num(x62)
                
maporigin[32] = str_to_num(y61)
                
maporigin[33] = str_to_num(y62)
                
maporigin[34] = str_to_num(z61)
                
maporigin[35] = str_to_num(z62)
                
maporigin[36] = str_to_num(x71)
                
maporigin[37] = str_to_num(x72)
                
maporigin[38] = str_to_num(y71)
                
maporigin[39] = str_to_num(y72)
                
maporigin[40] = str_to_num(z71)
                
maporigin[41] = str_to_num(z72)
                
maporigin[42] = str_to_num(x81)
                
maporigin[43] = str_to_num(x82)
                
maporigin[44] = str_to_num(y81)
                
maporigin[45] = str_to_num(y82)
                
maporigin[46] = str_to_num(z81)
                
maporigin[47] = str_to_num(z82)
                
                
map_cors_file_line=i
                
for(new j=0;j<MAX_ZONES;j++){
                    
i=j*6
                    
if(((maporigin[1+i]-maporigin[0+i])>0)&&((maporigin[3+i]-maporigin[2+i])>0)&&((maporigin[5+i]-maporigin[4+i])>0))
                    
zones++
                }
                
                return 
1
            
}
            if((
len<15)  && (map_cors_file_line>i)) map_cors_file_line=i
        
}
        
log_amx("%L",LANG_SERVER,"AR_NO_ZONE")
        if(
lines+2<map_cors_file_linemap_cors_file_line=lines+2    //zapobiega zapisywaniu na 127 pozycji gdy nie ma wolnych lini na koncu :)
        
return 0
    
}
    else 
log_amx("%L",LANG_SERVER,"AR_NO_FILE")
    
g_team="XX"
    
map_cors_file_line=0            //nie ma pluku rush,cor wiec niech zapisze w pierwszej lini
    
return 0
}


public 
info(id){
    new 
anti_zasady get_pcvar_num(cvar_antirusher_zasady)
    if(
anti_zasady==1){
        new 
map[4]
        
get_mapname(map,3)        // rozpoznawanie typu mapy na podstawie pierwszych 3 liter :p
        
        
if (equal(map,"cs_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_CS_MAP")
        else if (
equal(map,"de_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_DE_MAP")
        else if (
equal(map,"fy_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_FY_MAP")
        else if (
equal(map,"aim")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_AIM_MAP")
        else if (
equal(map,"awp")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_AWP_MAP")
        else if (
equal(map,"kz_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_KZ_MAP")
        else if (
equal(map,"fun")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_FUN_MAP")
        else if (
equal(map,"sur")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_SURF_MAP")
        else if (
equal(map,"sj_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_SJ_MAP")
        else if (
equal(map,"ka_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_KA_MAP")
        else if (
equal(map,"he_")) client_print(id,print_chat"%L",LANG_PLAYER,"AR_HE_MAP")
    }
}

public 
informclient(arg[1]){ 
                    
// arg[0] to id ^^
    
if(is_user_connected(arg[0])) {    // spradza czy gracz nadal jest na serwie
        
client_print(arg[0],print_chat,"%L",LANG_PLAYER,"AR_INFO_WARN")
        
client_print(arg[0],print_chat,"%L",LANG_PLAYER,"AR_INFO_CLIENT",get_cvar_float("amx_antirusher_time")) 
    }
}


public 
checkOrigin() {             // tu sprawdza czy rashujesz
    
    
if (round_start<1) return
    if (
get_gametime() > g_time)
    {
        
free_the_world()
        return
    }
    
    new 
players[32], num,tt_num,ct_num
    get_players
(players,num)
    
    for(new 
i=0;i<num;i++)
    {
        if(
is_user_alive(players[i]))
        {
            if(
cs_get_user_team(players[i])==CS_TEAM_Ttt_num++
            else if(
cs_get_user_team(players[i])==CS_TEAM_CTct_num++
        }
    }
    
    if (
tt_num<MIN_PLAYERS)
    {
        
free_the_world()
        return
    }
    if (
ct_num<MIN_PLAYERS)
    {
        
free_the_world()
        return
    }
    
    
    
get_players(players,num)
    
set_task(TEST_TIME"checkOrigin"TASK_LOOP)
    for(new 
0numi++) 
    {
        if(
is_user_alive(players[i]))
        {
            if((
equal(g_team,"T")&&(cs_get_user_team(players[i])==CS_TEAM_T))||(equal(g_team,"CT")&&(cs_get_user_team(players[i])==CS_TEAM_CT))||equal(g_team,"XX"))
            {    
                
get_user_origin(players[i],g_origin)
                if ((
map_cors_origin[0] < g_origin[0] < map_cors_origin[1]) && (map_cors_origin[2] < g_origin[1] < map_cors_origin[3]) && (map_cors_origin[4] < g_origin[2] < map_cors_origin[5]) ||
                    (
map_cors_origin[6] < g_origin[0] < map_cors_origin[7]) && (map_cors_origin[8] < g_origin[1] < map_cors_origin[9]) && (map_cors_origin[10] < g_origin[2] < map_cors_origin[11]) ||
                    (
map_cors_origin[12] < g_origin[0] < map_cors_origin[13]) && (map_cors_origin[14] < g_origin[1] < map_cors_origin[15]) && (map_cors_origin[16] < g_origin[2] < map_cors_origin[17]) ||
                    (
map_cors_origin[18] < g_origin[0] < map_cors_origin[19]) && (map_cors_origin[20] < g_origin[1] < map_cors_origin[21]) && (map_cors_origin[22] < g_origin[2] < map_cors_origin[23]) ||
                    (
map_cors_origin[24] < g_origin[0] < map_cors_origin[25]) && (map_cors_origin[26] < g_origin[1] < map_cors_origin[27]) && (map_cors_origin[28] < g_origin[2] < map_cors_origin[29]) ||
                    (
map_cors_origin[30] < g_origin[0] < map_cors_origin[31]) && (map_cors_origin[32] < g_origin[1] < map_cors_origin[33]) && (map_cors_origin[34] < g_origin[2] < map_cors_origin[35])){
                    
punishPlayer(players[i])
                    
raszer[players[i]]=1
                
}
                else{
                    
free_the_man(players[i])
                }
            }
        }
    }
}

public 
rash_warn(){                // tu sprawsza czy ma ci wyswietlic granice rashu
    
if (get_gametime() > g_time){
        return
    }
    if (
get_pcvar_num(cvar_antirusher_warn)==0) return
    new 
players[32], numtt_numct_num
    get_players
(players,num)
    
    for(new 
i=0;i<num;i++)
    {
        if(
is_user_alive(players[i]))
        {
            if(
cs_get_user_team(players[i])==CS_TEAM_Ttt_num++
            else if(
cs_get_user_team(players[i])==CS_TEAM_CTct_num++
        }
    }
    
    if (
equal(g_team,"CT")){
        if (
tt_num<MIN_PLAYERS) return
        if (
ct_num<MIN_PLAYERS) return
    } 
    
    
set_task(WARN_TIME"rash_warn",TASK_VIEW)
    
    new 
orrigins[3]
    for(new 
j=0;j<num;j++){
        if(
raszer[players[j]]<&& is_user_alive(players[j]))     // jak juz raszuje to mozna graczowi odpuscic :)
        
{        
            if((
equal(g_team,"T")&&(cs_get_user_team(players[j])==CS_TEAM_T))||(equal(g_team,"CT")&&(cs_get_user_team(players[j])==CS_TEAM_CT))||equal(g_team,"XX"))
            {    
                
get_user_origin(players[j],orrigins)
                for(new 
i=0;i<MAX_ZONES;i++){
                    if((
map_cors_origin[0+i*6]-450 orrigins[0] < map_cors_origin[0+i*6]) && (map_cors_origin[2+i*6]-100 orrigins[1] < map_cors_origin[3+i*6]+100) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){
                        
zone_warn(players[j],i,0,orrigins)
                    }
                    else if((
map_cors_origin[1+i*6] < orrigins[0] < map_cors_origin[1+i*6]+450) && (map_cors_origin[2+i*6]-100 orrigins[1] < map_cors_origin[3+i*6]+100) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){
                        
zone_warn(players[j],i,1,orrigins)
                    }
                    if((
map_cors_origin[0+i*6]-100 orrigins[0] < map_cors_origin[0+i*6+1]+100) && (map_cors_origin[2+i*6]-450 orrigins[1] < map_cors_origin[2+i*6]) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){
                        
zone_warn(players[j],i,2,orrigins)
                    }
                    else if((
map_cors_origin[0+i*6]-100 orrigins[0] < map_cors_origin[0+i*6+1]+100) && (map_cors_origin[3+i*6] < orrigins[1] < map_cors_origin[3+i*6]+450) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){
                        
zone_warn(players[j],i,3,orrigins)
                    }
                }            
// nigdy nie bedziesz widzial przednia i tylna lub lewa i prawa sciane rownoczesnie wiec jest else

            
}
        }
    }
}

///////////////////////////////////////////////////////////////////////////
/////////                M_Antirusher Punishments                 /////////
///////////////////////////////////////////////////////////////////////////

punishPlayer(id) {
                
    new 
action=0
    
    
if ( get_pcvar_num(cvar_antirusher_immunity) == && get_user_flags(id) & ADMIN_IMMUNITY )
        return
    
    new 
iTime=get_timeleft()    
    if( 
g_punish[id][1] - iTime 10 )
    {
        new 
name[32]
        
get_user_name(id,name,31)
        
server_cmd("amx_chat p=%d t=%d itime-%d",g_punish[id][0],g_punish[id][1],iTime)
        switch(
g_punish[id][0])
        {
            case 
0:
            {
                
server_cmd("amx_chat %L",LANG_SERVER,"AR_SRV_INFO"name)
                
server_cmd("amx_slap %s %d",name,5)
            }
            case 
1:
            {
                
server_cmd("amx_slap %s %d",name,40)
            }
            case 
2server_cmd("amx_slay2 %s",name)
            case 
3banPlayer(id)
            default:
            {
                
server_cmd("amx_chat %L:p",LANG_SERVER,"AR_SRV_INFO"name)
                
server_cmd("amx_chat p=%d t=%d itime-%d",g_punish[id][0],g_punish[id][1],iTime)
            }
        }
        
g_punish[id][0] += 1
        g_punish
[id][1] = iTime
    
}
    

    
    
    
    
    if (
warn_control >(25/floatround(10.0*TEST_TIME))){    // jak dlugo siedzisz w granicy to ci pisze w czacie :p
    
client_print(idprint_chat"%L",LANG_PLAYER,"AR_RASH_WARN")
    
warn_control=0;}
    
warn_control+=1

    
if(get_pcvar_num(cvar_antirusher_sound)){
        if(
sounded[id]==0){
        new 
sound_mode get_pcvar_num(cvar_antirusher_sound_mode)
        
        if(
sound_mode==0client_cmd(id,"spk %s",actions[action])
        else 
client_cmd(0,"spk %s",actions[action])
        
sounded[id]=1
        
}        
    }
}

kickPlayer(id) {
    
client_print(idprint_chat"%L",LANG_PLAYER,"AR_RASH_KICK")
    
client_print(idprint_chat"%L",LANG_PLAYER,"AR_RASH_KICK")
    
server_cmd("amx_kick #%d"id)
}

banPlayer(id) {
    
client_print(idprint_chat"%L",LANG_PLAYER,"AR_RASH_BAN")
    
client_print(idprint_chat"%L",LANG_PLAYER,"AR_RASH_BAN")
    new 
name[32]
    
get_user_name(id,name,31)
    
server_cmd("amx_addban %s %d"name,1440)
}

public 
CurWeapon(id){
    if(
speed_limit[id]==1fm_set_user_maxspeed(id,(fm_get_user_maxspeed(id)/2.0));    // zmiana broni cie przyspieszy? nie ^^
}

public 
Flash(id) {
    
id-=TASK_FLASH
    
if(flashed[id]){
        
set_task(FLASH_TIME,"Flash",TASK_FLASH+id
    
        
message_begin(MSG_ONE,gMsgScreenFade,{0,0,0},id
        
write_short1<<15 
        
write_short1<<10 )
        
write_short1<<12 )
        new 
x,y,z
        x
random_num(0,255)
        
write_byte
        
yrandom_num(0,255)
        
write_byte
        
zrandom_num(0,255)
        
write_byte
        
write_byte255 
        
message_end()
        
emit_sound(id,CHAN_BODY"weapons/flashbang-2.wav"1.0ATTN_NORM0PITCH_HIGH)
    }
}

public 
fwdPlayerPreThink(id){    
    if (
rasher[id]){
        new 
button pev(idpev_button)
        if ((
button IN_ATTACK2) || (button IN_ATTACK)){
            
user_silentkill(id)
        }
    }    
}

public 
aim_on_me(id){
    new 
radomradom2
    radom 
random_num(0,3)
    
radom2 random_num(1,6)
    new 
polecenie[64]
    switch (
radom){
        case 
0:{
            
format(polecenie63"+left;")
        }
        case 
1:{
            
format(polecenie63"+right;")
        }
        case 
2:{
            
format(polecenie63"+lookup;")
        }
        case 
3:{
            
format(polecenie63"+lookdown;")
        }
    }
    
    for (new 
i=0radom2i++)
    {
        
add(polecenie63"wait;")
    }
    
    switch (
radom) {
        case 
0:{
            
add(polecenie63"-left;")
        }
        case 
1:{
            
add(polecenie63"-right;")
        }
        case 
2:{
            
add(polecenie63"-lookup;")
        }
        case 
3:{
            
add(polecenie63"-lookdown;")
        }
    }
    
client_cmd(id,"%s",polecenie)
}

ebay_time_to_pay(id){
    new 
cash=get_cvar_num("amx_antirusher_cash")*floatround(10.0*TEST_TIME)
    new 
cash2=get_cvar_num("amx_antirusher_cash_end")
    new 
money cs_get_user_money(id)
    if (
money-cash 0)cs_set_user_money(id,money-cash)
    else switch(
cash2){
        case 
0:     cs_set_user_money(id,0)
        case 
1:{ 
            
fm_fakedamage id"rashing"cash/25.0,16384)
        }
        case 
2:{ 
            
fm_fakedamage id"rashing"cash/10.0,16384)
        }    
        case 
3:{ 
            
fm_fakedamage id"rashing"cash/5.0,16384)
        }
        case 
4:{ 
            
fm_fakedamage id"rashing"cash/2.0,16384)
        }
        case 
5:{ 
            
fm_fakedamage id"rashing"cash/1.0,16384)
        }
    }
}

public 
free_the_man(id){
    
sounded[id]=0
    rasher
[id]=0
    flashed
[id]=0
    raszer
[id]=0
    
if(speed_limit[id]==1){
        
fm_set_user_maxspeed(id,(fm_get_user_maxspeed(id)*2.0))
        
speed_limit[id]=0
    
}
}


public 
free_the_world(){
    if(
round_start<1) return
    
round_start=0
    
new players[32],num 
    get_players
(players,num,"a")
    
//for(new i;i<num;i++){
        //free_the_man(players[i])
        //message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, players[i])
        //write_byte(players[i])
        //write_string("^x04 *** RASH - OFF ***")
        //message_end()
    //}
    
client_print(0,print_chat,"%L",LANG_PLAYER,"AR_FREE_WORLD")
}

//////////////////////////////////////////////////////////////////////////
/////////                 M_Antirusher Draw Lines                /////////
//////////////////////////////////////////////////////////////////////////

public FX_Line(start[3], stop[3], color[3], brightnessid) {
    
message_begin(MSG_ONE_UNRELIABLESVC_TEMPENTITY_id
    
    
write_byteTE_BEAMPOINTS 
    
    
write_coord(start[0]) 
    
write_coord(start[1])
    
write_coord(start[2])
    
    
write_coord(stop[0])
    
write_coord(stop[1])
    
write_coord(stop[2])
    
    
write_shortspr_dot )
    
    
write_byte)    // framestart 
    
write_byte)    // framerate 
    
write_byte)    // life in 0.1's 
    
write_byte)    // width
    
write_byte)     // noise 
    
    
write_bytecolor[0] )   // r, g, b 
    
write_bytecolor[1] )   // r, g, b 
    
write_bytecolor[2] )   // r, g, b 
    
    
write_bytebrightness )      // brightness 
    
write_byte)       // speed 
    
    
message_end() 
}

public 
DrawLine(x1y1z1x2y2z2color[3],id) {
    new 
start[3]
    new 
stop[3]
    
    
start[0] = ( x1 )
    
start[1] = ( y1 )
    
start[2] = ( z1 )
    
    
stop[0] = ( x2 )
    
stop[1] = ( y2 )
    
stop[2] = ( z2 )

    
FX_Line(startstopcolor200id)
}

public 
ar_zone(zone_num,id){
    new 
start[3],stop[3]
    new 
xyz=0
    
if(zone_editing==zone_numxyz=1
    
    zone_num
=(zone_num-1)*6

    start
[0]= map_cors_edit[0+zone_num]
    
start[1]= map_cors_edit[2+zone_num]
    
start[2]= map_cors_edit[4+zone_num]
    
    
stop[0]= map_cors_edit[1+zone_num]
    
stop[1]= map_cors_edit[3+zone_num]
    
stop[2]= map_cors_edit[5+zone_num]
    
    
ShowZoneBox(startstopid,xyz)
}

public 
ShowZoneBox(mins[3], maxs[3], id,xyz) {
        
    
DrawLine(maxs[0], maxs[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_aktivid)
    
DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], mins[1], maxs[2], zone_color_aktivid)
    
DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], maxs[1], mins[2], zone_color_aktivid)

    
DrawLine(mins[0], mins[1], mins[2], maxs[0], mins[1], mins[2], zone_color_aktivid)
    
DrawLine(mins[0], mins[1], mins[2], mins[0], maxs[1], mins[2], zone_color_aktivid)
    
DrawLine(mins[0], mins[1], mins[2], mins[0], mins[1], maxs[2], zone_color_aktivid)

    
DrawLine(mins[0], maxs[1], maxs[2], mins[0], maxs[1], mins[2], zone_color_aktivid)
    
DrawLine(mins[0], maxs[1], mins[2], maxs[0], maxs[1], mins[2], zone_color_aktivid)
    
DrawLine(maxs[0], maxs[1], mins[2], maxs[0], mins[1], mins[2], zone_color_aktivid)
    
DrawLine(maxs[0], mins[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_aktivid)
    
DrawLine(maxs[0], mins[1], maxs[2], mins[0], mins[1], maxs[2], zone_color_aktivid)
    
DrawLine(mins[0], mins[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_aktivid)
    
    if((
xyz==1)&&(editign==1)){
        if(
zone_coords_num==0){
            
DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], mins[1], mins[2], zone_color_yellowid)
            
DrawLine(maxs[0], maxs[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_yellowid)
            
DrawLine(mins[0], maxs[1], maxs[2], mins[0], mins[1], mins[2], zone_color_redid)
            
DrawLine(mins[0], maxs[1], mins[2], mins[0], mins[1], maxs[2], zone_color_redid)
        }
        else if( 
zone_coords_num==1){
            
DrawLine(mins[0], mins[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_redid)
            
DrawLine(maxs[0], mins[1], mins[2], mins[0], mins[1], maxs[2], zone_color_redid)
            
DrawLine(mins[0], maxs[1], mins[2], maxs[0], maxs[1], maxs[2], zone_color_yellowid)
            
DrawLine(maxs[0], maxs[1], mins[2], mins[0], maxs[1], maxs[2], zone_color_yellowid)
        }
        else{
            
DrawLine(maxs[0], maxs[1], maxs[2], mins[0], mins[1], maxs[2], zone_color_yellowid)
            
DrawLine(maxs[0], mins[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_yellowid)
            
DrawLine(maxs[0], maxs[1], mins[2], mins[0], mins[1], mins[2], zone_color_redid)
            
DrawLine(maxs[0], mins[1], mins[2], mins[0], maxs[1], mins[2], zone_color_redid)
        }
    }
}

public 
show_all_zones(){
    new 
num=1
    
while(num<=zones_edit){
        
ar_zone(num,map_editor)
        
num++
    }
    if(
zone_editing>0){
        new 
origins[3], origins2[3]
        
get_user_origin(map_editor,origins)
        new 
Floatrange_line
        
new Floatrange_origins[6]
        for(new 
i=0;i<6;i++) range_origins[i] = (map_cors_edit[i+6*(zone_editing-1)])*1.0
        range_line
floatsqroot(((range_origins[1]-range_origins[0])/2.0-origins[0])*((range_origins[1]-range_origins[0])/2.0-origins[0])+((range_origins[3]-range_origins[2])/2.0-origins[1])*((range_origins[3]-range_origins[2])/2.0-origins[1])+((range_origins[5]-range_origins[4])/2.0-origins[2])*((range_origins[5]-range_origins[4])/2.0-origins[2]))
        if(
range_line>20000) for(new i=0;i<3;i++){
            
origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/6
        
}
        else if(
range_line>15000) for(new i=0;i<3;i++){
            
origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/5
        
}
        else if(
range_line>10000) for(new i=0;i<3;i++){
            
origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/3
        
}
        else for(new 
i=0;i<3;i++){
            
origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)
        }
        
FX_Line(originsorigins2zone_color_red,200,map_editor)
    }
}

public 
zone_warn(id,zone,direction,origins[3]){
    new 
start[3],stop[3]
    
start[2]=origins[2]-110
    stop
[2]=origins[2]-110
    
    
switch(direction){
        case 
0:{
            
start[0]=map_cors_origin[zone*6]+5
            stop
[0]=map_cors_origin[zone*6]+5
            start
[1]=map_cors_origin[zone*6+2]
            
stop[1]=map_cors_origin[zone*6+3]
        }
        case 
1:{
            
start[0]=map_cors_origin[zone*6+1]-5
            stop
[0]=map_cors_origin[zone*6+1]-5
            start
[1]=map_cors_origin[zone*6+2]
            
stop[1]=map_cors_origin[zone*6+3]
        }
        case 
2:{
            
start[0]=map_cors_origin[zone*6+0]
            
stop[0]=map_cors_origin[zone*6+1]
            
start[1]=map_cors_origin[zone*6+2]+5
            stop
[1]=map_cors_origin[zone*6+2]+5
        
}
        case 
3:{
            
start[0]=map_cors_origin[zone*6+0]
            
stop[0]=map_cors_origin[zone*6+1]
            
start[1]=map_cors_origin[zone*6+3]-5
            stop
[1]=map_cors_origin[zone*6+3]-5
        
}
    }
    for(new 
i=0;i<9;i++){
        
start[2]+=30
        stop
[2]+=30
        FX_Line
(startstopzone_color_red60id)
    }
}

///////////////////////////////////////////////////////////////////////////
/////////                 M_Antirusher Save to file               /////////
///////////////////////////////////////////////////////////////////////////

public write_to_file(){
    new 
text[512],text2[64]
    new 
currentmap[32]
    
get_mapname(currentmap,31)
    
format(text,511,"%s %s "g_teamcurrentmap)
    new 
x0[6],x1[6],y0[6],y1[6],z0[6],z1[6]
    for(new 
i=0;i<zones;i++){
        
num_to_str(map_cors_origin[0+i*6],x0,5)
        
num_to_str(map_cors_origin[1+i*6],x1,5)
        
num_to_str(map_cors_origin[2+i*6],y0,5)
        
num_to_str(map_cors_origin[3+i*6],y1,5)
        
num_to_str(map_cors_origin[4+i*6],z0,5)
        
num_to_str(map_cors_origin[5+i*6],z1,5)
        
format(text2,63,"%s %s %s %s %s %s ",x0,x1,y0,y1,z0,z1)
        
add(text,511,text2)
    }
    
    if(
is_linux_server()){
        new 
zonefile[256]
        
get_localinfo("amxx_configsdir",zonefile255);
        
format(zonefile255"%s/antirusher/rush.cor"zonefile)
        if((
write_file zonefiletextmap_cors_file_line ))==0log_amx("<<Blad przy nadpisywaniu rush.cor>>")        
    }
    else{    
        if((
write_file "addons\amxmodx\configs\antirusher\rush.cor"textmap_cors_file_line ))==0log_amx("<<Blad przy nadpisywaniu rush.cor>>")
    }
}


// Stocks, ported by xPaw
stock fm_create_entity(const classname[])
    return 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringclassname))

stock fm_fake_touch(touchertouched)
    return 
dllfunc(DLLFunc_Touchtouchertouched)

stock fm_remove_entity(index)
    return 
engfunc(EngFunc_RemoveEntityindex)

stock fm_DispatchSpawn(entity)
    return 
dllfunc(DLLFunc_Spawnentity)

stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
    if (
classname[0])
        
set_kvd(0KV_ClassNameclassname)
    else {
        new class[
32]
        
pev(entitypev_classname, class, sizeof class - 1)
        
set_kvd(0KV_ClassName, class)
    }

    
set_kvd(0KV_KeyNamekey)
    
set_kvd(0KV_Valuevalue)
    
set_kvd(0KV_fHandled0)

    return 
dllfunc(DLLFunc_KeyValueentity0)
}

stock fm_fakedamage(victim, const classname[], Float:takedmgdamagedamagetype) {
    new class[] = 
"trigger_hurt"
    
new entity fm_create_entity(class)
    if (!
entity)
        return 
0

    
new value[16]
    
float_to_str(takedmgdamage 2valuesizeof value 1)
    
fm_set_kvd(entity"dmg"value, class)

    
num_to_str(damagetypevaluesizeof value 1)
    
fm_set_kvd(entity"damagetype"value, class)

    
fm_set_kvd(entity"origin""8192 8192 8192", class)
    
fm_DispatchSpawn(entity)

    
set_pev(entitypev_classnameclassname)
    
fm_fake_touch(entityvictim)
    
fm_remove_entity(entity)

    return 
1
}

stock fm_set_user_maxspeed(indexFloat:speed = -1.0) {
    
engfunc(EngFunc_SetClientMaxspeedindexspeed)
    
set_pev(indexpev_maxspeedspeed)

    return 
1
}

stock Float:fm_get_user_maxspeed(index) {
    new 
Float:speed
    pev
(indexpev_maxspeedspeed)

    return 
speed


p.s.
don't mind the warnings..i know they are present

xbatista 03-01-2009 08:29

Re: run time error because of nativa cvar
 
I don't know really ,but maybe it will work :mrgreen: :oops: :oops: Just try :oops:
Try to change:
PHP Code:

    if (map_cors_pre && get_pcvar_num(cvar_antirusher)) 

to
PHP Code:

new pcvarr get_pcvar_num(cvar_antirusher)
    if (
map_cors_pre && pcvarr


xPaw 03-01-2009 08:51

Re: run time error because of nativa cvar
 
maybe
PHP Code:

if( get_pcvar_num(cvar_antirusher) == map_cors_pre 

i dont know what does this function do, so i cant say..

mihaiveress 03-01-2009 11:08

Re: run time error because of nativa cvar
 
Quote:

Originally Posted by xbatista (Post 771573)
I don't know really ,but maybe it will work :mrgreen: :oops: :oops: Just try :oops:
Try to change:
PHP Code:

    if (map_cors_pre && get_pcvar_num(cvar_antirusher)) 

to
PHP Code:

new pcvarr get_pcvar_num(cvar_antirusher)
    if (
map_cors_pre && pcvarr


it seems to be working like this...thanks a lot

iNspiratioN 03-01-2009 12:02

Re: run time error because of nativa cvar
 
Don't you get error's when compiling??? Like these ->
Code:

/home/groups/amxmodx/tmp3/textRxSOq7.sma(105) : error 017: undefined symbol "egister_cvar"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 204: symbol is assigned a value that is never used: "cvar_antirusher_action"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 204: symbol is assigned a value that is never used: "cvar_antirusher_cash"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 204: symbol is assigned a value that is never used: "cvar_antirusher_cash_end"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 204: symbol is assigned a value that is never used: "cvar_antirusher_freq"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "ebay_time_to_pay"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "edit_g_team"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "g_num"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "kickPlayer"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 204: symbol is assigned a value that is never used: "slap"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "zone_coords"
/home/groups/amxmodx/tmp3/textRxSOq7.sma(982) : warning 203: symbol is never used: "zone_incresment"


mihaiveress 03-02-2009 01:32

Re: run time error because of nativa cvar
 
I solved all the errors....and the warnings 2
thanks alot guys for your help and I will be back with questions :D


All times are GMT -4. The time now is 17:03.

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