Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› X-Skript / Developer-Pack —› Random liefert immer das gleiche zurück

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [22] [23] >>

Autor Mitteilung
verfasst am: 05.08.2009, 11:24
Registrierdatum: 22.08.2008, 15:51

 Beiträge: 403
Ich habe ein skript geschrieben, dass den Transportverkehr simulieren soll doch das erzeugt UFO entsteht immer am selben Ort und entschwindet auch am selbigen. Pro Spielstart ist es immer ein anderer Ort. Was übersehe ich da?

program Transporter_Phase_Sabotage;

//Wenn das UFO seinen Zielort erreicht hat, dann soll es verschwinden
procedure Angekommen(Sender : TObject);
var
  Transporter : TUFO;
begin
  Transporter := TUFO(Sender);
  Transporter.Escape;
end;
  
procedure StarteTransporter(Sender : TObject);
var
  Transporter : TUFO;
  Model : TUFOModel;
  Stadt : TFloatPoint; //Start- und Zielort
  c_index : LongInt; //Zufälliges Land
  town : TTown; //Stadt im Land
begin
  ufo_api_GetUFOModelByID(3614907066,Model); //Nachschubtransporter
  Transporter := ufo_api_CreateUFOFromModel(Model);
  Transporter.UserAI := true; //damit auf Event ONUFOCOMMANDCOMPLETE reagiert wird
  //Transporter los schicken
  //Eine zufällige Stadt auswählen
  c_index := random(country_api_GetCountryCount-1);
  town := town_api_GetTownByIndex(town_api_GetTownCount-1,true); 
  Stadt := town.Position;
  //Transporter setzen
  Transporter.SetPosition(Stadt.x, Stadt.y);
  //Eine zufällige Stadt auswählen
  c_index := random(country_api_GetCountryCount-1);
  town := town_api_GetTownByIndex(town_api_GetTownCount-1,true); 
  Stadt := town.Position;
  Transporter.FlyToPoint(Stadt); //Zielpunkt festlegen
  
  register_timed_event(@StarteTransporter,nil,120+random(60));
  register_event(@Angekommen,Transporter,EVENT_ONUFOCOMMANDCOMPLETE);
end;
  
procedure StartMission;
begin
  StarteTransporter(nil);
end;

begin
  MissionName := 'Transporter_Phase_Sabotage';
  MissionType := mzUser;
end.
Noch was: In einer früheren Version des Skripts habe ich mit
Stadt := country_api_GetRandomTown(random(country_api_GetCountryCount-1)).Position;

den Start und Zielort festgelegt. Es hat in unbestimmbaren Abständen "Could not call proc" geworfen. Wenn man den Befehl zerlegt stellt man fest, dass GetRandomTown der Übeltäter ist. Was ist da passiert oder was habe ich übersehen.
verfasst am: 05.08.2009, 11:29
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: Kreks
town := town_api_GetTownByIndex(town_api_GetTownCount-1,true);

Du wählst immer die Stadt mit dem höchsten Index, da gibt es kein Random in dieser Wahl...
verfasst am: 05.08.2009, 11:39 · Edited by: sujin
Spielsatz Alliances

Registrierdatum: 14.07.2004, 14:47

 Beiträge: 1185
Zu GetRandomTown/Could not call proc: Manchmal haben einige Länder einfach keine einzige Stadt (die werden zu Spielstart zufällig verteilt, da kann schonmal Südamerika leer und Nordamerika überfüllt sein). Einfach auf nil prüfen bzw mit
repeat
  Land:= ...;
  Stadt:= ...;
until not (Stadt=nil);

sicherstellen, dass man keine nicht vorhandene Stadt nimmt.

edit: Bin mir jetzt nicht wirklich sicher, ob ein not in until geht... ansonsten setzt man die Stadt vorher gezielt auf nil und nimmt ein while. Aber sollte eig hinhauen.
verfasst am: 05.08.2009, 11:43
Registrierdatum: 22.08.2008, 15:51

 Beiträge: 403
Zitat: Kreks
c_index := random(country_api_GetCountryCount-1); town := town_api_GetTownByIndex(town_api_GetTownCount-1,true);

Ich bin ja so ein Vollkoffer...

Zitat: sujin
Manchmal haben einige Länder einfach keine einzige Stadt

Ahhhhh...
Danke.
verfasst am: 05.08.2009, 11:56
Spielsatz Alliances

Registrierdatum: 14.07.2004, 14:47

 Beiträge: 1185
Nix zu danken... ich hab nur von Natter abgeschrieben (auch wenn ich den Thread grad nimmer finde) ;-)
verfasst am: 27.01.2022, 13:22
Registrierdatum: 27.01.2022, 13:07

 Beiträge: 318
When you say, "I meant to do that," I totally believe you. https://pittsburghdoula.com
verfasst am: 22.11.2023, 10:07
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
Путь145.5BettBettStanÑтихShadПетедублСодеDisnФедоSnooWindЦветRondBlueDormWindGoneкандзначПрох
ИллюAngeПервMichOreaDoctWindPeteКууÑÐртиDaniСветGeorAloeNiveДмитLyonде-лВÑевИванЛондСоарСинд
LacaWINXЗанджурнСоюзBertGezaCollbrowMarcУÑдÑDaviСолоBrigGeneУгрюДемиHenrТутулитеБараCollEqui
WindDolcПроÑСоÑкКругIdriЭкÑÑ‚OverБельNivaVertsteaБольArtsБертClauÐгаллиÑтИÑаеAbneJaneСредMire
FuxiJewediamзакаРоÑÑGilbJudiСадоStouOscaлитеFaraСемеLamaXVIIRockGillVitaBookTuliУкраStanLoui
NothСоткхорозвонкраÑКитаLiebBekoпробинÑÑ‚XVIIзаклHarrприÑBradFlasплаÑМамеAVTO
verfasst am: 01.12.2023, 11:44
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolution<
verfasst am: 13.01.2024, 04:14
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:15
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:16
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:17
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:18
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:19
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:20
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:21
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:22
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:23
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:24
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721
verfasst am: 13.01.2024, 04:25
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 72721

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [22] [23] >>




Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.011 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003