Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting - Fragen/Probleme

6,780 replies
Page
To the start Previous 1 210 11 12339 340 Next To the start

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Hm... habe jetzt meinen Fernkampfskill auf 14 gepushed, aber konnte den Fehler nicht rekonstruieren
Entweder habe ich es bei mir schon gefixed (was unwahrscheinlich ist weil ich imho nichts was damit zu tun hat seit dem Release von 0.0.0.4 geändert habe) oder es gibt noch weitere Unterschiede welche zu dem Problem führen. Bin soweit aber erstmal ratlos.

Edit: Oh, okay. Gucke ich mir gleich mal genauer an.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Habe ein paar Nachforschungen betrieben und schnell Ergebnisse erkennen können: Impact_class gibt bei Objects und Items seltsamerweise die letzte von impact_class zurückgegebene Klasse zurück. Falls impact_class früher keine Klasse zurückgegeben hat, (z.B. weil es noch nicht eingesetzt wurde) gibt es 0 zurück. Das bezieht sich wie gesagt nur auf Objects und Items.
Das erklärt auch den Fehler:
•Wenn man noch keine Unit getötet hat, gibt es 0 zurück und beide Prüfungen ergeben Falsch, was dazu führt, dass nichts erhöht wird.
•Hat man bereits mindestens eine Unit getötet, gibt es 2, also "Unit", zurück. Das führt dazu, dass die Aktionen für Units ausgeführt werden.

THX im Voraus.
edited 5×, last 17.01.06 06:57:30 pm

old Re: Scripting - Fragen/Probleme

Lord Horazont
User Off Offline

Quote
@HW:
Ich kann deine Erfahrungen nicht teilen.
Ich habe ein sehr ähnliches Script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
on:impact {
  $bow=skillvalue("Boegen");
  damage impact_class(), impact_id(), $bow;
  if (impact_kill())
  {
    if (impact_class()==2) {
      $bow_exp+=25;
    }
    if (impact_class()==1) {
      $bow_exp+=5;
    }
    if ($bow_exp>99) {
      $bow_exp-=100;
      incskill "Boegen";
      msg "Du bist aufgestiegen! [Bogen]";
    }
  }
}
Ich habe es per def_override in einen Bogen gejagt und es funktioniert prächtig, auch wenn ich deine beschriebenen Problemfälle durchführe (auch, wenn ich dafür erstmal über 500 Pfeile verschossen hab, bis ich dann den Schaden erhöht habe).

Vielleicht solltest du das Script einfach mal neu schreiben

Gruß Lord Horazont

P.S. Alle Fehler, die in dem obigen Script enthalten sind, sind garantiert Tippfehler, da es ingame ohne Probleme funktioniert.

Edit: Kann es sein, dass on:impact mit Nahkampfwaffen nicht funktioniert?! Wenn ja, welche alternativen habe ich?

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Ich denke, du verstehst nicht, worauf ich hinaus will...
Ich habe das Skript ausführlich geprüft, und ich habe es bisher auch einmal neu geschrieben. Du scheinst den Fehler ja nicht zu bemerken, aber lassen wir mal DC hören.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Nein, HW hat schon recht, da sind Fehler in dieser Richtung.
Impact sollte eigentlich auch bei Nahkampfwaffen funktionieren.

Edit: Habe das Problem inzwischen auch schon behoben. Ich musste lediglich 2 Zeilen verschieben
Das es bei Units funktionierte lag übrigens nur daran, dass diese nach dem Tod noch existieren. Das Problem: Habe die Impact Werte für impact_class und impact_id erst NACH dem "Beschädigen" in Variablen geschrieben - richtig wäre natürlich gewesen es vorher zu machen, denn wenn ich ein Objekt beim Beschädigen lösche komme ich natürlich nicht mehr an seine Daten.
edited 1×, last 17.01.06 07:41:43 pm

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Ich habe, um die Ergebnisse meiner Nachforschungen nochmal nachzuweisen, einen einfachen Test gemacht. Das hier habe ich in die Definition eines Bambusitems geschrieben, dem ich vorhin das Behaviour Spear zugeteilt habe:
1
2
3
4
on:impact {
$class=impact_class();
msg "$class";
}
Das Ergebnis dieses Tests war, dass meine Vermutungen falsch waren, es lief, wie es sollte. Ich habe also keine Ahnung...

