Solved Plugin Problem

Doctor

New Member
Member
Jul 28, 2014
16
10
1
Turkey
Hi guys i've a plugin which working fine with Magma but i can't use this plugin with Fougerite and i can't stop using Fougerite because i loved Fougerite it's just amazing thank you for providing Fougerite for us anyway. Plugin commands working fine but plugins features not working this is the code of the plugin

Code:
/**
* Name : Planner
* File : Planner.js
* Author : Snake
* Creation Date : 2014.07.24
* Update Date : 2014.07.31
* Version : 1.0.2
*/

//Function to get a player by name by DreTaX @dretax14
function getPlayer(name) {
    name = Data.ToLower(name);
    for (pl in Server.Players) {
        if (Data.ToLower(pl.Name) == name) {
            return pl;
        }
    }
    return null;
}

//Commands of the plugin
function On_Command (Player, cmd, args) {
    cmd = Data.ToLower(cmd);
    var n = "Planner";
    if (cmd == "plan") {
        var ini = Plugin.GetIni("Planner");
        var status = ini.GetSetting("Settings", "status");
        var start = ini.GetSetting("Settings", "start");
        var startmode = ini.GetSetting("Settings", "startmode");
        var stop = ini.GetSetting("Settings", "stop");
        var stopmode = ini.GetSetting("Settings", "stopmode");
        switch (args.Length) {
            case 0:
                Player.MessageFrom(n, "Planner 1.0.2 by Snake");
                Player.MessageFrom(n, "-------------------");
                Player.MessageFrom(n, "Planner Status : " + status);
                Player.MessageFrom(n, "PvP Starts : " + start + " " + startmode);
                Player.MessageFrom(n, "PvP Stops : " + stop + " " + stopmode);
                if (Player.Admin) {
                    Player.MessageFrom(n, "-------------------");
                    Player.MessageFrom(n, "Use '/plan on' to change the Planner status to ON");
                    Player.MessageFrom(n, "Use '/plan off' to change the Planner status to OFF");
                    Player.MessageFrom(n, "Use '/plan start x AM/PM' to change the PvP time start");
                    Player.MessageFrom(n, "Use '/plan stop x AM/PM' to change the PvP time start");
                }
                break;

            case 1:
                if (Player.Admin) {
                    switch (args[0]) {
                        case "on":
                            ini.SetSetting("Settings", "status", "on");
                            ini.Save();
                            Server.BroadcastFrom(n, "PvP Planner set to ON from " + start + " to " + stop);
                            break;

                        case "off":
                            ini.SetSetting("Settings", "status", "off");
                            ini.Save();
                            Server.BroadcastFrom(n, "PvP Planner set to OFF");
                            break;

                        default:
                            Player.MessageFrom(n, "Invalid option (on/off)");
                            break;
                    }
                }
                else {
                    Player.MessageFrom(n, "You don't have permission to do this");
                }
                break;

            case 3:
                args[2] = Data.ToUpper(args[2]);
                if (Player.Admin) {
                    if (isNaN(parseInt(args[1])) || args[1] > 12 || args[1] < 0 || args[2] != "AM" && args[2] != "PM") {
                        Player.MessageFrom(n, "Invalid option ('/plan action number AM/PM)");
                        Player.MessageFrom(n, "Example : /plan start 10 AM");
                        Player.MessageFrom(n, "Example : /plan stop 5 PM");
                        return;
                    }
                    var t = args[1]+args[2];
                    switch (args[0]) {
                        case "start":
                            ini.SetSetting("Settings", "start", args[1]);
                            ini.SetSetting("Settings", "startmode", args[2]);
                            ini.Save();
                            Player.MessageFrom(n, "Start set to " + t);
                            break;

                        case "stop":
                            ini.SetSetting("Settings", "stop", args[1]);
                            ini.SetSetting("Settings", "stopmode", args[2]);
                            ini.Save();
                            Player.MessageFrom(n, "Stop set to " + t);
                            break;

                        default:
                            Player.MessageFrom(n, "Invalid option (start/stop)");
                            Player.MessageFrom(n, "Example : /plan start 10 AM");
                            Player.MessageFrom(n, "Example : /plan stop 5 PM");
                            break;
                    }
                }
                else {
                    Player.MessageFrom(n, "You don't have permission to do this");
                }
                break;

            default:
                Player.MessageFrom(n, "Invalid command");
                break;
        }
    }
}

