Пример:
Да кажем, че имам файл gravity.ini в configs папката а във него има следното:
Код за потвърждение: Избери целия код
sv_gravity 700
sv_gravity 600
sv_gravity 400
sv_gravity 500
sv_gravity 350
sv_gravity 700
sv_gravity 800
Код за потвърждение: Избери целия код
sv_gravity 700
sv_gravity 600
sv_gravity 400
sv_gravity 500
sv_gravity 350
sv_gravity 700
sv_gravity 800
Код за потвърждение: Избери целия код
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Cvar change form file"
#define VERSION "1.0"
#define AUTHOR "SmirnoffBG"
#define NE 0
#define DA 1
#define TASKA 51
#define DA_IME_LI_START_BUTON NE // DA
new Array:g_array, g_arraysiza
new CurrentCvar
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
Get_Cvars()
#if DA_IME_LI_START_BUTON == DA
register_clcmd("say /startgr", "starta")
#else
set_task(10.0, "Change_Cvar",TASKA,_,_,"b")
#endif
}
#if DA_IME_LI_START_BUTON == DA
public starta(id)
{
if(task_exists(TASKA)) {
remove_task(TASKA)
} else {
set_task(10.0, "Change_Cvar",TASKA,_,_,"b")
}
}
#endif
Get_Cvars()
{
g_array = ArrayCreate(15)
new gConfigFile[50], FullCmd[15], iFileP
get_configsdir(gConfigFile, charsmax(gConfigFile))
add(gConfigFile, sizeof gConfigFile - 1, "/gravity.ini");
iFileP = fopen(gConfigFile, "rt")
if(!iFileP)
{
set_fail_state("[Cvar Changer] File not found! / Failut ne e nameren!")
}
while(!feof(iFileP)){
fgets(iFileP, FullCmd, charsmax(FullCmd))
remove_quotes(FullCmd)
if( !FullCmd[0] || FullCmd[0] == ';' || FullCmd[0] == '/' && FullCmd[1] == '/' || FullCmd[0] != 'g')
continue;
ArrayPushString(g_array, FullCmd)
}
fclose(iFileP)
g_arraysiza = ArraySize(g_array)
}
public Change_Cvar()
{
new cvara[15]
ArrayGetString(g_array, (CurrentCvar++)%g_arraysiza, cvara, charsmax(cvara))
server_cmd(cvara)
}
Код за потвърждение: Избери целия код
Run time error 11: divide
[0] cvar_changer.sma::Change_Cvar (line 65)
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#define CVAR_NAME "sv_gravity"
#define CVAR_FREQ 10.0
new Array:g_aValues, g_pCvar, g_iCurrent, g_iMax
public plugin_init()
{
register_plugin("Cvar Changer", "1.0", "OciXCrom")
g_pCvar = get_cvar_pointer(CVAR_NAME)
g_aValues = ArrayCreate(32)
ReadFile()
}
public plugin_end()
ArrayDestroy(g_aValues)
ReadFile()
{
new szConfigsName[256], szFilename[256]
get_configsdir(szConfigsName, charsmax(szConfigsName))
formatex(szFilename, charsmax(szFilename), "%s/gravity.ini", szConfigsName)
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[16]
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, ';': continue
default:
{
g_iMax++
ArrayPushCell(g_aValues, str_to_num(szData))
}
}
}
fclose(iFilePointer)
set_task(CVAR_FREQ, "ChangeCvar", .flags = "b")
}
}
public ChangeCvar()
{
set_pcvar_num(g_pCvar, ArrayGetCell(g_aValues, g_iCurrent))
g_iCurrent = (g_iCurrent < g_iMax - 1) ? (g_iCurrent + 1) : 0
}
Код за потвърждение: Избери целия код
800
700
600
500
400
500
600
700
800
Код за потвърждение: Избери целия код
Invalid cellvector handle provided (7:5:5)
Run time error 10: native error (native "ArrayGetCell")
[0] cvar_changer.sma::ChangeCvar (line 55)
Потребители разглеждащи този форум: Bing [Bot] и 28 госта