Example #1
0
        private void setParamValue_scriptCmd(GTA.Script sender, GTA.ObjectCollection parameters)
        {
            if (parameters.Count < 5)
            {
                // Error code 1: invalid parameter count
                SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 1);
                return;
            }

            string structName = parameters.Convert<string>(1);

            int index = 0;

            if (!int.TryParse(parameters.Convert<string>(2), out index))
            {
                // Error code 2: invalid index
                SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 2);
                return;
            }

            CEditableStruct tempStruct = GlobalVars.Structures.Find(x => x.Name == structName);

            if (tempStruct == null)
            {
                // Error code 3: invalid struct name
                SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 3);
                return;
            }

            string paramName = parameters.Convert<string>(3);
            SParameter tempParam = new SParameter();

            if (tempStruct.GetGenericParamByName(paramName, ref tempParam) != 0)
            {
                // Error code 4: invalid param name
                SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 4);
                return;
            }

            if (tempParam.Type == typeof(int))
            {
                int newVal = parameters.Convert<int>(4);
                int retVal = tempStruct.SetParamValue<int>(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
            }
            else if (tempParam.Type == typeof(string))
            {
                string newVal = parameters.Convert<string>(4);
                int retVal = tempStruct.SetParamValue(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
                else if (retVal == -3)
                {
                    // Error code 6: input string too long
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 6);
                    return;
                }
            }
            else if (tempParam.Type == typeof(char))
            {
                string newValString = parameters.Convert<string>(4);
                char newVal = '\0';
                int retVal = 0;

                if (newValString != string.Empty)
                {
                    newVal = newValString[0];
                    if (retVal == -1)
                    {
                        // Error code 5: invalid param index number
                        SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                        return;
                    }
                }
                else
                {
                    // Error code 6: invalid character entered
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 6);
                    return;
                }
            }
            else if (tempParam.Type == typeof(float))
            {
                float newVal = parameters.Convert<float>(4);
                int retVal = tempStruct.SetParamValue(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
            }
            else if (tempParam.Type == typeof(double))
            {
                double newVal = parameters.Convert<float>(4);
                int retVal = tempStruct.SetParamValue(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
            }
            else if (tempParam.Type == typeof(short))
            {
                short newVal = parameters.Convert<short>(4);
                int retVal = tempStruct.SetParamValue(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
            }
            else if (tempParam.Type == typeof(long))
            {
                long newVal = parameters.Convert<long>(4);
                int retVal = tempStruct.SetParamValue(index, paramName, newVal);

                if (retVal == -1)
                {
                    // Error code 5: invalid param index number
                    SendScriptCommand(sender, "si_setparamvalue_response", parameters[0], 5);
                    return;
                }
            }

            // Success! :D
            SendScriptCommand(sender, "si_setparamvalue_respons", parameters[0], 0);
        }
Example #2
0
        private void getParamValue_scriptCmd(GTA.Script sender, GTA.ObjectCollection parameters)
        {
            // si_getparamvalue <call identifier> <structure name> <element index> <parameter name>
            if (parameters.Count < 4)
            {
                // Error code 1: invalid parameter count
                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 1);
                return;
            }

            string structName = parameters.Convert<string>(1);

            int index = 0;

            if (!int.TryParse(parameters.Convert<string>(2), out index))
            {
                // Error code 2: invalid index
                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 2);
                return;
            }

            CEditableStruct tempStruct = GlobalVars.Structures.Find(x => x.Name == structName);

            if (tempStruct == null)
            {
                // Error code 3: invalid struct name
                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 3);
                return;
            }

            string paramName = parameters.Convert<string>(3);
            SParameter tempParam = new SParameter();

            if (tempStruct.GetGenericParamByName(paramName, ref tempParam) != 0)
            {
                // Error code 4: invalid param name
                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 4);
                return;
            }

            if (tempParam.Type == typeof(int))
            {
                int retVal = 0;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(string))
            {
                string retVal = string.Empty;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(char))
            {
                char retVal = char.MinValue;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(float))
            {
                float retVal = 0f;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(double))
            {
                double retVal = 0f;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(short))
            {
                short retVal = 0;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }
            else if (tempParam.Type == typeof(long))
            {
                long retVal = 0;
                tempStruct.GetParamValue(index, paramName, ref retVal);

                SendScriptCommand(sender, "si_getparamvalue_response", parameters[0], 0, retVal);
            }

            return;
        }
