[Source] Items in bestimmte Maps durch einer .inc Datei verbieten

11/24/2012 15:50 Vincitore#1
Hi,

Mich hat jemand gefragt ob ich eine Änderung in der Source machen kann, damit man Items durch eine Datei auf bestimmte Maps verbieten kann.
Skill Version: [Only registered and activated users can see links. Click Here To Register...]
Ich finde es besser direkt in der Source zu verbieten, weil es Sourcen schonender ist aber wer es gerne so möchte bitte sehr:


_Common\Project.cpp



_Common\Project.h


_Common\MoverSkill.cpp

_Common\MoverSkill.ProjectCmn.h

WorldServer/VersionCommon.h

defineText.h

textClient.inc

textClient.txt.txt

ItemAllow.inc //Selber erstellen im Resourcen Ordner

Ich habe es bereits für Skill gemacht. Es werde es später Releasen.

mfg. Vincitore
11/24/2012 15:52 Achileus#2
Guter Realse ;), wird bestimmt Hilfreich sein ^^..
11/24/2012 16:39 Lumi#3
Super gemacht. ;)
Kann ich gut gebrauchen.
Das andere Tut hättest du auch in diesem Thread mit einbinden können. ^^
11/24/2012 17:51 Vincitore#4
Ich bin immer noch nicht sicher ob es nützlich ist, aber ich bin nur der programmiere und muss es nicht nutzen.
Hab gar nicht dran gedacht die beiden zusammen zu legen. Ist mir später erst aufgefallen und hab deswegen gegenseitig verlinkt.
11/24/2012 21:00 Lumi#5
Verstehe das hier nicht..

Quote:
Continent
(
242
)

XYZ-Area(
coordinates( 1 , 1 , 1 , 1)
)
}

Dieser Aufbau kann so oft wiederholt werden wie ihr wollt. So gesehen könnt ihr es für jedes Item machen.
Wichtig: Je mehr Items ihr macht, desto mehr Ressourcen(RAM) wird gebraucht.

Legende:
Item
Aktiv: 1=Aktiv, 0=Deaktiviert
X1
Y1
X2
Y2
11/24/2012 21:12 alfredico#6
Good but instead having two files that do the basically same, you can do both (skill and map) in one and add options to each function to be able to read all you need.
11/24/2012 21:27 ™Dryad#7
sehr nette sache,
werd es evtl nutzen^^

hast n thx verdient :)
11/25/2012 18:11 Sedrika#8
Ist ja das selbe wie skills nur für items. Ein Thread haette gereicht.

Dennoch gut gemacht wobei ich das mit der Token Abfrage für ";" unnötig finde.
12/14/2012 17:13 N8Schatten#9
kan mich irren aber braucht man hiervor:
Moverskill.cpp
Code:
for(int i = 0; i < prj.m_ItemAllow_v.GetSize(); i++) {
		if((CUser*)this && prj.m_ItemAllow_v.GetAt(i)->dwItemID == pItemProp->dwID) {
nicht noch das:
Code:
ItemProp* pItemProp = NULL;
02/09/2014 12:48 FunkyJustice#10
Weiß jemand wie ich diese warnings weg bekomme? warning C4018: '<' : signed/unsigned mismatch und warning C4804: '<=' : unsafe use of type 'bool' in operation

Das Warning in warning C4018: '<' : signed/unsigned mismatch

Code:
for(int u = 0; u < prj.m_ItemAllow_v.GetAt(i)->vWorldID.size(); u++) {

for(int u = 0; u < prj.m_ItemAllow_v.GetAt(i)->vContinent.size(); u++) {

for(int u = 0; u < prj.m_ItemAllow_v.GetAt(i)->vCoordinates.size(); u++) {
Und das warning C4804: '<=' : unsafe use of type 'bool' in operation in

Code:
if(prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX1 >= coordinatesX <= prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX2 ||

prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationY1 >= coordinatesY <= prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationY2){
02/09/2014 13:39 Mognakor#11
Den ersten error solltest du eigentlich selber lösen können...
Die ganzen .size() -Funktionen liefern einen unsigned integer Typ zurück während deine Zählvariable ein signed integer ist.

Code:
prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX1 >= coordinatesX <= prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX2
Mach daraus 2 Abfragen
Code:
(prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX1 >= coordinatesX
&& coordinatesX<= prj.m_ItemAllow_v.GetAt(i)->vCoordinates[u].fLocationX2)
Du kannst 2 Vergleiche nicht ohne ein && kombinieren ohne Bugs zu riskieren.