|
You last visited: Today at 14:22
Advertisement
[Release] OpenNos(Ciapa Latest src cracked) & SystemX64 Source
Discussion on [Release] OpenNos(Ciapa Latest src cracked) & SystemX64 Source within the Nostale forum part of the MMORPGs category.
01/16/2018, 19:17
|
#2
|
elite*gold: 0
Join Date: Jun 2016
Posts: 785
Received Thanks: 322
|
Quote:
Isnt the SystemX64 ****? Like there is nothing different to opennos right?
|
|
|
01/16/2018, 21:03
|
#3
|
elite*gold: 0
Join Date: Jul 2017
Posts: 380
Received Thanks: 60
|
Your sources do not work
|
|
|
01/17/2018, 20:51
|
#4
|
elite*gold: 0
Join Date: Mar 2013
Posts: 677
Received Thanks: 252
|
Beim Autoloot bekommt man das Gold nichts ins Inventar noch dropt es so auf den Boden, nutze die opennos-dev Source, jemand eine Idee wie man es fixen?
|
|
|
01/17/2018, 20:59
|
#5
|
elite*gold: 12
Join Date: Dec 2017
Posts: 153
Received Thanks: 8
|
Quote:
Originally Posted by Thecrazyviktor
Beim Autoloot bekommt man das Gold nichts ins Inventar noch dropt es so auf den Boden, nutze die opennos-dev Source, jemand eine Idee wie man es fixen?
|
If you want to make auto-loot (drop inside eq instantly) you should change MobType in database. Probably will it be "6" but I'm not sure
edit:
MonsterType, not MobType
|
|
|
01/17/2018, 21:34
|
#6
|
elite*gold: 50
Join Date: Jul 2014
Posts: 1,666
Received Thanks: 1,139
|
Quote:
Originally Posted by *Kyosha*
If you want to make auto-loot (drop inside eq instantly) you should change MobType in database. Probably will it be "6" but I'm not sure
edit:
MonsterType, not MobType
|
Its bullshit just change it inside of the Source instead of making a **** Database
|
|
|
01/18/2018, 14:51
|
#7
|
elite*gold: 164
Join Date: Aug 2012
Posts: 140
Received Thanks: 17
|
Don't work act4, on ship go to act4 disconnect
|
|
|
01/18/2018, 22:35
|
#8
|
elite*gold: 0
Join Date: Dec 2017
Posts: 14
Received Thanks: 3
|
Quote:
Originally Posted by Kanitsu
Don't work act4, on ship go to act4 disconnect
|
Start Act4 Channel
|
|
|
01/18/2018, 22:55
|
#9
|
elite*gold: 164
Join Date: Aug 2012
Posts: 140
Received Thanks: 17
|
Quote:
Originally Posted by Phoenix©
Start Act4 Channel
|
How?
|
|
|
01/18/2018, 23:08
|
#10
|
elite*gold: 0
Join Date: Feb 2015
Posts: 289
Received Thanks: 131
|
Quote:
Originally Posted by Kanitsu
How?
|
Easiest way -> World Shortcut on your desktop-> open world with --act4 argument and leggo
|
|
|
01/18/2018, 23:27
|
#11
|
elite*gold: 164
Join Date: Aug 2012
Posts: 140
Received Thanks: 17
|
Quote:
Originally Posted by Hokaros
Easiest way -> World Shortcut on your desktop-> open world with --act4 argument and leggo
|
Same problem bro..
Nd on client black screen...
|
|
|
01/19/2018, 00:28
|
#12
|
elite*gold: 0
Join Date: Sep 2015
Posts: 59
Received Thanks: 3
|
I habe still the problem with the trade. When i put items in and press Register nothing happens by my trade partner
|
|
|
01/19/2018, 02:31
|
#13
|
elite*gold: 0
Join Date: Feb 2015
Posts: 289
Received Thanks: 131
|
Quote:
Originally Posted by FlaxZViruZ
I habe still the problem with the trade. When i put items in and press Register nothing happens by my trade partner
|
Both of you have to update official nostale first
Quote:
Originally Posted by Kanitsu
Same problem bro..
Nd on client black screen...
|
Try to Open a Channel on Port 5100 then
|
|
|
01/19/2018, 02:42
|
#14
|
elite*gold: 0
Join Date: May 2012
Posts: 297
Received Thanks: 74
|
Quote:
Originally Posted by Thecrazyviktor
Beim Autoloot bekommt man das Gold nichts ins Inventar noch dropt es so auf den Boden, nutze die opennos-dev Source, jemand eine Idee wie man es fixen?
|
Code:
public void GenerateKillBonus(MapMonster monsterToAttack)
{
lock (_syncObj)
{
if (monsterToAttack == null || monsterToAttack.IsAlive)
{
return;
}
monsterToAttack.RunDeathEvent();
Random random = new Random(DateTime.Now.Millisecond & monsterToAttack.MapMonsterId);
// owner set
long? dropOwner = monsterToAttack.DamageList.Count > 0 ? monsterToAttack.DamageList.First().Key : (long?)null;
Group group = null;
if (dropOwner != null)
{
group = ServerManager.Instance.Groups.Find(g => g.IsMemberOfGroup((long)dropOwner));
}
if (ServerManager.Instance.ChannelId == 51 && ServerManager.Instance.Act4DemonStat.Mode == 0 && ServerManager.Instance.Act4AngelStat.Mode == 0)
{
if (Faction == FactionType.Angel)
{
ServerManager.Instance.Act4AngelStat.Percentage++;
}
else if (Faction == FactionType.Demon)
{
ServerManager.Instance.Act4DemonStat.Percentage++;
}
}
// end owner set
if (Session.HasCurrentMapInstance && (Group == null || Group.GroupType == GroupType.Group))
{
List<DropDTO> droplist = monsterToAttack.Monster.Drops.Where(s => Session.CurrentMapInstance.Map.MapTypes.Any(m => m.MapTypeId == s.MapTypeId) || s.MapTypeId == null).ToList();
if (monsterToAttack.Monster.MonsterType != MonsterType.Special)
{
#region item drop
int levelDifference = Session.Character.Level - monsterToAttack.Monster.Level;
int dropRate = ServerManager.Instance.Configuration.RateDrop * MapInstance.DropRate;
int x = 0;
foreach (DropDTO drop in droplist.OrderBy(s => random.Next()))
{
if (x < 4)
{
double rndamount = ServerManager.Instance.RandomNumber() * random.NextDouble();
double divider = levelDifference >= 10 ? (levelDifference - 9) * 1.2D : levelDifference <= -10 ? (levelDifference + 9) * 1.2D : 1D;
if (rndamount <= (double)drop.DropChance * dropRate / 5000.000 / divider)
{
x++;
if (Session.CurrentMapInstance != null)
{
if (Session.CurrentMapInstance.Map.MapTypes.Any(s => s.MapTypeId == (short)MapTypeEnum.Act4) || monsterToAttack.Monster.MonsterType == MonsterType.Elite)
{
List<long> alreadyGifted = new List<long>();
foreach (long charId in monsterToAttack.DamageList.Keys)
{
if (!alreadyGifted.Contains(charId))
{
ClientSession giftsession = ServerManager.Instance.GetSessionByCharacterId(charId);
giftsession?.Character.GiftAdd(drop.ItemVNum, (byte)drop.Amount);
alreadyGifted.Add(charId);
}
}
}
else
{
if (group?.GroupType == GroupType.Group)
{
if (group.SharingMode == (byte)GroupSharingType.ByOrder)
{
dropOwner = group.GetNextOrderedCharacterId(this);
if (dropOwner.HasValue)
{
group.Characters.ForEach(s => s.SendPacket(s.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("ITEM_BOUND_TO"), ServerManager.Instance.GetItem(drop.ItemVNum).Name, group.Characters.Single(c => c.Character.CharacterId == (long)dropOwner).Character.Name, drop.Amount), 10)));
}
}
else
{
group.Characters.ForEach(s => s.SendPacket(s.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("DROPPED_ITEM"), ServerManager.Instance.GetItem(drop.ItemVNum).Name, drop.Amount), 10)));
}
}
long? owner = dropOwner;
Observable.Timer(TimeSpan.FromMilliseconds(500)).Subscribe(o =>
{
if (Session.HasCurrentMapInstance)
{
if (CharacterId == owner && (StaticBonusList.Any(s => s.StaticBonusType == StaticBonusType.AutoLoot) || DateTime.Now <= new DateTime(2018, 1, 31, 12, 00, 00)))
{
GiftAdd(drop.ItemVNum, (byte)drop.Amount);
}
else
{
Session.CurrentMapInstance.DropItemByMonster(owner, drop, monsterToAttack.MapX, monsterToAttack.MapY);
}
}
});
}
}
}
}
}
#endregion
#region gold drop
// gold calculation
int gold = getGold(monsterToAttack);
long maxGold = ServerManager.Instance.Configuration.MaxGold;
gold = gold > maxGold ? (int)maxGold : gold;
double randChance = ServerManager.Instance.RandomNumber() * random.NextDouble();
if (gold > 0 && randChance <= (int)(ServerManager.Instance.Configuration.RateGoldDrop * 10 * CharacterHelper.GoldPenalty(Level, monsterToAttack.Monster.Level)))
{
DropDTO drop2 = new DropDTO
{
Amount = gold,
ItemVNum = 1046
};
if (Session.CurrentMapInstance != null)
{
if (Session.CurrentMapInstance.Map.MapTypes.Any(s => s.MapTypeId == (short)MapTypeEnum.Act4) || monsterToAttack.Monster.MonsterType == MonsterType.Elite)
{
List<long> alreadyGifted = new List<long>();
foreach (long charId in monsterToAttack.DamageList.Keys)
{
if (!alreadyGifted.Contains(charId))
{
ClientSession session = ServerManager.Instance.GetSessionByCharacterId(charId);
if (session != null)
{
session.Character.Gold += drop2.Amount;
if (session.Character.Gold > maxGold)
{
session.Character.Gold = maxGold;
session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("MAX_GOLD"), 0));
}
session.SendPacket(session.Character.GenerateSay($"{Language.Instance.GetMessageFromKey("ITEM_ACQUIRED")}: {ServerManager.Instance.GetItem(drop2.ItemVNum).Name} x {drop2.Amount}", 10));
session.SendPacket(session.Character.GenerateGold());
}
alreadyGifted.Add(charId);
}
}
}
else
{
if (group != null && MapInstance.MapInstanceType != MapInstanceType.LodInstance)
{
if (group.SharingMode == (byte)GroupSharingType.ByOrder)
{
dropOwner = group.GetNextOrderedCharacterId(this);
if (dropOwner.HasValue)
{
group.Characters.ForEach(s => s.SendPacket(s.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("ITEM_BOUND_TO"), ServerManager.Instance.GetItem(drop2.ItemVNum).Name, group.Characters.Single(c => c.Character.CharacterId == (long)dropOwner).Character.Name, drop2.Amount), 10)));
}
}
else
{
group.Characters.ForEach(s => s.SendPacket(s.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("DROPPED_ITEM"), ServerManager.Instance.GetItem(drop2.ItemVNum).Name, drop2.Amount), 10)));
}
}
// delayed Drop
Observable.Timer(TimeSpan.FromMilliseconds(500)).Subscribe(o =>
{
if (Session.HasCurrentMapInstance)
{
if (CharacterId == dropOwner && (StaticBonusList.Any(s => s.StaticBonusType == StaticBonusType.AutoLoot) || DateTime.Now <= new DateTime(2018, 1, 31, 12, 00, 00)))
{
Gold += drop2.Amount;
if (Gold > maxGold)
{
Gold = maxGold;
Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("MAX_GOLD"), 0));
}
Session.SendPacket(GenerateSay($"{Language.Instance.GetMessageFromKey("ITEM_ACQUIRED")}: {ServerManager.Instance.GetItem(drop2.ItemVNum).Name} x {drop2.Amount}", 10));
Session.SendPacket(GenerateGold());
}
else
{
Session.CurrentMapInstance.DropItemByMonster(dropOwner, drop2, monsterToAttack.MapX, monsterToAttack.MapY);
}
}
});
}
}
}
|
|
|
01/19/2018, 07:00
|
#15
|
elite*gold: 0
Join Date: Sep 2015
Posts: 59
Received Thanks: 3
|
@ its up to date that's why I am confused
|
|
|
Similar Threads
|
[OpenNos] SystemX64's Fork - Source Release
01/10/2018 - Nostale - 4 Replies
We talked together together with Cryless to solve our problems.
|
[OpenNos] Ciapa/NosTale4All source code
12/07/2017 - Nostale - 0 Replies
These files are not mine but I can release them according to GNU GPLv2 and additionally contain few changes from my team.
https://cdn.discordapp.com/attachments/3840018953 89331457/386637386878287892/N4A_Opening_bA.jpg
Move the OpenNos folder to C:\ and compile NosTale4All as you usually do with the official source.
DOWNLOAD
File Dropper http://www.filedropper.com/nostale4all
|
All times are GMT +1. The time now is 14:22.
|
|