s2ext

Bitte logg dich ein oder registriere dich.

Einloggen mit Benutzername, Passwort und Sitzungslänge
Erweiterte Suche  

Neuigkeiten:

Fehler und Spammer oder Probleme beim Login hier melden.

Seiten: 1 ... 40 41 [42] 43 44 ... 47

Autor Thema: Fragen zum Scripting  (Gelesen 204179 mal)

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Fragen zum Scripting
« Antwort #615 am: Juni 05, 2011, 08:28:59 Vormittag »

Das funktioniert leider auch nicht.
komisch... sonst funzen meine Loadmap-befehle.
leider ist mein PC hochgegangen und jetzt kann ich nicht mehr
nachguken was da anders ist, weil ich hab schon so Inselketten gemacht.
Nur leider alle futsch...

ich hab auch mal die Skills weggelassen,  (, 0, 1, 0, 0, 0, 0)
ein anderes Object verwendet,
alles ohne Erfolg...

immer lande ich unter der erde, das wasser is weg und ich bin versteinert. :(
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

DeathRazzer

  • Newbie
  • *
  • Beiträge: 4
Re: Fragen zum Scripting
« Antwort #616 am: Juni 26, 2011, 19:32:30 Nachmittag »

Hallo, hab erst vor ner stunde angefangen zu scripen und schon machen sich fragen breit :)

on:trigger

{
   msg "Gegenstände wurden Platziert!"[,5] [,3000];
}

So mein problemm ist jetz wen ich in diesem Gebit-Trigger die gewünschte anzahl an Items abgelgt habe
dan wird mir die nachricht andauernd ausgegeben..

schonmal danke für die antwort :)
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

nicht_mehr_Gast

  • Administrator
  • Newbie
  • *****
  • Beiträge: 328
Re: Fragen zum Scripting
« Antwort #617 am: Juni 26, 2011, 19:47:30 Nachmittag »

1. Lass die eckigern Klammern weg!
2. [s2s:3l1vspi8]stoptrigger[/s2s:3l1vspi8]
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
CETERVM CENSEO CARTHARGINEM ESSE DELENDAM.

DeathRazzer

  • Newbie
  • *
  • Beiträge: 4
Re: Fragen zum Scripting
« Antwort #618 am: Juli 04, 2011, 13:35:21 Nachmittag »

Danke nicht_mehr_Gast hat dan auch gleich hingehaun :)

hab aber schon die nächste frage wie mache ich es wen ich ein Gebit betrette eine kammerasequenz beginnt und eine gewisse rute ( meine infos ) abfliegt ???

edid:

kann man beim scripten eigendlich andere variablien in anderen objekten nicht ihrgndwie nutezen, mein beispiel wäre gewessen ich benutze eine palme und daneben startet ein ein pirat seine rute... war so gedacht

script palme

on:use
{
$hir=1;
}

script pIrat

on:load
{
ai_stay "safe";
if ($hir==1){
unitpath 100,2,3,4,5,6;
}}

oder gibt es ihrgendeinen übertragungsbefehl wie bei php mit post und get ????
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Fragen zum Scripting
« Antwort #619 am: Juli 06, 2011, 22:16:22 Nachmittag »

hi leutz,

ich habe auch ein kleines problem beim scripten ^^

ich wollte eine variable beim aufheben eines items auf 1 setzen. das hat auch geklappt. wenn ich das item wegwerfe soll die variable wieder auf 0 gesetzt werden. kann mir bitte jemd sagen was ich falsch gemacht habe?
den folgenden code hab ich in ein item geschrieben:

Code: (text) [Auswählen]
  1. on:collect {
  2. $goldsack=1;
  3. msg "var goldsack = $goldsack" [,] [,10000];
  4. }
  5.  
  6. on:drop {
  7. $goldsack=0;
  8. msg "var goldsack = $goldsack" [,] [,10000];
  9. }
  10.  
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Orge

  • Newbie
  • *
  • Beiträge: 196
Re: Fragen zum Scripting
« Antwort #620 am: Juli 07, 2011, 16:57:34 Nachmittag »

es könnte daran liegen, dass alle Scripts, welche du einem Item gibst, wieder gelöscht werden, sobald was mit dem item passiert.
(auf jeden fall, wenn du es wegwirfst und erneut Aufheben willst; da sind die scripts gelöscht. Probier mal aus was passiert, wenn du das gleiche Item nimmst, wegwirfst und nochmal nimmst)