Example #3
0
        private void getStructName_scriptCmd(GTA.Script sender, GTA.ObjectCollection parameters)
        {
            // si_getstructname <sender> <index>
            if (parameters.Count < 2)
            {
                // Error code 1: invalid parameter count.
                SendScriptCommand(sender, "si_getstructname_response", parameters[0], 1);
            }

            int index = parameters.Convert<int>(1);

            if (index < 0 || index >= GlobalVars.Structures.Count)
            {
                // Error code 2: invalid index
                SendScriptCommand(sender, "si_getstructname_response", parameters[0], 2);
            }

            SendScriptCommand(sender, "si_getstructname_response", parameters[0], GlobalVars.Structures[index].Name);
        }
Example #4
0
        private void getParamName_scriptCmd(GTA.Script sender, GTA.ObjectCollection parameters)
        {
            // si_getparamnum <call identifier> <structure name> <param index>
            if (parameters.Count < 3)
            {
                // Error code -1: invalid parameter count
                SendScriptCommand(sender, "si_getparamname_response", parameters[0], 1);
                return;
            }

            string structName = parameters.Convert<string>(1);

            CEditableStruct tempStruct = GlobalVars.Structures.Find(x => x.Name == structName);

            if (tempStruct == null)
            {
                // Error code -3: invalid struct name
                SendScriptCommand(sender, "si_getparamname_response", parameters[0], 3);
                return;
            }

            int paramIndex = parameters.Convert<int>(2);
            if (paramIndex < 0 || paramIndex >= tempStruct.NumParams)
            {
                // Error code -4: invalid parameter index
                SendScriptCommand(sender, "si_getparamname_response", parameters[0], 4);
            }

            SParameter tempParameter = new SParameter();
            tempStruct.GetGenericParamByIndex(paramIndex, out tempParameter);

            SendScriptCommand(sender, "si_getelementsnum_response", parameters[0], tempParameter.ParamName);
        }
Example #5
0
        private void getParamNum_scriptCmd(GTA.Script sender, GTA.ObjectCollection parameters)
        {
            // si_getparamnum <call identifier> <structure name>
            if (parameters.Count < 2)
            {
                // Error code 1: invalid parameter count
                SendScriptCommand(sender, "si_getparamnum_response", parameters[0], 1);
                return;
            }

            string structName = parameters.Convert<string>(1);

            CEditableStruct tempStruct = GlobalVars.Structures.Find(x => x.Name == structName);

            if (tempStruct == null)
            {
                // Error code 3: invalid struct name
                SendScriptCommand(sender, "si_getparamnum_response", parameters[0], 3);
                return;
            }

            SendScriptCommand(sender, "si_getparamnum_response", parameters[0], tempStruct.NumParams);
        }
Example #6
0
 private void FlagChange(GTA.Script sender, GTA.ObjectCollection Parameter)
 {
     ExternalFlag = Parameter.Convert<bool>(0);
 }
 //
 private void ChangeProbability(GTA.Script sender, GTA.ObjectCollection Parameter)
 {
     F_Probability = Parameter.Convert<int>(0);
 }
Example #8
0
        private void ChangeFlag(GTA.Script sender, GTA.ObjectCollection Parameter)
        {
            JAMMING_FLAG = Parameter.Convert<bool>(0);
            if (JAMMING_FLAG)
            {
                Timer = 45 * 5;
                JAMMING_FLAG = true;

                GuidOfScript2 = new Guid("EEF9D7C2-0D24-11E0-9289-45BCDFD72085");
                SendScriptCommand(GuidOfScript2, "HORMING_DEACTIVATE_FLAG",true);

            }
            else
            {
                GTA.Native.Function.Call("ENABLE_FRONTEND_RADIO");
                Timer = -1;
                GuidOfScript2 = new Guid("EEF9D7C2-0D24-11E0-9289-45BCDFD72085");
                SendScriptCommand(GuidOfScript2, "HORMING_DEACTIVATE_FLAG", false);
            }
        }
Example #9
0
        /// <summary>
        /// Places in flashing mode and disables left hand side lights, for external script triggering
        /// </summary>
        /// <param name="veh"></param>
        private void TurnRight(GTA.Script sender, GTA.ObjectCollection Parameter)
        {
            try
            {
                Vehicle veh = Parameter.Convert<Vehicle>(0);
                bool senderLock = (Parameter.Count == 2) ? Parameter.Convert<bool>(1) : false;

                TurnRight(veh, sender.GUID, senderLock);
            }
            catch (Exception E)
            {
                Log("TurnRight - external-call", E.Message);
            }
        }
 private void Activate(GTA.Script sender, GTA.ObjectCollection Parameter)
 {
     AF = Parameter.Convert<bool>(0);
 }