Edit: Ich habe extra für Horazont den Test umgeändert und dem Bambus das Behaviour Blade zugeteilt. Auch da lief alles so, wie es sollte. Da sind wohl noch einige Fehler...
edited 1×, last 17.01.06 07:43:22 pm

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Deine Vermutung war schon richtig, aber das Problem trat nur auf wenn die Objekte beim impact Event zerstört wurden. Erklärung steht oben beim Edit in meinem Post

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Lol, war also fast dasselbe, wie damals bei on:kill...
@Horazont: Du solltest uns vllt den genauen Code zeigen, vllt kann noch ein gravierender Fehler behoben werden...

old Re: Scripting - Fragen/Probleme

Guest

Quote
... so jetzt habich mir ma die zeit genommen die befehle un dat tutorial zu lesen (insofern möglich...)

ABER: wie mache ich gras zerstörbar, wie kann ich mehrere ID's aneinander haengen, wie kann ich
ein script/status fuer alle im mom vorhandenen objekte einfuegen (leider gibts das nicht unter "erweiterte optionen"), wie mache ich einen befehl fuer alle objekte
eines typs gültig.

thx im vorraus und fuer die antwort auf meine letzte frage dessen antwort ich mittlerweile min. 5 mal in irgendwelchen listen gefunden hab sry ;P

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
1. Gras kannst du nicht zerstörbar machen
2. Ich weiss zwar nicht, was du mit "mehrere ID's aneinander hängen" meinst, aber ich glaube nicht, dass das geht
3. Du kannst für alle vorhandenen Sachen desselben Typs einfügen, in dem du folgendes Skript irgendwo einfügst:
1
2
3
on:start {
def_extend *Klasse*,*ID*,*TextboxID*;
}
Um ein State bei allen einzufügen, fügst du in der Textbox, auf die du im oben stehenden Skript verwiesen hast, Folgendes ein:
1
2
3
on:start {
addstate "self",*StateID*;
}
Ich hoffe, ich habe dir deine Frage beantwortet, falls du das meinst.

Edit: Ich glaube nicht, dass ich deine Frage beantworten könnte. Das ist, wenn ich dich richtig verstehe, nicht möglich. (bis jetzt)
Wofür brauchst du das eigentlich?

old Re: Scripting - Fragen/Probleme

Guest

Quote
hmm am wichtigsten ist mir das mit dem gras...
wuerd gern ne stelle auf meiner map machen wo man sich durch hohes gras hacken muss, was natürlich keinen sin ergibt wenn man auch einfach durchlaufen kann... ...oh hab ich vergessen zu fragen... (wie mache ich gras undurchlaufbar lol )...
im prinzip könnte ich auch ein objekt (stein oder so) mit nem gras modell verwenden, aber ich fänds bloed wenn ich mir so ne meuhe mache und DC evtl später nen einfachen scriptbefehl oder sogar ein kästchen zu anklicken in das fenter einbaut wo sich HP usw einstellen lassen.

mit ID "aneinanderhängen" (schande ueber mich!)
meine ich eine funktion im script nicht nur für ein objekt
(ID=3) sonder für mehrere objekte (ID=3+4+7+999)
gueltig zu machen ohne dabei die gesamte zeile neu schreiben zu muessen.

on:start {
def_extend *Klasse*,*ID*,*TextboxID*;
}