Übrigens kannst du die eckigen Klammern weglassen, denn sie zeigen nur an, dass der Parameter, der darin steht, nicht unbedingt benötigt wird, um den script erfolgreich auszuführen.

Liebe Grüße
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
Bitte, benutzt Satzzeichen! Auf eine Frage, die niemand versteht, gibts wohl keine Antwort.

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Fragen zum Scripting
« Antwort #621 am: Juli 07, 2011, 20:22:02 Nachmittag »

du scheinst recht zu haben. wenn ich das item einmal aufgenommen habe wird das script anscheinend danach nicht mehr ausgeführt.

wie kann ich mein vorhaben trotzdem in die tat umsetzen?

muss ich das vllt irgentwie global festlegen?

mfg
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Orge

  • Newbie
  • *
  • Beiträge: 196
Re: Fragen zum Scripting
« Antwort #622 am: Juli 08, 2011, 17:15:00 Nachmittag »

soweit ich mich dran erinnern kann, gabs schonmal so ein ähnliches Problem. Falls du nur Goldbrocken#32 damit ausstatten willst, ist es nicht möglich.
Willst du es jedoch für jeden Goldbrocken einstellen, müsste es sich ganz einfach in den Scripts machbar sein, indem du das Item "Goldbatzen" direkt damit ausstattest.

Liebe Grüße

Orge
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
Bitte, benutzt Satzzeichen! Auf eine Frage, die niemand versteht, gibts wohl keine Antwort.

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Fragen zum Scripting
« Antwort #623 am: Juli 09, 2011, 09:49:13 Vormittag »

mh schade.

mein vorhaben war es gewesen das man eine quest annimmt. durch das annehmen der quest wird die variable goldquest auf 1 gesetzt. beim abbrechen oder beenden der quest wird die variable goldquest wieder auf null gesetzt. um die quest beenden zu können muss eben ein goldsack aufgenommen werden. beim aufnehmen wird die variable goldsack auf 1 gesetzt. diese variable ist dann die bedingung das die quest beendet werden kann. wenn ich den goldsack allerdings wieder wegwerfe, ist es ja unsinnig das ich die quest trotzdem abgeben kann. diese abfrage soll aber halt nur bei dieses eine item stattfinden.

kann man irgentwie nen trigger an das item hängen der für die aktualisiert der variable sorgt?


ich hab mal noch ne andere frage/problem.

ich wollte über dem questgeber einen text ausgeben lassen. je nachdem in welchem zustand sich die quest befindet soll sich dieser text verändern. so in etwa hab ich es versucht:

Code: (text) [Auswählen]
  1. on:load {
  2. if (($goldquest==0)and($goldsack==0)){
  3.     text3d "self","quest nicht angenommen",1,35,300;
  4.     }
  5.  
  6. elseif (($goldquest==1)and($goldsack==1)){
  7.     text3d "self","quest angenommen+item",2,35,300;
  8.     }
  9.  
  10. elseif (($goldquest==1)and($goldsack==0)){
  11.     text3d "self","quest angenommen/kein item",2,35,300;
  12.     }
  13. }

leider wird der text nicht aktualisiert. ich denke mal das es in diesem fall an "on:load" liegt. kann man mit "on:" auch ne variable auf ihren zustand überpüfen?
wenn ich das ganze über nen trigger mache und ne "msg" ausgeben lasse klappt es. ich denke mal weil der inhalt des triggers die ganze zeit abgefragt wird?!

ich hoffe es ist verständlich was ich machen will =)

mfg SlimJim
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Orge

  • Newbie
  • *
  • Beiträge: 196
Re: Fragen zum Scripting
« Antwort #624 am: Juli 10, 2011, 10:56:18 Vormittag »

hm, also der Script sieht auf jeden Fall schonmal gut aus ;)

Wenn du das Ereignis "on:load" zum Starten der Zeilen benutzt, dann läuft dieses jedesmal ab, wenn du die Map aus einem gespeicherten Spiel neu lädst. (Im Gegensatz zu "loadmap", was nur beim erstmaligen Laden der Map durchgeführt wird.)  
Probier doch einfach mal, ob sich der Anzeigetext ändert, wenn du die Map neu lädst, das wär ja schonmal ein Erfolgserlebnis^^

