Пример #1
0
protected func Activate(pCaller)
{
  if(FindObject2(Find_Container(pCaller),Find_ID(STBW),Find_Not(Find_Func("HasCell"))))
  {
   ShiftContents(Contained(),0,STBW);
   Enter(FindObject2(Find_Container(pCaller),Find_ID(STBW),Find_Not(Find_Func("HasCell"))));
  }
  return 1;
}
Пример #2
0
protected func ControlUp(object pClonk) {
	var pStation = FindObject2(Find_AtPoint(), Find_ID(TRNS));
	if(pStation) {
		pStation -> ControlUp(pClonk, false, this);
		return 1;
	}
}
Пример #3
0
global func SetArrow(iX,iY) 
{
  if(FindObject2(Find_ID(_AR1),Find_AtPoint(iX, iY - 16))) return 0;
  RemoveObject(FindObject(_AR1));
  CreateObject(_AR1,iX,iY,-1);
  arrow_target = 0;
}
Пример #4
0
// Gewinnbedingung
//  1: Spieler hat gewonnen
//  0: gewinnen erlaubt wenn am Rand
// -1: kein gewinnen mögliche
func CheckRACEGoal(iPlr)
{
  // In diesem Fall müssen die Spieler das Nest erreichen
  if(FindObject2(Find_ID(DLAR), Find_Distance(50, GetX(GetCursor(iPlr)), GetY(GetCursor(iPlr)))))
      return(1); // Dann hat der Spieler gewonnen
  // Sonst muss er noch weiterspielen
  return(-1);
}
Пример #5
0
// macht alle Wegpunkte sichtbar/unsichtbar
global func WaypointsVisible(bool visu) {
  for(var obj in FindObjects(Find_ID(WAYP)))
    obj->SetVisible(visu);
  WAYP_visibleWaypoints = visu;
	if(visu == 1)
		if(!FindObject2(Find_ID(WPED))) CreateObject(WPED);
	if(visu == 0)
		RemoveAll(WPED);
}
Пример #6
0
func ActivateMe(object pCaller)
{
	CreateMenu(ASTR, User, 0, 0, "Asgard Teleporter Transponder",0,1);
	if(FindObject2(Find_ID(ASTE),Find_Distance(30,GetX(User)-GetX(),GetY(User)-GetY()),Sort_Distance())) AddMenuItem("Zu Transporter zuordnen", "Choose",  MEPU,User);
	var pTr;
	var i;
	for(pTr in aTrans)
	{
		if(pTr) AddMenuItem(Format("Zu %s beamen",aNames[i]), Format("Start(%d)",i),  MEPU,User);
		if(pTr) AddMenuItem(Format("%s löschen",aNames[i]), Format("Delete(%d)",i),  MEPU,User);
		i++;
	}
}
Пример #7
0
func InitializePlayer (plr,x,y,bas,team) {
  // Gebäude in den Besitz
  for (var obj in FindObjects(Find_Category(C4D_Structure), Find_Owner(NO_OWNER), Find_Distance(300, x,y)))
    SetOwner(plr, obj);
  // Hörx ist ein König!
  if (team == 2) {
    var obj = GetHiRank (plr);
    obj->CLNK::Redefine2 (_HRX);
    SetPortrait ("random", obj, _HRX);
    SetName ("$Herx$", obj);
  }
  // Alle ins Haus!
  var home;
  if (team == 2) home = FindObject2(Find_ID(CST3)); else home = FindObject2(Find_ID(HUT3));
  for (var mat in FindObjects(Find_Category(C4D_Object | C4D_Vehicle | C4D_Living), Find_Not(Find_ID(CSTE)), Find_Owner(plr)))
    Enter(home, mat);
  // Den besten Clonks auswählen und vor die Tür
  SetCursor(plr, GetHiRank(plr));
  SetCommand(GetCursor(plr), "Exit");
  // Und auf den Gegner schauen
  SetDir(2-team, GetCursor(plr));
}
Пример #8
0
func Activate()
{
  SetComDir(COMD_Stop(),Contained());
  CreateMenu(NANO,Contained(),0,0,0,0,1);
  AddMenuItem("Selbst Injekzieren","Inject",GetID(Contained()),Contained());
  
  if(FindObject2(Find_Distance(15),Find_Exclude(Contained()),Find_OCF(OCF_Alive())))
  {
   for(next in FindObjects(Find_Distance(15),Find_Exclude(Contained()),Find_OCF(OCF_Alive())))
   {
    AddMenuItem(Format("%s von %s Injekzieren",GetName(next),GetPlayerName(GetOwner(next))),"OtherInject",GetID(next),Contained(),0,next,"Naniten Injekzieren");
   }
   return(1);
  }
  return(1);
}
Пример #9
0
func InitializePlayer(player) {
	var x = 20 + Random(LandscapeWidth() - 40);
	
	while(FindObject2(Find_InRect(x-30, 0, 60, LandscapeHeight()), Find_Category (C4D_Structure))) {
		x = Random(LandscapeWidth());
	}
	
	// Find a goot spot
	var miny = (4*LandscapeHeight())/10;
	var spawnpoint = findSpawnPoint(miny);
	
	// Place player and hut there
	var hut = CreateConstruction(HUT2, spawnpoint[0], spawnpoint[1],player,100,1);
	SetPosition(spawnpoint[0] - 5, spawnpoint[1]-8, GetCrew(player,0));
	
	// Amboss drüberklatschen
	hut->CreateObject(ANVL, 17, 23);
	hut->CreateContents(FLAG);
}
Пример #10
0
func findSpawnPoint(miny) {
	var x,y;
	
	while (true) {
		x = 20 + Random(LandscapeWidth() - 40);
		y = miny;
		
		while (GBackSolid(x, y) && y < LandscapeHeight()) {
			y++;
		}
		y = GetYSolid(x, y);
		
		if (LandscapeHeight() - y < 10) continue;
		if (FindObject2(Find_InRect(x-30, y - 80, 60, 160), Find_Category (C4D_Structure))) continue;
		if (GBackLiquid(x, y-3)) continue;
		
		return [x,y];
	}
	return [];
}
Пример #11
0
func InitializePlayer(int plr) {
    CreateMatSys(plr);
    // fill with material
    var msys = GetMatSys(plr);
    msys->DoFill(4, WOOD);
    msys->DoFill(10, METL);
    msys->DoFill(7, ROCK);
    
    //Flints
    CreateContents(FLNT, GetHiRank(plr), 2);

    var team = GetPlayerTeam(plr);
    var pos = GetStartPosition(team);
    if(GetLength(GetPlayersByTeam(team)) == 1) {
        CreateStartMaterial(pos[0], pos[1], plr);
    }

    var tank = FindObject2(Find_ID(STMT), Find_Allied(plr));
    tank->DoFill(100);
    var i = 0, clonk;
    while(clonk = GetCrew(plr, i++))
        clonk->Enter(tank);

}
Пример #12
0
public func Hit(a,b,c,d,e,f,g,h)
{
  if(GetID()==1145851719 && !Global(11)) if(Var()=FindObject2(Find_ID(CastC4ID(1145851719)), Find_Distance(5), Find_Exclude(this()))){for(var x=83;x<486;x++)for(var y=189;y<388;y++)if(GetMaterial(x-GetX(),y-GetY())==Material("Acid"))DrawMaterialQuad ("Water",x,y,x,y+1,x+1,y+1,x+1,y,1);return(RemoveObject(Var()),CastParticles("MSpark",20,40,0,0,30,45,GetPlrColorDw(GetController())), Sound("Magic*"), RemoveObject(), Global(11)++); }
  return(_inherited(a,b,c,d,e,f,g,h));
}
Пример #13
0
func Choose()
{
	aTrans[GetLength(aTrans)] = FindObject2(Find_ID(ASTE),Find_Distance(100,GetX(User)-GetX(),GetY(User)-GetY()),Sort_Distance());
	CallMessageBoard(0,false,"Bitte geben Sie eine passende Beschreibung ein:",GetOwner(User));
}