Get String Between Two Characters
So I'm making mods in my game and everything's fine, but the only thing is that you would have to make multiple scripts for multiple inputs because right now it only detects if it has something like input.keyPress. I need to be able to have it where it can be input.keyPress{DETECT STUFF INSIDE HERE} and then inside of there it would have functions that I've coded into the mods like instantiating and ect.
Sorry if this question doesn't make sense, if it doesn't I'll try to rephrase it.
Thanks! :D
I use JS but I can translate C#, I've been using Unity for a year or two.
The code may not make sense because I have probably around a hundred scripts all reacting with each other but just in case here's the code.
#pragma strict
import System.IO;
private var allObjects:GameObject[];
var chars:KeyCode[];
var contents:String[];
private var mods:String[];
private var spawns:GameObject[];
function Start(){
var di=new DirectoryInfo(Application.dataPath+"/Mods");
mods=Directory.GetFiles(Application.dataPath+"/Mods", "*.drmod");
spawns=ClientControls.cc.spawnItems;
if(di.Exists==false){
di.Create();
}
yield;
for(var mod=0; mod<mods.Length; mod++){
contents=mods;
yield;
contents[mod]=File.ReadAllText(mods[mod]);
}
}
function Update(){
if(Network.isServer||Network.isClient){
allObjects=GameObject.FindObjectsOfType(GameObject);
if(mods.Length==0){
Destroy(this);
}
for(var mod=0; mod<mods.Length; mod++){
for(var a=0; a<allObjects.Length; a++){
if(contents[mod].Contains("instance.dupeAtPlayer.clientSide ("+allObjects[a].name+")")){
for(var chara=0; chara<chars.Length; chara++){
if(contents[mod].Contains("input.keyPress ("+chars[chara]+")")){
if(Input.GetKeyDown(chars[chara])){
Instantiate(allObjects[a], ClientControls.cc.itemSpawnLocation.position, ClientControls.cc.itemSpawnLocation.rotation);
}
}
}
}
}
for(var b=0; b<spawns.Length; b++){
if(contents[mod].Contains("instance.spawnMenu.spawn ("+spawns[b].name+")")){
for(chara=0; chara<chars.Length; chara++){
if(contents[mod].Contains("input.keyPress ("+chars[chara]+")")){
if(Input.GetKeyDown(chars[chara])){
Network.Instantiate(spawns[b], ClientControls.cc.itemSpawnLocation.position, ClientControls.cc.itemSpawnLocation.rotation, 0);
}
}
}
}
}
}
}
}
Your answer
Follow this Question
Related Questions
Loading saved location from a .cs file in my main menu which is a .js file. 0 Answers
Why is every single tutorial on Youtube (including Unity's own beginner tutorials) all in C#? 1 Answer
Change gui.Texture color with key press Javascript 1 Answer
Convert Js yo C# 1 Answer
Audio Endless Loop c# 1 Answer