das muss unabhängig von der ganzen geschichte sein und davor gesetzt werden. wenn bereits ein ub oder das common gebäude zu gebäudeklasse x existiert, darf kein gebäude mehr mit gebäudeklasse x gebaut werden.
das muss unabhängig von der ganzen geschichte sein und davor gesetzt werden. wenn bereits ein ub oder das common gebäude zu gebäudeklasse x existiert, darf kein gebäude mehr mit gebäudeklasse x gebaut werden.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Ich würde mich an das vorhandene Schema halten und nur return false Sachen einbauen, am Schluss steht dann doch sowieos ein return true;?
...too old...
Dann mach halt kurz davon eine Forschleife die alle zivs durchgeht und alle UB, und dann ckeck ob eins davon in der Stadt ist falls ja = return false
Natürlich nur wenn die von der gleichen Klasse sind...
Vielleicht reicht ja am Anfang auch ein einfaches :
if getNumBuildingClassinCity(Building)>0 {
return false;
Bin aber nicht sicher.
@deepwater: wie willste das machen?
PHP-Code:
if getNumBuildingClassinCity(Building)>0 {
return false;
das würde ja nur verhindern, dass keine zweite uni gebaut werden kann, aber ein seowon wird als seowon gewertet und nicht als uni. dass kein exakt gleiches zweites gebäude gebaut werden kann, gibts schon im code weiter oben.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
idee:
PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
if (isWorldWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()) || isTeamWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()) || isNationalWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()))
{
int iJ;
for (iJ = 0; iJ < GC.getNumCivilizationInfos(); iJ++)
{
ePrereqBuilding = ((BuildingTypes)(GC.getCivilizationInfo((CivilizationTypes)iJ).getCivilizationBuildings(iI)));
if (ePrereqBuilding != NO_BUILDING)
{
if (0 != getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return true;
}
}
}
return false;
}
else
{
ePrereqBuilding = ((BuildingTypes)(GC.getCivilizationInfo(getCivilizationType()).getCivilizationBuildings(iI)));
if (ePrereqBuilding != NO_BUILDING)
{
if (0 == getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return false;
}
}
}
}
}
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt End
der untere teil ist der standardteil... so wird nur der neue code verwendet, wenn es sich um ein wunder handelt.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Kannst du nochmal genau darlegen, um was es geht? Ich bin leider nihct ganz mitgekommen. Es soll von jeder Gebäudeklasse nur ein Gebäude in der Stadt existieren können, ja?
...too old...
nur dass diese zeile nicht geht:
PHP-Code:
if (isWorldWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()) || isTeamWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()) || isNationalWonderClass(GC.getBuildingInfo(eBuilding).getBuildingClass()))
1>CvCity.cpp(2246) : error C2039: 'getBuildingClass' : is not a member of 'CvBuildingInfo'
man kommt vom hundertsten ins tausendste. wo ist der fehler?
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Habs jetzt möglicherweise:
muss ich nur noch testen.PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
if (isWorldWonderClass(eBuildingClass) || isTeamWonderClass(eBuildingClass) || isNationalWonderClass(eBuildingClass))
{
int iJ;
for (iJ = 0; iJ < GC.getNumCivilizationInfos(); iJ++)
{
ePrereqBuilding = ((BuildingTypes)(GC.getCivilizationInfo((CivilizationTypes)iJ).getCivilizationBuildings(iI)));
if (ePrereqBuilding != NO_BUILDING)
{
if (0 != getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return true;
}
}
}
return false;
}
else
{
ePrereqBuilding = ((BuildingTypes)(GC.getCivilizationInfo(getCivilizationType()).getCivilizationBuildings(iI)));
if (ePrereqBuilding != NO_BUILDING)
{
if (0 == getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return false;
}
}
}
}
}
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt End
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
oh man... jetzt kann man keine uni bauen, wenn statt ner bib eine madrasa in der stadt ist.
GRRRRR! also doch mit schleife irgendwie. aber mach ich nicht mehr heute. wenn ihr wollt.... macht es gerne!
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Ähm, bist du sicher, dass diese Zeile so funktioniert? Oder hat die CityKlasse isNationalWonderClass(...)?
PHP-Code:
if (isWorldWonderClass(eBuildingClass) || isTeamWonderClass(eBuildingClass) || isNationalWonderClass(eBuildingClass))
...too old...
Meine Güte, bis morgens um 4 hauen die sich die Nächte um die Ohren!^^ Respekt!
Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!
Neu Version Conflict on Chiron v3.4 BETA - 16.01.16
Patch1 - 07.04.16
Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
Ihr könnt sofort loslegen.
Über Feedback würde ich mich freuen...
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)