//Protection for pvp damage if it's in the plugin limits
function On_PlayerHurt(he) {
    var att = he.Attacker;
    var vic = he.Victim;
    if (getPlayer(att.Name) == null || att.SteamID == vic.SteamID) {
        return;
    }
    //Getting all the settings
    var ini = Plugin.GetIni("Planner");
    var status = ini.GetSetting("Settings", "status");
    if (status == "off") {
        return;
    }
    var start = ini.GetSetting("Settings", "start");
    var startmode = ini.GetSetting("Settings", "startmode");
    var stop = ini.GetSetting("Settings", "stop");
    var stopmode = ini.GetSetting("Settings", "stopmode");

    //Getting the hour
    var t = Plugin.GetTime();
    var i = t.indexOf(":");
    var hour = t.substr(0, i);

    //Getting the mode
    var sys = "";
    var length = t.length;
    if (length == 7) {
        sys = t.substring(5, 7);
    }
    else {
        sys = t.substring(6, 8);
    }

    //If doesn't match any limit stop it
    if (startmode != sys && stopmode != sys) {
        return;
    }

    //Comparing hour and limits set by the plugin
    if (startmode == sys) {
        if (hour >= start) {
            he.DamageAmount = 0;
            att.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
            vic.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
        }
    }
    else if (hour < stop){
        he.DamageAmount = 0;
        att.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
        vic.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
    }
}
 

Attachments

  • Planner.rar
    1.6 KB · Views: 0
Hi guys i've a plugin which working fine with Magma but i can't use this plugin with Fougerite and i can't stop using Fougerite because i loved Fougerite it's just amazing thank you for providing Fougerite for us anyway. Plugin commands working fine but plugins features not working this is the code of the plugin

Code:
/**
* Name : Planner
* File : Planner.js
* Author : Snake
* Creation Date : 2014.07.24
* Update Date : 2014.07.31
* Version : 1.0.2
*/

//Function to get a player by name by DreTaX @dretax14
function getPlayer(name) {
    name = Data.ToLower(name);
    for (pl in Server.Players) {
        if (Data.ToLower(pl.Name) == name) {
            return pl;
        }
    }
    return null;
}

//Commands of the plugin
function On_Command (Player, cmd, args) {
    cmd = Data.ToLower(cmd);
    var n = "Planner";
    if (cmd == "plan") {
        var ini = Plugin.GetIni("Planner");
        var status = ini.GetSetting("Settings", "status");
        var start = ini.GetSetting("Settings", "start");
        var startmode = ini.GetSetting("Settings", "startmode");
        var stop = ini.GetSetting("Settings", "stop");
        var stopmode = ini.GetSetting("Settings", "stopmode");
        switch (args.Length) {
            case 0:
                Player.MessageFrom(n, "Planner 1.0.2 by Snake");
                Player.MessageFrom(n, "-------------------");
                Player.MessageFrom(n, "Planner Status : " + status);
                Player.MessageFrom(n, "PvP Starts : " + start + " " + startmode);
                Player.MessageFrom(n, "PvP Stops : " + stop + " " + stopmode);
                if (Player.Admin) {
                    Player.MessageFrom(n, "-------------------");
                    Player.MessageFrom(n, "Use '/plan on' to change the Planner status to ON");
                    Player.MessageFrom(n, "Use '/plan off' to change the Planner status to OFF");
                    Player.MessageFrom(n, "Use '/plan start x AM/PM' to change the PvP time start");
                    Player.MessageFrom(n, "Use '/plan stop x AM/PM' to change the PvP time start");
                }
                break;

            case 1:
                if (Player.Admin) {
                    switch (args[0]) {
                        case "on":
                            ini.SetSetting("Settings", "status", "on");
                            ini.Save();
                            Server.BroadcastFrom(n, "PvP Planner set to ON from " + start + " to " + stop);
                            break;

                        case "off":
                            ini.SetSetting("Settings", "status", "off");
                            ini.Save();
                            Server.BroadcastFrom(n, "PvP Planner set to OFF");
                            break;

                        default:
                            Player.MessageFrom(n, "Invalid option (on/off)");
                            break;
                    }
                }
                else {
                    Player.MessageFrom(n, "You don't have permission to do this");
                }
                break;

            case 3:
                args[2] = Data.ToUpper(args[2]);
                if (Player.Admin) {
                    if (isNaN(parseInt(args[1])) || args[1] > 12 || args[1] < 0 || args[2] != "AM" && args[2] != "PM") {
                        Player.MessageFrom(n, "Invalid option ('/plan action number AM/PM)");
                        Player.MessageFrom(n, "Example : /plan start 10 AM");
                        Player.MessageFrom(n, "Example : /plan stop 5 PM");
                        return;
                    }
                    var t = args[1]+args[2];
                    switch (args[0]) {
                        case "start":
                            ini.SetSetting("Settings", "start", args[1]);
                            ini.SetSetting("Settings", "startmode", args[2]);
                            ini.Save();
                            Player.MessageFrom(n, "Start set to " + t);
                            break;

                        case "stop":
                            ini.SetSetting("Settings", "stop", args[1]);
                            ini.SetSetting("Settings", "stopmode", args[2]);
                            ini.Save();
                            Player.MessageFrom(n, "Stop set to " + t);
                            break;

                        default:
                            Player.MessageFrom(n, "Invalid option (start/stop)");
                            Player.MessageFrom(n, "Example : /plan start 10 AM");
                            Player.MessageFrom(n, "Example : /plan stop 5 PM");
                            break;
                    }
                }
                else {
                    Player.MessageFrom(n, "You don't have permission to do this");
                }
                break;

            default:
                Player.MessageFrom(n, "Invalid command");
                break;
        }
    }
}

