sphereserver / source-x Goto Github PK
View Code? Open in Web Editor NEWUltima Online server emulator
License: Apache License 2.0
Ultima Online server emulator
License: Apache License 2.0
Revision: Sphereserver/Source@30364c1
Author: Coruja [email protected]
Date: 27/09/2016 02:07:55
Message:
Fixed: HTTP server not working correctly
To be tested more and eventually ported.
Revision: Sphereserver/Source@a79d64e
Author: Coruja [email protected]
Date: 27/06/2016 23:57:49
Message:
Fixed: Multi dynamic regions getting replaced by script static regions on server resync
when its enables and i cast poison to another player its hitting like 6k with EFFECT=8
okay Research to understand the
This is not an issue. Sorry if its not the best place to put it.
Hi.
Adding 4 lines to the source. I have been able to use normal vendor system in players custom vendors. So a player vendor and a server´s vendor will use same old trade menu.
What this code really do is to overwritte the item value so custom values can be displayed on vendors dialog. This happens just when u add <tag.customvalue> to any item a vendor have or will have on stock layer.
Rest of the system is done by .scp Its quite einfach to do.
Now I got 2 vendors system. The normal and this new one, and I have to decide which one should I use.
The thing is, I am a little bit afraid. Why nobody did this before?
Is there any sustancial Lack that I´m not able to see??
THe only lack I see is that players should not be able to sell containers because clients will no be able to open it from vendors menu.
But It also give me features I was looking for, for example. I can give 2 or 3 items to a normal vendor in Cove so he will sell it for me in exchange of a % of the value I told him to sell at.
So, What do u think?
1)Is there any good reason to not use this system?
2)Do you have any idea about how to fix or surround the Container´s lack without modding client?
CSTypedArray needs to be redone from scratch. The problems of the current implementation are:
Add missing clilocs when requesting tooltips and an ini switch to make sphere sending the magical properties clilocs only for identified items (attr_identified).
When sell dialog show ups, few second later server crash.
Even if you dont sell anything.
It happen lot of time but not always. Its little bit random.
Revision: Sphereserver/Source@28b6446
Author: Coruja [email protected]
Date: 07/02/2017 21:59:56
Message:
Fixed: Char flag 'statf_hovering' (gargoyle fly ability) not clearing when gargoyle chars polymorph into non-gargoyle char ID
Add 6 queue classes:
Revision: Sphereserver/Source@5586c3d
Author: Coruja [email protected]
Date: 07/08/2016 06:54:07
Message:
Fixed: ARGN1 on char trigger @skillprestart not working correctly
To be tested more and eventually port.
Revision: Sphereserver/Source@ffc3a52
Author: Coruja [email protected]
Date: 22/06/2016 18:24:07
Message:
Added: Support for colored multis on target functions (only compatible with HS clients 7.0.9.0+)
To be tested more and eventually port.
Revision: Sphereserver/Source@acc1eb6
Author: Coruja [email protected]
Date: 17/06/2016 09:11:42
Message:
Fixed: Paralyze / Paralyze Field making NPCs flood too many attack actions
Fixed: Console error when for some reason an NPC got created/moved to an invalid region
When u creating new char some starting items not placing correctly and after save console removing them. For example if u give 1000gp to chars they take 999gp and 1gp not placing world and after save server removing them. I tried it with fresh install.
To be discussed and eventually ported.
Revision: Sphereserver/Source@dd7a59b
Author: Coruja [email protected]
Date: 02/08/2016 07:07:12
Message:
Fixed: Items inside trade window not firing @DropOn_Item trigger when the trade move the item to player bacpkack
Example : i_agapite_platemail_arms armor value: 37
under player events:
on @itemunequip
say //this one show not updated armor value like if u have 5 armor while wearing armor and it become 0 when u equip it but it say "5" even i tried with "timerf 5,say " its still saying "5"
Add 6 stack classes:
It is like get cancelled when try move any item in bakcpack / and cant equip it also
https://puu.sh/zDqsO/64d85328f0.mp4
Also we are using an ethereal rides system, now when you use it, the ride is summoned instead of mount directly, maybe is related ( using Xun eth system )
Some of them was fixed, but we may have more.
Tools used: Valgrind, Address Sanitizer, Undefined Behavior Sanitizer.
Even when the setting is enabled, it sets the target hits to 1.
Softcoded fix:
ON=@hit
ARGN1=2000
Tested with both AdvancedLOS=0 and 3. It returns 0 even when the UID in the ARGS is next to you.
15:26:P'Azuleta' was killed by N'skeleton'
15:26:DEBUG:Printing STACK TRACE for debugging.
15:26:DEBUG:__ thread (3680) _ | # | _____________ function _____________ | ticks passed from previous function start
15:26:DEBUG:>> 3680 | 0 | CWorld::OnTick | +0
15:26:DEBUG:>> 3680 | 1 | CSector::OnTick | +0
15:26:DEBUG:>> 3680 | 2 | CChar::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
15:26:DEBUG:>> 3680 | 3 | CChar::Death | +0
15:26:DEBUG:>> 3680 | 4 | CChar::LayerAdd | +31
15:26:DEBUG:>> 3680 | 5 | CItem::Update | +0
15:26:DEBUG:>> 3680 | 6 | CClient::CanSee | +0
15:26:DEBUG:>> 3680 | 7 | CChar::CanSee | +0
15:26:DEBUG:>> 3680 | 8 | CPointBase::GetDistSight | +0
15:26:CRITICAL:Error Pri=2, Code=0xc0000005, Desc='Exception', in CChar::Tick() #1 "death"
Revision: Sphereserver/Source@f26b39b
Author: Coruja [email protected]
Date: 22/07/2016 22:52:03
Message:
Fixed: Security issue setting account login as chat name when newest clients try to setup the chat window for the first time and the char name is not available
Fixed: Invisible chars being incorrectly revealed by REVEALF_LOOTINGOTHERS reveal flag when picking items from the ground
Fixed: Return 0/1 on spell triggers not working correctly
Fixed: Function MOVENEAR not working correctly
Revision: Sphereserver/Source@1fa0504
Author: Coruja [email protected]
Date: 03/08/2016 08:59:17
Message:
Changed: Max item capacity on containers changed from 255 to 125
This is required to make containers works properly on Enhanced Clients, because containers on these clients have hardcoded capacity of 125 items (OSI already uses this value since many years ago, even before enhanced client)
This bug allow you to land spell after fizzle and sometimes without delay and few at same time, it is just moving in LOS and out and spamming the spell you want.
https://puu.sh/zCQsC/77ef73f214.mp4
https://streamable.com/4bao0 (in this video show message about scrolls, is a custom system, the bug work with default script pack and default source)
I think the main problem is here:
https://puu.sh/zCOuD/fbf17d2daf.mp4
If you try cast to someone that is not in LOS, it should not be able to cast, but onw it show few messages.
First spellfizzle(should not fizzle, because it was not casted)
2 times, the target is not in los
1 time, you stop cast the spell
Revision: Sphereserver/Source@bdc53e3
Author: Coruja [email protected]
Date: 08/01/2017 19:23:28
Message:
Fixed: Function 'CRIMINAL 0' not updating char notoriety/buff when removing criminal flag
Hi there, I've been trying to compile this source for about... 48 hours...
I just can't figure out how to "create the project structure" or even use the CMake configurations available, everytime it starts to actually "compile" it outputs thousands of errors...
I've tried:
Windows 10 - Visual Studio
Windows 10 - Code Blocks
Ubuntu 17.10 - GCC/TDM
Can you guys please help me start to run the code?
Thanks
Paste the whole commit text even if you intend to port only a part of its code.
When a commit is ported, reference to this issue in the commit message and add a comment to this issue specifying which functionality was ported from which commit.
This message will be edited and the text made strikedthrough.
Probably more to add in the next days (i'm not done checking Source's changelog).
Revision: Sphereserver/Source@48ba5dc
Author: Coruja [email protected]
Date: 12/08/2016 08:30:13
To be done:
Support for 'front falling' when a character dies.
The client packets use unsigned quantities for stats, so there's no point to internally use signed ones, it just limits the maximum possible value.
Add 4 map classes:
Revision:
Author: Coruja [email protected]
Date: 22/12/2016 19:09:09
Message:
Fixed: Criminal BuffIcon not being updated
To duplicate this :
1 x plevel 7 char
1 x plevel 1 char
login both of them and kill plevel 7 char they should be in same screen. plevel 1 char's client will crash. i tried it with 7.0.61 client , 7.0.18, 7.0.20 , 6x client still all of them crashed. and console gave this :
Client crashed at 0,0,0,0: 0xC0000005 CRASH @ 0x7546900E (client_7.0.18.0_HS.exe, 7.0.18.0)
plevel 7 char's client is not crashing.
Revision: Sphereserver/Source@aada1eb
Author: Coruja [email protected]
Date: 27/06/2016 23:44:21
Message:
Fixed: Function f_onchar_delete not being called if the player char get deleted in any other way different from client Character Selecion menu
To be tested more and eventually port.
Revision: Sphereserver/Source@c8223f2
Author: Coruja [email protected]
Date: 21/08/2016 05:29:13
Message:
Fixed: Internal check to prevent drop items inside walls preventing the item drop even when the wall is on another floor
Fixed: Message "Too many items here!" not showing correctly when items are dropped on areas with too many items
To be tested more and eventually ported.
Revision: Sphereserver/Source@d66893b
Author: ares [email protected]
Date: 08/10/2016 20:10:14
Message:
Fixed a critical bug in background save mechanism where an unsaved offline player character disappears from worldsave when moved to an already saved sector.
To be tested more and eventually ported.
Revision: Sphereserver/Source@72ff099
Author: Coruja [email protected]
Date: 12/11/2016 20:41:49
Message:
Fixed: Resurrect, Reveal, Meteor Swarm and Lightning spells showing effect animation even when EFFECT_ID=0 is set
[sphereCrypt.ini]: Added crypt key for classic clients 7.0.54 ~ 7.0.55 and enhanced clients 4.0.54 ~ 4.0.55
To be tested more and eventually port.
Revision: Sphereserver/Source@210563f
Author: Coruja [email protected]
Date: 13/08/2016 07:24:17
Message:
Fixed: Multi regions not reloading correctly after server resync
Also added a smart check to only reload it when needed (eg: AREADEF/ROOMDEF get changed on scripts)
I could call guards if i hit once with my murderer char to blue char but otherwise i cant call guards. Npc's can call guards when they are near the murderer and also i can call guards if they are near me but if there are no guard at the screen u cant call them and @callguards not triggering.
Player A and player B is blue. A hit B. A become criminal only for B. A and B have memory_irritatedby,memory_sawcrime,memory_harmedby but even i remove all of them A still criminal to B. I think B should have memory_aggreived but he doesnt.
This is another help request
I need to let open the chance to overwritte the layer_sell and _extra via script.
For example. If I add to a vendor an specific tag that holds a container´s UID, the vendor should use this container as source of his stock instead normal layers no matter how far it is.
or anything else that can be checked by script.
I dont have much time to work on this so, It would be so nice if you give me some information and I dont have to waste much time diving in the source to find it. (Im soo noob with c++ and I dont know the source yet)
1-What does Sphere when an item is sold? Will it move the item to player´s backpack? or will it dupe the item and remove the old one?
2-Where does sphere decide where is the sell_layer and extra_layer?
3-Any advice or fact that you think I should have in mind?
ty
Revision: Sphereserver/Source@3066341
Author: Coruja [email protected]
Date: 30/06/2016 00:41:34
Message:
Fixed: Attack/Kill command on pets allowing select the pet itself as target, making it attack his owner
Revision: Sphereserver/Source@f1b5cff
Author: Coruja [email protected]
Date: 21/12/2016 06:52:38
Message:
Fixed: Mass Curse spell not working correctly
Adding /game/components folder
New CComponents naming standard: CCName (ClassComponentName)
Update current Components CSpawn, CFaction and CChampion to new standard (CCSpawn, CCFaction and CCChampion)
Change GetLink() inheritance to pure virtual, so each CComponent can manage it's own link types.
Tried adding gold via .gold command or by dropping gold on the bank.
It gets limited to 65k (after 65k starts counting from 0).
To be tested more and eventually ported.
Revision: Sphereserver/Source@6e0f90f
Author: Coruja [email protected]
Date: 25/01/2017 17:44:31
Message:
Fixed: Client encryption not being decrypted correctly on login process
Also reverted changes on packet 0BF 018 accidentally sent some commits ago
Revision: Sphereserver/Source@8fd7592
Author: ares [email protected]
Date: 06/10/2016 22:31:42
Message:
As we have experienced at Alathair, exporting chars is nearly always meant to export other chars but not the own char, a flag here would be neccessary to control that. The default case should be not to export SRC itself. but it could be optionally turned on using the bitflag 0100. So if you want to export chars including yourself use flag 6. If it should include items use flag 7. Otherwise 1 2 and 3 will not include SRC.
...Continues...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.