16.06.2014, 20:00
Just a simple question, how would I load a random FS from the folder filterscripts?
Thanks in advance.
Thanks in advance.
static const ScriptNames[][] =
{
"script_name_1",
"script_name_2",
"script_name_3",
"script_name_4"
// more ...
};
static bool:Loaded[(sizeof(ScriptNames)) char];
LoadNewFS()
{
static ScriptsLoaded;
if(ScriptsLoaded >= sizeof(ScriptNames))
{
print("Warning: All scripts loaded!");
return -1;
}
new p, rand;
while(!p)
{
rand = random(sizeof(ScriptNames));
if(!Loaded{rand})
{
Loaded{rand} = true;
ScriptsLoaded++;
p = 1;
}
}
new cmd[45];
format(cmd,sizeof(cmd),"loadfs %s",ScriptNames[rand]);
SendRconCommand(cmd);
return rand;
}
pawn Код:
|
stock LoadNewFS()
{
new p, rand;
while(!p)
{
rand = random(sizeof(ScriptNames));
if(!Loaded{rand})
{
Loaded{rand} = true;
p = 1;
}
else if(Loaded{rand})
{
new cmd[45];
format(cmd,sizeof(cmd),"unloadfs %s",ScriptNames[rand]);
SendRconCommand(cmd);
}
}
new cmd[45];
format(cmd,sizeof(cmd),"loadfs %s",ScriptNames[rand]);
SendRconCommand(cmd);
return rand;
}
LoadNewFS()
{
static ScriptsLoaded;
if(ScriptsLoaded >= sizeof(ScriptNames))
{
print("Warning: All scripts loaded!");
return -1;
}
new cmd[45], script = -1;
if(ScriptsLoaded)
{
for(new i=0; i != sizeof(ScriptNames); i++)
if(Loaded{i})
{
script = i;
ScriptsLoaded--;
Loaded{i} = false;
format(cmd,sizeof(cmd),"unloadfs %s",ScriptNames[i]);
SendRconCommand(cmd);
break;
}
}
new p, rand;
while(!p)
{
rand = random(sizeof(ScriptNames));
if(!Loaded{rand} && script != rand)
{
Loaded{rand} = true;
ScriptsLoaded++;
p = 1;
}
}
format(cmd,sizeof(cmd),"loadfs %s",ScriptNames[rand]);
SendRconCommand(cmd);
return rand;
}