//Protection for pvp damage if it's in the plugin limits
function On_PlayerHurt(he) {
    var att = he.Attacker;
    var vic = he.Victim;
    if (getPlayer(att.Name) == null || att.SteamID == vic.SteamID) {
        return;
    }
    //Getting all the settings
    var ini = Plugin.GetIni("Planner");
    var status = ini.GetSetting("Settings", "status");
    if (status == "off") {
        return;
    }
    var start = ini.GetSetting("Settings", "start");
    var startmode = ini.GetSetting("Settings", "startmode");
    var stop = ini.GetSetting("Settings", "stop");
    var stopmode = ini.GetSetting("Settings", "stopmode");

    //Getting the hour
    var t = Plugin.GetTime();
    var i = t.indexOf(":");
    var hour = t.substr(0, i);

    //Getting the mode
    var sys = "";
    var length = t.length;
    if (length == 7) {
        sys = t.substring(5, 7);
    }
    else {
        sys = t.substring(6, 8);
    }

    //If doesn't match any limit stop it
    if (startmode != sys && stopmode != sys) {
        return;
    }

    //Comparing hour and limits set by the plugin
    if (startmode == sys) {
        if (hour >= start) {
            he.DamageAmount = 0;
            att.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
            vic.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
        }
    }
    else if (hour < stop){
        he.DamageAmount = 0;
        att.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
        vic.MessageFrom(n, "PvP is OFF from " + start + startmode + " to " + stop + stopmode);
    }
}
Attach me your logs please.
 
When something isn't working, it helps a lot finding the problem if you describe how it isn't working, like this:

I ran the command "/command a b c" and expected such-and-such to happen.
Instead something else happened.

Describe "such-and-such" and "something else" as best you can. Thanks.
 
I see a lot of places in the logs where you ran the command with no arguments. But I don't see any "/plan on" or "/plan off" or any other commands.

[8/2/2014 2:43:38 PM] [Debug] [CHAT-CMD] "Doctor" executed "/plan"

Are you logged in as RCON admin? It will show you the help if you are.

"Use '/plan on' to change the Planner status to ON"
"Use '/plan off' to change the Planner status to OFF"
"Use '/plan start x AM/PM' to change the PvP time start"
"Use '/plan stop x AM/PM' to change the PvP time start"

You can't use these commands unless you're RCON admin.
 
ye i'm RCON admin and commands working fine but the features not working when plan on and between 12AM-12PM pvp must set off but its on all the time