Könnte man das nicht einfach außerhalbe davon einfügen?PHP-Code:
int eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
return false;
}
}
Ungetestet
Geändert von deepwater (01. September 2011 um 13:59 Uhr)
...too old...
Ja, könnte man und sollte man und muss man. Denn damit funktionierts. Danke.
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 hab dir zugehört.
@Cybah: Ich würde das return true; in deinem Code noch umdrehen. Sonst bricht er da schon ab, das wäre ja zu früh.
...too old...
@VK: jeder hat dir zugehört, aber ich hätte es nicht selbst proggen können bzw hatte keinen nerv mehr dazu.
@deepwater: welches true jetzt? hä? oh man... wenn da jetzt noch was falsch ist, dann muss ich noch nen patch für base rausbringen.
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 derzeit so:
PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
return false;
}
}
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;
}
}
}
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt End
also dein kram ist vor meinem... dann ist das doch kein problem oder? ingame sah alles richtig aus.
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)
boah kacke ich glaub so kann man auch unis bauen, wenn man noch gar keine bib hat... weil da jetzt die weltwunderscheiße noch drin ist. ich könnte kotzen.
warum gebt ihr mir nicht einfach den perfekten code?
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)
Merke: Es gibt keine perfekten Code.
Ich meinte nur diese Zeile:Umzuändern in dieses hier:PHP-Code:
if (0 != getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return true;
}
PHP-Code:
if (0 == getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
return false;
}
...too old...
das macht doch keinen sinn, nach der schleife kommt sowieso ein false!?
so hab ichs jetzt
und so willst du's:PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
return false;
}
}
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
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;
}
}
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt End
warum, versteh ich allerdings nicht.PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
return false;
}
}
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
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 false;
}
}
}
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)
es soll ja true rauskommen, wenn ein gebäudetyp der benötigten gebäude-prereq-klasse vorhanden ist an dieser stelle, damit man als nicht-mali den koloss bauen kann, wenn man statt schmiede ne münzdings bekommen hat.
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)
Versuchs mal so, von der Idee her.PHP-Code:
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt Start
boolean bool = false;<<<
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
bool = false; <<<
}
}
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
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))*/)
{
if( !bool){<<<
bool= true; }<<<
}
}
}
}
}
return bool; <<<<
// Cybah: BASE UB fremder Zivs werden auch berücksichtigt End
nein, mein code funktioniert derzeit. wenn ihr meint, da ist nen fehler, dann erklärts mir. vorher versuch ich gar nichts neues.
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)