CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


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

 

 Großer Sprung nicht möglich

Nach unten 
+2
Masterfox
Bowserkoopa
6 verfasser
AutorNachricht
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 5:36 pm

Ich versuche den Krötensprung in ein untermenü eines Clonkes einzupflanzen. Erst habe ich versucht, den Krötensprung in den Clonk zu ziehen und dann habe ich folgendes versucht:

Das hat aber nicht funktioniert. Habe noch nicht mal ne Fehlermeldung bekommen. Es passierte einfach gar nichts.

Das ist der gesamte Code. Wichtig ist nur die Funktion "bowserjump", aber zur Sicherheit immer zu viel als zu wenig:

Code:
/*-- Bowser --*/

#strict
#include CLNK

protected Initialize:
  SetName("Bowser");
  SetAction("Walk");
  return(1);

protected ControlSpecialDouble:
{
CreateMenu(GetID());
//Jetzt das Zusatz-Menü

AddMenuItem ("Brüllen", "Roar", BOWS);
AddMenuItem ("Lachen", "Laugh", FB_Y);
AddMenuItem ("Groah", "Groah", EFLN);
AddMenuItem ("Bowsersprung", "Bowserjump", BSJ8);
return(1);
}

(.....) <- Hier wären noch andere Funtkionen

//Bowsers springt hoch

func Bowserjump()
{
local target;

public func Activate(caster1, caster2) {
  // Tatsächliches Ziel ermitteln
  target = caster1;

  // caster2 auf den Container vom Zauberer setzen falls nicht übergeben
  if (!caster2) caster2 = Contained(caster1);

  // Wirklichen Caster überprüfen
  if (caster2) {
    // Container lebt?
    if (GetOCF(caster2) & OCF_Alive()) {
      // Zielobjekt = Container
      target = caster2;
    }
    // Sonst Fehlermeldung
    else
      return(CastError("$NotInFree$", target));
  }
 
  // Nur auf festem Grund
  if (!GBackSolid(0, AbsY(GetDefBottom(target))))
    return(CastError("$NotWalking$", target, 1));
 
  // Einen Frame verzögert springen
  SetAction("Jump");
 
  // Fertig
  return(1);
}

protected func DoJump() {
  // Sound
  Sound("bowser-grab");
  SetPosition(GetX(target), GetY(target) - 1, target);

  // Aktivität setzen
  ObjectSetAction(target, "Jump");
 
  // Richtung rauskriegen
  var dir = -1;
  if (GetDir(target) == 1) dir = +1;

  // X/Y-Dir setzen
  SetSpeed(35 * dir, -70, target); // Einheitlicher Sprung

  // Zerstören
  RemoveObject();
}

protected func CastError(msg, caster, silent)
{
  // Meldung ausgeben
  if (!silent) Message(msg, caster, GetName(caster));
  // Sound
  if (!silent) Sound("Error");
  // Action zurücksetzen
  if (GetAction(caster) eq "Magic") ObjectSetAction(caster, "Walk");
  // Selbstzerstörung
  RemoveObject();
  // Fehlschlag
  return(0);
}
return(1);
}


Doch ich bekomme die Einzige Fehlermeldung: function didn't return und das in Zeile 49. Doch dort befindet sich nur ein "{".
Nach oben Nach unten
Masterfox
General
General
Masterfox


Männlich Alter : 30
Anmeldedatum : 11.11.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 6:59 pm

ich glaube, das das in das actMap als eine neue aktion rein muss^^
Nach oben Nach unten
Simsi
Staatssekretär
Staatssekretär
Simsi


Männlich Alter : 31
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 7:17 pm

probier einfach mal
Code:
func Bowserjump() {
  var Dir = GetDir();
  if(!Dir) Dir = -1;
  SetXDir(80*Dir);
  SetYDir(-100);
}

anstatt deiner ganzen Bowserjump()-funktion

das mit dem zauber macht alles nur noch komplizierter
Nach oben Nach unten
Mega Hazard
Staatsrat
Staatsrat
Mega Hazard


Männlich Alter : 31
Ort : Brunswiek *helllau*
Anmeldedatum : 24.01.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 7:39 pm

Du hast in eine Funktion eine neue geschrieben, deswegen geht es nicht.
Nach oben Nach unten
http://megahazard.lima-city.de/Main.htm
Masterfox
General
General
Masterfox


Männlich Alter : 30
Anmeldedatum : 11.11.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 10:45 pm

aber mit dem ActMap hätte man es auch machen können, oder?
Nach oben Nach unten
Dragonclonk
Kadett
Kadett
Dragonclonk


Männlich Alter : 31
Ort : Lübeck
Anmeldedatum : 11.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDi Jan 06, 2009 11:07 pm

Ohne Script ist die ActMap sinnlos.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyMi Jan 07, 2009 5:58 pm

Das Skript funktioniert fast. Muss allerdings die Koordinaten anpassen, weil er nur am Boden entlanggleitet und nur in der Luft springt. Aber obwohl ich gut im Mathe bin, stimmen die Koordinaten nicht, egal was ich verwende. Aber so langsam check ich das mit dem Skripten ja doch noch. Wink
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyMi Jan 21, 2009 5:46 pm

Bei lebenden Teilen musst du Fling benutzen, SetYDir funktioniert nicht.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyMi Jan 21, 2009 5:50 pm

Also wie müsste es denn dann aussehen? Gleiches Skript, nur fling? irgendwie zu einfach....
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyMi Jan 21, 2009 5:54 pm

Code:
func Bowserjump() {
  var Dir = GetDir();
  if(!Dir) Dir = -1;
  Fling(this(),80*Dir,-100);
}
Vorausgesetzt das davor stimmt
Fling
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich EmptyDo Jan 22, 2009 7:27 pm

So, damit funktioniert es. Allerdings musste ich die Werte anpassen, da er erst nach 34 Sekunden wieder den Boden berührte. Allerdings kommt während dem Sprung immer die Animation, wenn er herunterfällt(also er dreht sich dauernd). Für Leute, die ihre Clonk auch hoch springen lassen wollen:
Code:
func Bowserjump() {
  var Dir = GetDir();
  if(!Dir) Dir = -1;
  Fling(this(),5*Dir,-5);
}
Nach oben Nach unten
Gesponserte Inhalte





Großer Sprung nicht möglich Empty
BeitragThema: Re: Großer Sprung nicht möglich   Großer Sprung nicht möglich Empty

Nach oben Nach unten
 
Großer Sprung nicht möglich
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Gegenstand erscheint durch Sprung

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