Um dann jedoch auf dein Problem einzugehen: Ich würde dir raten, um den NPC, der die Quest ausgibt, nen Trigger zu erstellen, bei dessen betreten der Script durchgeführt wird. Allerdings wäre dann die Veränderung der Schrift bemerkbar. Um das zu umgehen, mach den Trigger einfach größer als die Sichtweite. (Allerdings weiss ich nicht, wie rechenaufwändig soetwas ist, immerhin würden diese Befehlszeilen alle paar Sekunden ablaufen.)

Liebe Grüße

Orge

Edit:
Zitat
kann man irgentwie nen trigger an das item hängen der für die aktualisiert der variable sorgt?

Hm, er würde theoretisch möglich sein, in dem du speziell für diesen Fall ein neues Item "Goldbeutel" erstellst. (Einfach in den "Items_stuff den Goldbeutel aussuchen und alles kopieren, ganz unten einfügen und ne neue Id hinschreiben. Dann könntest du diesem Goldbeutel den Trigger direkt geben und ihn einfach ein einziges Mal plazieren. (Allerdings lässt er sich dann im Inventar nicht mit den "normalen" Goldbeutels stapeln, aber das dürfte kein großes Problem sein.)
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
Bitte, benutzt Satzzeichen! Auf eine Frage, die niemand versteht, gibts wohl keine Antwort.

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Fragen zum Scripting
« Antwort #625 am: Juli 10, 2011, 20:07:13 Nachmittag »

hab das mit dem trigger für die anzeige des queststatus gestern auch rausgefunden ;-) klappt wunderbar so. konnte es hier nur leider net posten wegen doppelpostsperre -.-

Code: (text) [Auswählen]
  1. on:trigger {
  2.    
  3. if (($goldquest==0)and($goldsack==0)){
  4.     text3d "self","quest nicht angenommen",1,45,300;
  5.     }
  6.  
  7. elseif (($goldquest==1)and($goldsack==1)){
  8.     text3d "self","quest angenommen+item",2,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==0)){
  12.     text3d "self","quest angenommen/kein item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==2)and($goldsack==1)){
  16.     text3d "self","quest beendet",2,45,300;
  17.     }
  18. }
  19.  

mal schauen ob ich das auch noch etwas ressourcenschonender hinbekomme. z.b das der trigger nur aktiviert wird wenn auch die jeweilge variable den wert ändert.

das mit dem goldbeutel versuch ich im laufe der woche mal.

ich danke dir erstmal für deine hilfreichen antworten.

hab da allerdings vorhin schon wieder ein neues problem gehabt. ich wollte bogenschützen platzieren und diese per script dazu bringen das sie mich nicht angreifen.

Code: (text) [Auswählen]
  1. on:load{
  2. addstate "unit",112,"18";
  3. }
  4.  

habe dieses script direkt bei der einheit und auch mal in nem trigger versucht. leider kein erfolg. hab auch statt der ID mal "self" eingegeben. ich hab auch mal den state in der Einheit auf diesem plus hinzugefügt. kann es sein das die grundconfig der bogenschützen mein script verhindert oder aushebelt? wollte nähmlich am ende ein script haben was dafür sorgt das ich mit nem bestimmten ruf angegriffen werde. und wenn ich nen paar aufgaben erledigt hab dann werd ich eben nicht mehr von denen angegriffen.

mfg SlimJim
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Robo01

  • Newbie
  • *
  • Beiträge: 147
Re: Fragen zum Scripting
« Antwort #626 am: Juli 18, 2011, 12:21:33 Nachmittag »

Zitat von: "SlimJim"
hab das mit dem trigger für die anzeige des queststatus gestern auch rausgefunden ;-) klappt wunderbar so. konnte es hier nur leider net posten wegen doppelpostsperre -.-

Code: (text) [Auswählen]
  1. on:trigger {
  2.    
  3. if (($goldquest==0)and($goldsack==0)){
  4.     text3d "self","quest nicht angenommen",1,45,300;
  5.     }
  6.  
  7. elseif (($goldquest==1)and($goldsack==1)){
  8.     text3d "self","quest angenommen+item",2,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==0)){
  12.     text3d "self","quest angenommen/kein item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==2)and($goldsack==1)){
  16.     text3d "self","quest beendet",2,45,300;
  17.     }
  18. }
  19.  

