Raised This Month: $32 Target: $400
 8% 

What will it cause?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
HalfLife
Senior Member
Join Date: Aug 2013
Location: I'll tell you later ;)
Old 08-19-2013 , 09:05   What will it cause?
Reply With Quote #1


What will happen with these warnings?
Attached Thumbnails
Click image for larger version

Name:	What will it cause.png
Views:	211
Size:	8.4 KB
ID:	124486  
__________________
If you need any help regarding your HL Server, PM me and I can help you
My Tutorials:
How to install and use your SQL Database using AMX Mod X Plugins
HalfLife is offline
sami_spt
Veteran Member
Join Date: Sep 2012
Location: I<3 pussy cats
Old 08-19-2013 , 09:11   Re: What will it cause?
Reply With Quote #2

nothing.

you forgot a } or { somewhere
sami_spt is offline
HalfLife
Senior Member
Join Date: Aug 2013
Location: I'll tell you later ;)
Old 08-19-2013 , 09:26   Re: What will it cause?
Reply With Quote #3

Quote:
Originally Posted by sami_spt View Post
nothing.

you forgot a } or { somewhere
Okay ill try to fix it btw thanks for your code in the suggestion forum
__________________
If you need any help regarding your HL Server, PM me and I can help you
My Tutorials:
How to install and use your SQL Database using AMX Mod X Plugins
HalfLife is offline
Phant
Veteran Member
Join Date: Sep 2009
Location: New Jersey
Old 08-19-2013 , 09:32   Re: What will it cause?
Reply With Quote #4

Quote:
Originally Posted by sami_spt View Post
nothing.

you forgot a } or { somewhere
Forgot } or { somewhere — rough error, I think.

Loose identation (selected string):

Just for clean and readable code Warning message.
Phant is offline
Send a message via ICQ to Phant
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 08-19-2013 , 10:33   Re: What will it cause?
Reply With Quote #5

A { or } is not missing, don't listen to them

Loose Indentation is because that line is not indented the same way as the rest of the plugin

Should Return a Value is because you returned a value earlier in that function but at the end of that function you didn't specify a value in your return or didn't include a return at all
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
HalfLife
Senior Member
Join Date: Aug 2013
Location: I'll tell you later ;)
Old 08-19-2013 , 11:03   Re: What will it cause?
Reply With Quote #6

Quote:
Originally Posted by YamiKaitou View Post
A { or } is not missing, don't listen to them

Loose Indentation is because that line is not indented the same way as the rest of the plugin

Should Return a Value is because you returned a value earlier in that function but at the end of that function you didn't specify a value in your return or didn't include a return at all
I returned PLUGIN_HANDLED
This is my code:
PHP Code:
/*

--- multimod.ini ---
[Gun Game]:[gungame-plugins.ini]:[gungame-config.cfg]
[Paint Ball]:[paintball-plugins.ini]:[paintball-config.cfg]
[Hid'N Seek]:[hns-plugins.ini]:[hns-config.cfg]
[Death Run]:[deathrun-plugins.ini]:[deathrun-config.cfg]
[Zombie Plague]:[zombieplague-plugins.ini]:[zombieplague-config.cfg]
[Biohazard]:[biohazard-plugins.ini]:[biohazard-config.cfg]
--------------------

TODO
* add some commands for admins

v0.1
* The very first release
v0.2
* Fixed warning 204 with one unused symbol
v0.3
* Fixed wrong use of cvar amx_nextmod instead of amx_mm_nextmod
* Added admin command amx_votemod
v0.4
* Added hud message every 15 seconds to display current mod name
* Added check for connected players before mod votting
* Added control to remove task avoiding duplicate amx_votemod commands
v0.5
* Added say nextmod command
* Added say /votemod command
* Execute cfg files in first round instead of game_commencing
v0.6
* Added multilangual support (thanks crazyeffect!)
* Added intermission at map change to show scoreboard
* Added timer to execute *.cfg
* Modified where I do sv_restart
* Deleted unused cvar amx_mm_nextmap
* Changed cvar amx_mm_nextmod to amx_nextmod
v0.8
* Added 30 seconds of warmup to avoid conflict/crash with other plugins
* Changed all cvars to amx_xxx format (removed _mm_ part)
* Fixed and improved pcvar usage
v2.0
* Removed a lot of code
* Removed map voting code
* Added compatibility with galileo
* Added semi-compatibility with mapchooser (requires mapchooser patch)
v2.1
* Tested under czero
* Fixed all issues with languaje change
* Pending tests withing Galileo
v2.2
* Fixed votemod DoS
* Fixed galileo plugin lookup problem
* Fixed mapchooser_multimod plugin lookup problem
* Fixed nextmod client command problem
* Added currentmod client command
* Added cvar to disallow votemod client command

Credits:

fysiks: The first to realize the idea and some code improvements
crazyeffect: Colaborate with multilangual support
dark vador 008: Time and server for testing under czero

*/

#include <amxmodx>
#include <amxmisc>

#define PLUGIN_NAME    "MultiMod Manager"
#define PLUGIN_AUTHOR    "JoRoPiTo"
#define PLUGIN_VERSION    "2.2"

#define AMX_MULTIMOD    "amx_multimod"
#define AMX_PLUGINS    "amxx_plugins"
#define AMX_MAPCYCLE    "mapcyclefile"
#define AMX_LASTCYCLE    "lastmapcycle"

#define AMX_DEFAULTCYCLE    "mapcycle.txt"
#define AMX_DEFAULTPLUGINS    "addons/amxmodx/configs/plugins.ini"
#define    AMX_BASECONFDIR        "multimod"

#define TASK_VOTEMOD 2487002
#define TASK_CHVOMOD 2487004
#define MAXMODS 10
#define LSTRING 193
#define SSTRING 33

new g_menuname[] = "MENU NAME"
new g_votemodcount[MAXMODS]
new 
g_modnames[MAXMODS][SSTRING]    // Per-mod Mod Names
new g_filemaps[MAXMODS][LSTRING]    // Per-mod Maps Files
new g_fileplugins[MAXMODS][LSTRING]    // Per-mod Plugin Files

new g_fileconf[LSTRING]
new 
g_coloredmenus
new g_modcount = -1            // integer with configured mods count
new g_alreadyvoted
new gp_allowedvote
new g_nextmodid
new g_currentmodid
new g_multimod[SSTRING]
new 
g_nextmap[SSTRING]
new 
g_currentmod[SSTRING]
new 
g_confdir[LSTRING]

new 
gp_mintime
new gp_voteanswers
new gp_timelimit

new gp_mode
new gp_mapcyclefile

// galileo specific cvars
new gp_galileo_nommapfile
new gp_galileo_votemapfile

public plugin_init()
{
    new 
MenuName[63]

    
register_plugin(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)
    
register_cvar("MultiModManager"PLUGIN_VERSIONFCVAR_SERVER|FCVAR_SPONLY)
    
register_dictionary("mapchooser.txt")
    
register_dictionary("multimod.txt")

    
    
gp_mode register_cvar("amx_multimod_mode""0")    // 0=auto ; 1=mapchooser ; 2=galileo
    
gp_mintime register_cvar("amx_mintime""15")
    
gp_allowedvote register_cvar("amx_multimod_voteallowed""0")

    
get_configsdir(g_confdircharsmax(g_confdir))

    
register_clcmd("amx_votemod""cmdVoteMod"ADMIN_MAP"Vote for the next mod")
    
register_clcmd("say nextmod""user_nextmod")
    
register_clcmd("say_team nextmod""user_nextmod")
    
register_clcmd("say currentmod""user_currentmod")
    
register_clcmd("say /votemod""user_votemod")
    
register_clcmd("say_team /votemod""user_votemod")

    
format(MenuNamecharsmax(MenuName), "%L"LANG_PLAYER"MM_VOTE")
    
register_menucmd(register_menuid(g_menuname), 1023"player_vote")
    
g_coloredmenus colored_menus()
}

public 
plugin_cfg()
{
    
gp_voteanswers get_cvar_pointer("amx_vote_answers")
    
gp_timelimit get_cvar_pointer("mp_timelimit")
    
gp_mapcyclefile get_cvar_pointer(AMX_MAPCYCLE)

    if(!
get_pcvar_num(gp_mode))
    {
        if(
find_plugin_byfile("mapchooser_multimod.amxx") != -1)
            
set_pcvar_num(gp_mode1)
        else if(
find_plugin_byfile("galileo.amxx") != -1)
            
set_pcvar_num(gp_mode2)
    }
    
get_localinfo(AMX_MULTIMODg_multimodcharsmax(g_multimod))
    
load_cfg()

    if(!
equal(g_currentmodg_multimod) || (g_multimod[0] == 0))
    {
        
set_multimod(0)
        
get_firstmap(0)
        
server_print("Server restart - First Run")
        
server_cmd("changelevel %s"g_nextmap)
    }
    else
    {
        
server_cmd("exec %s"g_fileconf)
    }
}

public 
load_cfg()
{
    new 
szData[LSTRING]
    new 
szFilename[LSTRING]

    
formatex(szFilenamecharsmax(szFilename), "%s/%s"AMX_BASECONFDIR"multimod.ini")

    new 
fopen(szFilename"rt")
    new 
szTemp[SSTRING],szModName[SSTRING], szTag[SSTRING], szCfg[SSTRING]
    while(!
feof(f)) {
        
fgets(fszDatacharsmax(szData))
        
trim(szData)
        if(!
szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/')) continue

        if(
szData[0] == '[') {
            
g_modcount++
            
replace_all(szDatacharsmax(szData), "[""")
            
replace_all(szDatacharsmax(szData), "]""")

            
strtok(szDataszModNamecharsmax(szModName), szTempcharsmax(szTemp), ':'0)
            
strtok(szTempszTagcharsmax(szTag), szCfgcharsmax(szCfg), ':'0)

            if(
equal(szModNameg_multimod)) {
                
formatex(g_fileconf192"%s/%s"AMX_BASECONFDIRszCfg)
                
copy(g_currentmodcharsmax(g_currentmod), szModName)
                
g_currentmodid g_modcount
                server_print
("[AMX MultiMod] %L"LANG_PLAYER"MM_WILL_BE"g_multimodszTagszCfg)
            }
            
formatex(g_modnames[g_modcount], 32"%s"szModName)
            
formatex(g_filemaps[g_modcount], 192"%s/%s-maps.ini"AMX_BASECONFDIRszTag)
            
formatex(g_fileplugins[g_modcount], 192"%s/%s-plugins.ini"AMX_BASECONFDIRszTag)
            
server_print("MOD Loaded: %s %s %s"g_modnames[g_modcount], g_filemaps[g_modcount], g_fileconf)
        }
    }
    
fclose(f)
    
set_task(10.0"check_task"TASK_VOTEMOD""0"b")
}

public 
get_firstmap(modid)
{
    new 
ilen

    
if(!file_exists(g_filemaps[modid]))
        
get_mapname(g_nextmapcharsmax(g_nextmap))
    else
        
read_file(g_filemaps[modid], 0g_nextmapcharsmax(g_nextmap), ilen)
}

public 
set_multimod(modid)
{
    
server_print("Setting multimod to %i - %s"modidg_modnames[modid])
    
set_localinfo("amx_multimod"g_modnames[modid])
    
server_cmd("localinfo amxx_plugins ^"^"")
    
server_cmd("localinfo lastmapcycle ^"^"")
    
set_localinfo(AMX_PLUGINSfile_exists(g_fileplugins[modid]) ? g_fileplugins[modid] : AMX_DEFAULTPLUGINS)
    
set_localinfo(AMX_LASTCYCLEfile_exists(g_filemaps[modid]) ? g_filemaps[modid] : AMX_DEFAULTCYCLE)
    
set_pcvar_string(gp_mapcyclefilefile_exists(g_filemaps[modid]) ? g_filemaps[modid] : AMX_DEFAULTCYCLE)


    switch(
get_pcvar_num(gp_mode))
    {
        case 
2:
        {
            if(
gp_galileo_nommapfile)
                
set_pcvar_string(gp_galileo_nommapfilefile_exists(g_filemaps[modid]) ? g_filemaps[modid] : AMX_DEFAULTCYCLE)

            if(
gp_galileo_votemapfile)
                
set_pcvar_string(gp_galileo_votemapfilefile_exists(g_filemaps[modid]) ? g_filemaps[modid] : AMX_DEFAULTCYCLE)
        }
        case 
1:
        {
            
callfunc_begin("plugin_init""mapchooser_multimod.amxx");
            
callfunc_end();
        }
    }
}

public 
check_task()
{
    new 
timeleft get_timeleft()
    if(
timeleft || timeleft 180)
        return

    
start_vote()
}

public 
cmdVoteMod(idlevelcid)
{
    new 
szName[32];
    
get_user_name(idszName31);
    if( 
cmd_access(idlevelcid1) )
    {
        if( 
get_gametime() < 600.0 && !(get_user_flags(id) & ADMIN_RCON) )
        {
            
console_print(id"You cannot Vote For Mod unless 10 minutes left...")
            
client_printidprint_chat"You cannot Vote For Mod unless 10 minutes left..." );  
            
log_amx"%s wanted to vote before 10 minutes."szName )
            return 
PLUGIN_HANDLED
        
}  
        
client_print0print_chat"%s started the Mod Vote"szName );  
        
start_vote()
    }
}

