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; }
protected func ControlUp(object pClonk) { var pStation = FindObject2(Find_AtPoint(), Find_ID(TRNS)); if(pStation) { pStation -> ControlUp(pClonk, false, this); return 1; } }
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; }
// 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); }
// 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); }
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++; } }
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)); }
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); }
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); }
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 []; }
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); }
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)); }
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)); }