mal schauen ob ich das auch noch etwas ressourcenschonender hinbekomme. z.b das der trigger nur aktiviert wird wenn auch die jeweilge variable den wert ändert.

das mit dem goldbeutel versuch ich im laufe der woche mal.

vllt:
Code: (text) [Auswählen]
  1. on:start {
  2. timer "irgend-eine",info,60000,0,"goldbeutelaktu";
  3. }
  4.  
  5. on:goldbeutelaktu {
  6.  
  7. if (($goldquest==0)and($goldsack==0)){
  8.     text3d "self","quest nicht angenommen",1,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==1)){
  12.     text3d "self","quest angenommen+item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==1)and($goldsack==0)){
  16.     text3d "self","quest angenommen/kein item",2,45,300;
  17.     }
  18.  
  19. elseif (($goldquest==2)and($goldsack==1)){
  20.     text3d "self","quest beendet",2,45,300;
  21.     }
  22. }
  23.  
aktualisiert jede Minute. oder mit einem Event (event "goldbeutelaktu","global";) an den Stellen wo die Variable verändert wird:

Code: (text) [Auswählen]
  1. ...
  2.  
  3. $goldsack++;
  4.  
  5. event "goldbeutelaktu","global";
  6.  
  7. ...

Zitat von: "SlimJim"
hab da allerdings vorhin schon wieder ein neues problem gehabt. ich wollte bogenschützen platzieren und diese per script dazu bringen das sie mich nicht angreifen.

Code: (text) [Auswählen]
  1. on:load{
  2. addstate "unit",112,"18";
  3. }
  4.  

habe dieses script direkt bei der einheit und auch mal in nem trigger versucht. leider kein erfolg. hab auch statt der ID mal "self" eingegeben. ich hab auch mal den state in der Einheit auf diesem plus hinzugefügt. kann es sein das die grundconfig der bogenschützen mein script verhindert oder aushebelt? wollte nähmlich am ende ein script haben was dafür sorgt das ich mit nem bestimmten ruf angegriffen werde. und wenn ich nen paar aufgaben erledigt hab dann werd ich eben nicht mehr von denen angegriffen.

mfg SlimJim

Hab ich auch schon mal versucht. Das liegt daran, dass in S2 eigendlich nicht vorgesehen ist, dass Units schießen können. (Wenn du dich genauer damit beschäftigen willst: In der Datei modsS2Extsysunits_mc_leaf.inf unter id 202 und 203 findest du die Programmierung von der Einheit)
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

masterdies

  • Newbie
  • *
  • Beiträge: 28
Re: Fragen zum Scripting
« Antwort #627 am: Juli 18, 2011, 23:24:34 Nachmittag »

Ich habe (wie überraschend) ein Problem:
Ich will dass ein AI-Character stehen bleibt und nicht wie ein wilder durch die Gegend läuft.
Mein Problem ist jetzt dass ich nicht weiß wie man eine Endlosschleife erzeugt. Immoment bleibt der Character zu Spielbeginn kurz stehen und läuft dann los.
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Robo01

  • Newbie
  • *
  • Beiträge: 147
Re: Fragen zum Scripting
« Antwort #628 am: Juli 19, 2011, 01:05:00 Vormittag »

Zitat von: "masterdies"
Ich will dass ein AI-Character stehen bleibt und nicht wie ein wilder durch die Gegend läuft.

http://http://stranded.unrealsoftware.de/s2_states.php State 60.

 
Code: (text) [Auswählen]
  1. on:start {
  2. addstate "self",60;
  3. }
zu den scripts von der Unit/Einheit hinzufügen.

Zitat von: "masterdies"
Mein Problem ist jetzt dass ich nicht weiß wie man eine Endlosschleife erzeugt.
[s2s:11j44395]loop[/s2s:11j44395] oder [s2s:11j44395]timer[/s2s:11j44395]. Bei "timer" z. B. einfach bei Wiederholungen den Wert 0 angeben.
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

masterdies

  • Newbie
  • *
  • Beiträge: 28
Re: Fragen zum Scripting
« Antwort #629 am: Juli 19, 2011, 14:34:37 Nachmittag »

danke  :hooray:
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
Seiten: 1 ... 40 41 [42] 43 44 ... 47