bringt mich leider bei meiner einen frage (ja, auch unverstaendlich formuliert weil müde) nicht weiter.
ich brauche die scripts direkt an das objekt gebunden, damit ich es bei den 150 objekten die kein script haben sollen einfach die scripts/states entfernen kann...
(klingt komisch, ist aber so)

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Hm, nichts von dem was du willst geht. Da muss ich dich wohl enttäuschen.
Was das Gras angeht: DC wird sicher niemals ein Kästchen hinmachen, bei dem man extra für jedes Objekt die Kollision einstellen kann. Das muss schon über Definiton gehen. Du könntest aber auch Bambuswälder benutzen, falls es für dich in Ordnung ist. Allerdings bringt das alles nichts, weil man auch einfach "drüberklettern" kann.
IDs anhängen wird mit sehr großer Sicherheit nie gehen. Da musst du schon den Befehl für jede ID neu schreiben/kopieren.
Ein Skript für sämtliche Objekte, egal welchen Typs, zu erstellen, wäre nicht möglich. Selbst wenn DC eine Funktion dafür einbauen würde, (was er nicht wird) würde es nicht funktionieren. Denn dann müsste das Skript für jedes Objekt separat gespeichert werden, was deine Karte für Leute, die keinen Mega-Zukunfts-PC haben, unzugänglich machen würde. Ginge also nur mit def_extend...

old Re: Scripting - Fragen/Probleme

Guest

Quote
...joaa das mit dem bambus wär ne lösung aber wieso kann man darüberklettern? ...selbst wenn ich stell einfach wände mit 1hp vor die unsichtbar sind (wehe da kann man auch drueberklettern)falls ich keine alternative finde. danköö

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Über Wände kann man auch klettern...
Man kann über alles klettern...bis jetzt...

Edit:@DC: Könntest du einen Befehl hinzufügen, der einen State nur für einen bestimmten Zeitraum hinzufügt? Oder gleich ein genaueres Zeitevent als "changeday"? Z.B. "changehour"? Der Grund: Ich will ein Item kreieren, das den Spieler für eine kurze Zeit unbesiegbar macht. Wäre das möglich?
edited 2×, last 18.01.06 05:36:24 pm

old Re: Scripting - Fragen/Probleme

Guest

Quote
habs gerade im miniformat fertig und dat is voll goil...
...man wuselt durch ein bambusfeld das dicht und hoch genug ist um komplett die sich zu versperren. wände sind im prinzip die pflanzen normale hp haben die anderen lassen sich mit einem schlag kaputtieren.
so kann ich den spieler zu einem schild lenken auf dem
ein totenkopft mit gekreuzten knochen und das in roter farbe geschrieben wort DANGER (bitte nicht geradeaus und dann rechts gehen) steht.
@DC kannst du nicht bitte etwas sinvolleres als diesen dummen kringel auf das schild machen oder mir die möglichkeit geben was draufzumalen ohne gleich nen mod zu machen?

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Noch mal die offen stehenden Fragen in einem Überblick:
HW has written
:@DC: Könntest du einen Befehl hinzufügen, der einen State nur für einen bestimmten Zeitraum hinzufügt? Oder gleich ein genaueres Zeitevent als "changeday"? Z.B. "changehour"? Der Grund: Ich will ein Item kreieren, das den Spieler für eine kurze Zeit unbesiegbar macht. Wäre das möglich?

kiffer has written
@DC kannst du nicht bitte etwas sinvolleres als diesen dummen kringel auf das schild machen oder mir die möglichkeit geben was draufzumalen ohne gleich nen mod zu machen?

Ich fände, es würde bezüglich kiffers Frage genügen, etwas schriftähnlicheres als nen Kringel zu machen. Würde mir auch gefallen.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
ominöses Timerzeug mache ich wohl noch rein. Ansonsten geht das auch per Info in kleineren Zeitabständen, obwohl das natürlich unschön ist, da man das dann selbst auf jede Map setzen müsste.

Eigene Models kannst du per Script laden. Mit dem Befehl "model". Am Besten im on:start-Event. Aber vielleicht mache ich auch noch selbst weitere Schild-Typen. Wer weiss.
To the start Previous 1 210 11 12339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview