Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  LoginLogin  

Teilen | 
 

 Fehlerhafte Platzierung von Objekten

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Fresserpflänzli
Clonk
Clonk
avatar

Männlich Anmeldedatum : 26.08.10

BeitragThema: Fehlerhafte Platzierung von Objekten   Do Aug 26, 2010 3:01 pm

Hi

Ich versuche seit einiger Zeit per Szenario-script Objekte für verfeindete Teams zu platzieren. Nun aber funktioniert das Beispielweise nicht, wenn 2 Spieler mitmachen, wenn jedoch nur ein Spieler es spielt, und denn anderen per Spielerbeitritt joinen lässt, steht alles bis auf die Flaggen am Platz.
Der Script wirkt noch ein wenig zusammengestückelt, das kommt zum Teil vom Übernehmen des (fast) gleichnamigen Szen aus dem Originalpack, zum anderen sortiere ich meine dazugeschriebene Scripts erst, wenn sie fertig sind Rolling Eyes
Code:
#strict

func Initialize()
{
  // Flatten village area for train operation
  DigFreeRect(3700,300,300,10);
  DigFreeRect(320,300,300,10);
  // Create initial bridge segement
  CreateObject(BRDG,650,320,-1);
  CreateObject(BRDG,3750,320,-1);
  // Create train
  ObjectSetAction( CreateObject(STMG,450,309,-1),
                  "Push",
                  CreateObject(WAGN,425,309,0) );
  ObjectSetAction( CreateObject(STMG,3825,309,-1),
                  "Push",
                  CreateObject(WAGN,3850,309,0) );
  // Parallax sky
  SetSkyParallax(0,20,10);
  // Mission password
  FindObject(GLDM)->SetMissionAccess("RattledOut");
  // Done
  return(1);
}

static g_fInitializedPlayers;

func InitializePlayer(int iPlr)
{
  // Der erste Spieler bekommt ein Brückensegment in die Werkstatt. :)
  if (GetPlayerCount() == 1 && !g_fInitializedPlayers)
  {
    var pHut = CreateConstruction(HUT3, 4236, 310, iPlr, 100, 1);
        pHut->CreateContents(WOOD);
    var pHut = CreateConstruction(HUT3, 156, 310, iPlr, 100, 1);
        pHut->CreateContents(WOOD);
    CreateContents(FLAG,GetCrew(iPlr));
    var pWindMill = CreateConstruction(WMIL, 4192, 310, iPlr, 100, 1);
    var pWindMill = CreateConstruction(WMIL, 202, 310, iPlr, 100, 1);
    var pWorkshop = CreateConstruction(WRKS, 4300, 310, iPlr, 100, 1);
    var pWorkshop = CreateConstruction(WRKS, 90, 310, iPlr, 100, 1);
    CreateConstruction(FNDR, 4148, 310, iPlr, 100, 1);
    CreateConstruction(FNDR, 268, 310, iPlr, 100, 1);
    g_fInitializedPlayers = 1;
  }
    //Damit jeder Startet wo er soll
{
  if(GetPlayerTeam(iPlr) == 1)
    SetPosition(160,300,GetHiRank(Par()));
  if(GetPlayerTeam(iPlr) == 2)
    SetPosition(4236,300,GetHiRank(Par()));
  return(1);
}
}

Noch dazu zufügen wäre die Errormeldúng von der Engine im Editormodus.
Zitat :
ERROR: Object call: target is zero!
by: Initialize() (RattleHill.c4s\Script.c:23)
Da ich aber nicht weiss, welches Ziel Null ist, bringt sie mir herzlich wenig.
Ich bin dankbar für jede Antwort

Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Fehlerhafte Platzierung von Objekten   Do Aug 26, 2010 3:13 pm

Zitat :
FindObject(GLDM)->SetMissionAccess("RattledOut");
Da wird wohl der Error herkommen, zumindest glaube ich kaum dass du das Ziel Goldmine mit Melee kombinierst. Es findet kein Objekt "GLDM" (Spielziel Goldmine) und verursacht daher einen Fehler.

Laut Script bekommt immer nur der erste Spieler eine Flagge, der if-Block wird ja nur ausgeführt wenn es nur einen Spieler gibt und er noch nie ausgeführt wurde.
Nach oben Nach unten
Benutzerprofil anzeigen
Fresserpflänzli
Clonk
Clonk
avatar

Männlich Anmeldedatum : 26.08.10

BeitragThema: Re: Fehlerhafte Platzierung von Objekten   Do Aug 26, 2010 9:19 pm

Au, stimmt, hab ich übersehen. >_<
Jedenfalls hab ich nun
Zitat :
FindObject(GLDM)->SetMissionAccess("RattledOut");
rausgeschmissen,
Zitat :
if (GetPlayerCount() == 1 && !g_fInitializedPlayers)
auch raus, damit wird das lästige "nur 1 Spieler" ausgeschaltet.
Hab ich auch entfernt, nun funktioniert alles, leider für jeden Spieler einmal, das heisst, bei 6 Spieler stehen dann 6 Windmühlen auf der gleichen Position, sieht zwar lustig aus, aber ich brauch das nur einmalig.
Eigentlich habe ich Geldpunkte mit Wettstreit kombiniert, plus Team.txt, sollte eigentlich ein Wettsiedeln werden, gemischt mit Basenmeele Wink
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Fehlerhafte Platzierung von Objekten   Do Aug 26, 2010 10:01 pm

Du kannst das Ganze auch einmalig in Initialize oder per Objects.txt platzieren und nicht pro Spieler.
Nach oben Nach unten
Benutzerprofil anzeigen
Fresserpflänzli
Clonk
Clonk
avatar

Männlich Anmeldedatum : 26.08.10

BeitragThema: Re: Fehlerhafte Platzierung von Objekten   Do Aug 26, 2010 10:18 pm

>Objects.txt platzieren und nicht pro Spieler.

OMFG, darauf hätte ich selbst kommen können X_X
Danke vielmals für die (eigentlich selbsterklärende) Lösung
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Fehlerhafte Platzierung von Objekten   

Nach oben Nach unten
 
Fehlerhafte Platzierung von Objekten
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Platzierung Impressum / Login
» Fehlerhafte Darstellung
» Objekte tauschen

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: