WIP: filenetmessages
leftovers from zuff :(
This commit is contained in:
parent
b3f49f0043
commit
a50a22b3b8
150
_FileNetMessages/scripting/filenetmessages.sp
Normal file
150
_FileNetMessages/scripting/filenetmessages.sp
Normal file
@ -0,0 +1,150 @@
|
||||
#include <sourcemod>
|
||||
#include <filenetmessages>
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void OnPluginStart()
|
||||
{
|
||||
RegConsoleCmd("sm_request", Command_Request);
|
||||
|
||||
RegConsoleCmd("sm_create", Command_Create);
|
||||
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action Command_Request(int client, int argc)
|
||||
{
|
||||
FNM_RequestFile(client, "data/unloze/keychain.dat");
|
||||
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: We requested the file, client had it and we recieved it.
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void FNM_OnFileReceived(int client, const char[] filename, int transferid)
|
||||
{
|
||||
char sUserHash[32];
|
||||
ReadUserHashFile(client, sUserHash, sizeof(sUserHash));
|
||||
|
||||
PrintToChatAll("Returned hash for %N: %s", client, sUserHash);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: We requested the file, client didnt have it.
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void FNM_OnFileDenied(int client, const char[] filename, int transferid)
|
||||
{
|
||||
PrintToChatAll("Returned hash for %N: %s", client, "DEUS VULT");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action Command_Create(int client, int argc)
|
||||
{
|
||||
char sUserHash[32];
|
||||
|
||||
for(int i; i < 30; i++)
|
||||
{
|
||||
switch(GetRandomInt(1, 3))
|
||||
{
|
||||
// Numbers
|
||||
case(1): sUserHash[i] = view_as<char>(GetRandomInt(48, 57));
|
||||
|
||||
//Capitals
|
||||
case(2): sUserHash[i] = view_as<char>(GetRandomInt(65, 90));
|
||||
|
||||
//Letters
|
||||
case(3): sUserHash[i] = view_as<char>(GetRandomInt(97, 122));
|
||||
}
|
||||
}
|
||||
|
||||
PrintToChatAll("Creating user hash for %N: %s", client, sUserHash);
|
||||
|
||||
SendUserHashFile(client, sUserHash);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void SendUserHashFile(client, const char[] sHash)
|
||||
{
|
||||
if(FileExists("data/unloze/keychain.dat"))
|
||||
{
|
||||
LogError("%L hash file exists, stopping to prevent conflicts!", client);
|
||||
return;
|
||||
}
|
||||
|
||||
File fFile;
|
||||
if((fFile = OpenFile("data/unloze/keychain.dat", "w")) != null)
|
||||
{
|
||||
fFile.WriteString(sHash, false);
|
||||
fFile.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
LogError("%L failed to create hash file.", client);
|
||||
return;
|
||||
}
|
||||
|
||||
if(FNM_SendFile(client, "data/unloze/keychain.dat") == 0)
|
||||
{
|
||||
LogError("%L failed to send hash file.", client);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!DeleteFile("data/unloze/keychain.dat"))
|
||||
{
|
||||
LogError("%L failed to delete hash file.", client);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void ReadUserHashFile(client, char[] sHash, int hashLength)
|
||||
{
|
||||
if(!FileExists("download/data/unloze/keychain.dat"))
|
||||
{
|
||||
LogError("%L hash file does not exists, unable to read!", client);
|
||||
return;
|
||||
}
|
||||
|
||||
File fFile;
|
||||
if((fFile = OpenFile("download/data/unloze/keychain.dat", "r")) != null)
|
||||
{
|
||||
fFile.ReadString(sHash, hashLength);
|
||||
fFile.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
LogError("%L failed to read hash file.", client);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!DeleteFile("download/data/unloze/keychain.dat"))
|
||||
{
|
||||
LogError("%L failed to delete hash file.", client);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: Have yet to figure out when this fires.
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void FNM_OnFileSent(int client, const char[] filename, int transferid)
|
||||
{
|
||||
PrintToServer("FNM_OnFileSent: %N -> %s", client, filename);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose: Client requested a file, so far only seems to fire for user_custom data files.
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action FNM_OnFileRequested(int client, const char[] filename, int transferid)
|
||||
{
|
||||
PrintToServer("FNM_OnFileRequested: %N -> %s", client, filename);
|
||||
}
|
Loading…
Reference in New Issue
Block a user