public 
start_vote()
{
    
g_alreadyvoted true
    remove_task
(TASK_VOTEMOD)
    
remove_task(TASK_CHVOMOD)

    new 
menu[512], mkeysi
    
new pos format(menu511g_coloredmenus "\y%L:\w^n^n" "%L:^n^n"LANG_PLAYER"MM_CHOOSE")

    for(
i=0i<= g_modcounti++)
    {
        if( 
!= g_currentmodid // Added check for current mod to exclude it from vote.
        
{
            
pos += format(menu[pos], 511"%d. %s^n"1g_modnames[i])
            
g_votemodcount[i] = 0
            mkeys 
|= (1<<i)
        }
    }

    new 
szMenuName[63]
    
formatex(szMenuNamecharsmax(szMenuName), "%L"LANG_PLAYER"MM_VOTE")
    
server_print("show menu %s %s %i"menug_menunamemkeys)
    
show_menu(0mkeysmenu15g_menuname)
    
client_cmd(0"spk Gman/Gman_Choose2")

    
set_task(15.0"check_vote"TASK_CHVOMOD)
    return
}

public 
user_nextmod(id)
{
    
client_print(0print_chat"%L"LANG_PLAYER"MM_NEXTMOD"g_modnames[g_nextmodid])
    return 
PLUGIN_HANDLED
}

public 
user_currentmod(id)
{
    
client_print(0print_chat"%L"LANG_PLAYER"MM_NEXTMOD"g_currentmod)
    return 
PLUGIN_HANDLED
}

public 
user_votemod(id)
{
    if(
gp_allowedvote)
        return 
PLUGIN_HANDLED

    
if(g_alreadyvoted)
    {
        
client_print(0print_chat"%L"LANG_PLAYER"MM_VOTEMOD"g_modnames[g_nextmodid])
        return 
PLUGIN_HANDLED
    
}

    new 
Float:elapsedTime get_pcvar_float(gp_timelimit) - (float(get_timeleft()) / 60.0)
    new 
Float:minTime
    minTime 
get_pcvar_float(gp_mintime)

    if(
elapsedTime minTime) {
        
client_print(0print_chat"[AMX MultiMod] %L"LANG_PLAYER"MM_PL_WAIT"floatround(minTime elapsedTimefloatround_ceil))
        return 
PLUGIN_HANDLED
    
}

    new 
timeleft get_timeleft()
    if(
timeleft 180)
        return 
PLUGIN_HANDLED

    start_vote
()
    return 
PLUGIN_HANDLED
}

public 
player_vote(idkey)
{
    if(
key <= g_modcount)
    {
        if(
get_pcvar_num(gp_voteanswers))
        {
            new 
player[SSTRING]
            
get_user_name(idplayercharsmax(player))
            
client_print(0print_chat"%L"LANG_PLAYER"X_CHOSE_X"playerg_modnames[key])
        }
        
g_votemodcount[key]++
    }
}

public 
check_vote()
{
    new 
0
    
for(new 0<= g_modcounta++)
        if(
g_votemodcount[b] < g_votemodcount[a]) a

    client_print
(0print_chat"%L"LANG_PLAYER"MM_VOTEMOD"g_modnames[b])
    
server_print("%L"LANG_PLAYER"MM_VOTEMOD"g_modnames[b])
    if(
!= g_currentmodid)
        
set_multimod(b)

    
callfunc_begin("doVoteNextmap""mapchooser_multimod.amxx");
    
callfunc_end();
    
g_nextmodid b

I added this part to the plugin:
PHP Code:
        if( get_gametime() < 600.0 && !(get_user_flags(id) & ADMIN_RCON) )
        {
            
console_print(id"You cannot Vote For Mod unless 10 minutes left...")
            
client_printidprint_chat"You cannot Vote For Mod unless 10 minutes left..." );  
            
log_amx"%s wanted to vote before 10 minutes."szName )
            return 
PLUGIN_HANDLED
        

I don't think there is a problem here like what you said. It works but those warnings when compiling.
I returned handled because I want to stop the task of cmdVoteMod when an admin wants to vote before 10 minutes.
__________________
If you need any help regarding your HL Server, PM me and I can help you
My Tutorials:
How to install and use your SQL Database using AMX Mod X Plugins

Last edited by HalfLife; 08-19-2013 at 11:06.
HalfLife is offline
DarkGod
SourceMod DarkCrab
Join Date: Jul 2007
Location: Sweden
Old 08-19-2013 , 11:13   Re: What will it cause?
Reply With Quote #7

Yes but you don't return any value at the end of the function and that's why you get the warning.

(In other words what Yami said)
__________________

Last edited by DarkGod; 08-19-2013 at 11:13.
DarkGod is offline
Send a message via AIM to DarkGod Send a message via MSN to DarkGod
Shooting King
RAAASENGAN
Join Date: Mar 2012
Location: India
Old 08-19-2013 , 11:13   Re: What will it cause?
Reply With Quote #8

Quote:
Originally Posted by YamiKaitou View Post
Loose Indentation is because that line is not indented the same way as the rest of the plugin
Not for the "rest of the plugin", just "rest of the block statement".
__________________
As every time said, don't ever UNDERESTIMATE me.

Donate - Here
Shooting King is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 08-19-2013 , 11:14   Re: What will it cause?
Reply With Quote #9

I don't get the Loose Indentation warning, so it must be only on your version.

And, the part you added is causing the other message. Since you are returning PLUGIN_HANDLED (which is 1), you need to return a value at the end of that function as well
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
Kia
AlliedModders Donor
Join Date: Apr 2010
Location: In a world of madness
Old 08-19-2013 , 11:41   Re: What will it cause?
Reply With Quote #10

Download AMXX Studio or Pawn Studio, paste the code there and press STRG + I to auto-ident.
__________________
Kia is offline
Reply


Thread Tools
Display Modes

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 03:47.


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