This site uses cookies! Learn More

This site uses cookies! uses cookies to improve user experience.

By continuing to use this site, you agree to allow us to store cookies on your computer.

All Activity

This stream auto-updates   

  1. Past hour
  2. Today
  3. For the fps kit or using an fps kit... no. I don't know of any kits that use the fallout kind of system. There may be some out there but I'm not aware of them. Your only options are to put the man hours in and modify the code yourself or scour the internet and try to find one (if any)
  4. ok understood... thanks again for your time.. could you advise me another good weapon system to start with and expand with my own code??
  5. There is no possible way to change it with the current system. You will need to completely rewrite how ammunition works and how it is stored and there really is no quick way of doing that bc of the sheer amount of code that would need to be changed/rewritten. Would probably taken a couple days straight for oma himself to make those kind of changes let alone anyone else
  6. thanks again for your reply and the explaination it is how i was supposing ... btw i was thinking there was a way thias could be solved even with this ammo system.. is there any workaround to bypass this into fpskit as you know??
  7. It's because the system the fps kit uses isn't ammo independent. For instance, each weapon has its own ammo count. They do not share from a pool of ammo. So if you have 40 types of guns but your holding a rocket and you pick up mags, it wouldn't know which weapon to give the ammo to, does that make sense? Unless all of your weapons share from a pool of ammo of that type, you cannot in any way make a good system that will pickup ammo and know exactly which weapon to give it to unless it goes directly to the weapon being held (which is exactly how it's written)
  8. thanks for your reply but i cannot figured what you wrote this is the weapon manager script i'm using using UnityEngine; using System.Collections; public class WeaponManager : MonoBehaviour { // FPS KIT [] public GameObject[] weaponsInUse; public GameObject[] weaponsInGame; public Rigidbody[] worldModels; public RaycastHit hit; private float dis = 3.0f; public LayerMask layerMaskWeapon; public LayerMask layerMaskAmmo; public Transform dropPosition; private float switchWeaponTime = 0.25f; //[HideInInspector] public bool canSwitch = true; [HideInInspector] public bool showWepGui = false; [HideInInspector] public bool showAmmoGui = false; private bool equipped = false; [HideInInspector] public int weaponToSelect; [HideInInspector] public int setElement; [HideInInspector] public int weaponToDrop; public GUISkin mySkin; public AudioClip pickupSound; public AudioSource aSource; public HealthScript hs; private string textFromPickupScript = ""; private string notes = ""; private string note = "Press key <color=#88FF6AFF> << E >> </color> to pick up Ammo"; private string wrongType = "Select appropriate weapon to pick up"; public int selectWepSlot1 = 0; public int selectWepSlot2 = 0; void Start() { for (int h = 0; h < worldModels.Length; h++) { weaponsInGame[h].SetActive(false); } weaponsInUse[0] = weaponsInGame[selectWepSlot1]; weaponsInUse[1] = weaponsInGame[selectWepSlot2]; weaponToSelect = 0; StartCoroutine(DeselectWeapon()); } void Update() { if (Cursor.lockState == CursorLockMode.None) return; if (Input.GetKeyDown("1") && weaponsInUse.Length >= 1 && canSwitch && weaponToSelect != 0) { StartCoroutine(DeselectWeapon()); weaponToSelect = 0; } else if (Input.GetKeyDown("2") && weaponsInUse.Length >= 2 && canSwitch && weaponToSelect != 1) { StartCoroutine(DeselectWeapon()); weaponToSelect = 1; } if (Input.GetAxis("Mouse ScrollWheel") > 0 && canSwitch) { weaponToSelect++; if (weaponToSelect > (weaponsInUse.Length - 1)) { weaponToSelect = 0; } StartCoroutine(DeselectWeapon()); } if (Input.GetAxis("Mouse ScrollWheel") < 0 && canSwitch) { weaponToSelect--; if (weaponToSelect < 0) { weaponToSelect = weaponsInUse.Length - 1; } StartCoroutine(DeselectWeapon()); } Vector3 pos = transform.parent.position; Vector3 dir = transform.TransformDirection(Vector3.forward); if (Physics.Raycast(pos, dir, out hit, dis, layerMaskWeapon)) { WeaponIndex pre = hit.transform.GetComponent<WeaponIndex>(); setElement = pre.setWeapon; showWepGui = true; if (weaponsInUse[0] != weaponsInGame[setElement] && weaponsInUse[1] != weaponsInGame[setElement]) { equipped = false; } else { equipped = true; } if (canSwitch && !equipped) { if (Input.GetKeyDown("e")) { DropWeapon(weaponToDrop); StartCoroutine(DeselectWeapon()); weaponsInUse[weaponToSelect] = weaponsInGame[setElement]; Destroy(hit.transform.gameObject); } } } else { showWepGui = false; } if (Physics.Raycast(pos, dir, out hit, dis, layerMaskAmmo)) { showAmmoGui = true; if (hit.transform.CompareTag("Ammo")) { Pickup pickupGO = hit.transform.GetComponent<Pickup>(); //bullets/magazines if (pickupGO.pickupType == PickupType.Magazines) { WeaponScriptNEW mags = weaponsInUse[weaponToSelect].transform.GetComponent<WeaponScriptNEW>(); /* if (mags == null) { textFromPickupScript = ""; return; } */ if (mags == null) { notes = ""; textFromPickupScript = pickupGO.AmmoInfo; notes = wrongType; return; } if (mags.firstMode != fireMode.launcher) { notes = ""; textFromPickupScript = note; if (Input.GetKeyDown("e")) { if (mags.ammoMode == Ammo.Magazines) mags.magazines += pickupGO.amount; else mags.magazines += pickupGO.amount * mags.bulletsPerMag; aSource.PlayOneShot(pickupSound, 0.3f); Destroy(hit.transform.gameObject); } } else { textFromPickupScript = pickupGO.AmmoInfo; notes = wrongType; } } //projectiles/rockets if (pickupGO.pickupType == PickupType.Projectiles) { WeaponScriptNEW projectile = weaponsInUse[weaponToSelect].transform.GetComponent<WeaponScriptNEW>(); if (projectile == null) { textFromPickupScript = ""; return; } if (projectile.secondMode == fireMode.launcher || projectile.firstMode == fireMode.launcher) { notes = ""; textFromPickupScript = note; if (Input.GetKeyDown("e")) { projectile.projectiles += pickupGO.amount; aSource.PlayOneShot(pickupSound, 0.3f); Destroy(hit.transform.gameObject); } } else { textFromPickupScript = pickupGO.AmmoInfo; notes = wrongType; } } //health if (pickupGO.pickupType == PickupType.Health) { textFromPickupScript = pickupGO.AmmoInfo; notes = ""; if (Input.GetKeyDown("e")) { hs.Medic(pickupGO.amount); aSource.PlayOneShot(pickupSound, 0.3f); Destroy(hit.transform.gameObject); } } } } else { showAmmoGui = false; } } void OnGUI() { = mySkin; if (showWepGui) { if (!equipped) GUI.Label(new Rect(Screen.width / 2 - 400, Screen.height - (Screen.height / 1.4f), 800, 100), "Press key <color=#88FF6AFF> << E >> </color> to pickup weapon", mySkin.customStyles[1]); else GUI.Label(new Rect(Screen.width / 2 - 400, Screen.height - (Screen.height / 1.4f), 800, 100), "Weapon is already equipped", mySkin.customStyles[1]); } if (showAmmoGui) GUI.Label(new Rect(Screen.width / 2 - 400, Screen.height - (Screen.height / 1.4f), 800, 200), notes + "\n" + textFromPickupScript, mySkin.customStyles[1]); } IEnumerator DeselectWeapon() { canSwitch = false; for (int i = 0; i < weaponsInUse.Length; i++) { weaponsInUse[i].SendMessage("Deselect", SendMessageOptions.DontRequireReceiver); weaponsInUse[i].gameObject.SetActive(false); } yield return new WaitForSeconds(switchWeaponTime); SelectWeapon(weaponToSelect); yield return new WaitForSeconds(switchWeaponTime); canSwitch = true; } void SelectWeapon(int i) { weaponsInUse[i].gameObject.SetActive(true); weaponsInUse[i].SendMessage("DrawWeapon", SendMessageOptions.DontRequireReceiver); WeaponIndex temp = weaponsInUse[i].transform.GetComponent<WeaponIndex>(); weaponToDrop = temp.setWeapon; } void DropWeapon(int index) { if (index == 0) return; for (int i = 0; i < worldModels.Length; i++) { if (i == index) { Rigidbody drop = Instantiate(worldModels[i], dropPosition.transform.position, dropPosition.transform.rotation) as Rigidbody; drop.AddRelativeForce(0, 250, Random.Range(100, 200)); drop.AddTorque(-transform.up * 40); } } } public void EnterWater() { canSwitch = false; for (int i = 0; i < weaponsInUse.Length; i++) { weaponsInUse[i].SendMessage("Deselect", SendMessageOptions.DontRequireReceiver); weaponsInUse[i].gameObject.SetActive(false); } } public void ExitWater() { canSwitch = true; SelectWeapon(weaponToSelect); } } can you explain me better please..? thaks in advance
  9. I don't use it and haven't even looked at the code in a good year or two but I would assume it would be something like: weapons[ammoIndex].ammo += amount;
  10. New battlefield:
  11. Texture ninja is now free. All textures can be used for commercial projects. Although they are not seamless has tons of textures to choose from.
  12. One more question, sorry to bother you. In my friends chat I want players to be able to send chats to each other through the main menu, in other words, is it possible for players to send messages to each other when not in the same room/a room at all? Thanks
  13. Yeah, regarding cheaters there isn't much you can do about it in Photon (as far as I know of). I don't think you can implement server-sided checks for such things as god mode, since the "master client" controls all of that and he could cheat himself. Provided that the master client doesn't cheat, you can definitely do some checks here and there and pretend that client is the server. However, you will then run into more problems once that client disconnects and the master client switches to another person. The most reliable approach is probably coming up with a kicking or banning system and/or a password protected server so you can manually filter out those cheaters yourself. As for the obfuscator, I highly recommend taking a look at this one:!/content/48919
  14. @xfukecx - do you mind if you give me an example? Sorry about the hassle.
  15. Thank you for sharing. It really is a nice start for beginners.
  16. Thanks much. Very helpful for learning.
  17. low poly

    Looks nice
  18. Thanks xfukecx I'm going to give that a try
  19. in the send message RPC add an if statement if so it only sends to people on his friends list.
  20. Hey guys, So I have a chat going now, but how do I limit the chat to a player's friends list. Lets say I have a list or a dictionary, how would I go about sending messages to only players someone's friends list. Thanks
  21. Hey YD, long time no see! I originally selected PUN to use in a relatively small-to-medium scale project (5-10 players max per game room; 5-player cooperative story-play / 10-player multiple PvP modes). I don't have any worthwhile worries regarding using PUN as the networking solution itself for said project, and am rather concerned if it will be viable enough to build a decent multi-player experience on. Same goes with you Kevin, hope everything is swell; pertaining to my question(s), you likely answered a good portion of my curiosities with your given response. I chose PUN for the exact summarization you made about the use of PUN for the project I'm referencing. The game itself isn't going to be massive in player-count capability nor world size(small/medium sized maps). I do not plan on having a competitive aspect interpreted into the game, other than having casual PvP experiences with friends/random players + co-op. I just see cloud servers as a huge capability, considering I can pay a reasonable fee to reach people all across the world at ease. I'm just trying to find assurance that PUN is the right path for my said project thus far with the given parameters. I understand the beneficial network security of using a server-client model setup, although I'm presuming there's ways to prevent cheating through some innovative medium or format while using the master-client model infrastructure? I definitely do not want manipulation such as god mode and/or aim assists occurring and running rampant. I'm not too worried about it, in fact I wouldn't mind it if there was small modifications going on if the user managed to inject/hack the game client (looking into obfuscators for future use and for some form of protection later down the road before public release). I don't know about you guys but I'd find it to be super cool to witness things like name text color manipulation on one of my own projects. That's just me tho lol anyway thank you for any input thus far I truly do appreciate it.
  22. Hi to all.. i have a maybe simple question for you.. I noticed taht with oma fpskit 1.5 (c# version) if i approach to an ammo pickup i cannot pickup it if i havent a weapon pickuped yet (eg. sniper rifle) and ammo pickup prompt (press e key to puckup) will not shown .. but even if i have a weapon yet i can only pickup the ammo for the weapon i have.. i want to be able to pickup ammo even if i have not a weapon picked up yet and even if i dot have the correct weapon for ammo type... how can i manage to accomplish this?' many thanks in advance
  23. Photon is good for a quick setup, but it really lacks the security that a server-client model would have, since clients have direct connection to each other. If you plan on having a game that is competitive and requires quick timing (like Counter-Strike), you will definitely need something like Forge. Edit: Seems like most of the Asset Store reviews say that this product is good, but has some issues with stability. I would still consider trying this out, though.
  24. Depends on the type of the game your building tbh
  25. Is it worth switching over to this from PUN in terms of performance and capability? I've never heard of this networking solution until now. The amount of features it has seems to definitely out-weigh PUN from a quick comparison, although is it worth considering?
  26. As stated by Zhavier, forge Networking is now free and available on github here: confirmation email directly from the developer attached
  27. @Calum.McManus - thanks for the idea! I'm probably going to stick to what you were saying about Overwatch. That seems like a reasonable amount of time to update player stats. @OcularCash - I really like the idea of a hotkey button. I guess the new generation aren't going to be using buttons for too much longer lol, too much of a hassle nowadays
  1. Load more activity