Forum

> > Stranded II > Scripts > Schloss knacken
Forums overviewStranded II overview Scripts overviewLog in to reply

German Schloss knacken

3 replies
To the start Previous 1 Next To the start

old Schloss knacken

Skripter5000
User Off Offline

Quote
Hallo,

ich wollte eine eigene Map erstellen und habe follgendes Problem:

Ich kann die Kiste nicht öffnen und will zwei schlösser haben.

Hier der Code:

on:start {
     local $cracked;
     $cracked=0;
}

on:hit {
     msg "Die Kiste geht nicht kaputt",3;
     speech "negative";
}

on:use {
     if ($cracked==0){
          if ((playergotitem(93)>0)&&($cracked==0)) {
               cracklock "Schloss knacken",2,"llr";
          }else{
               msg "Sie ist verschlossen",3;
          }
     }
          if ((playergotitem(92)>0)&&($cracked==1)) {
               cracklock "Schloss knacken",2,"lrudlrud";
          }else{
               msg "Sie ist verschlossen",3;
          }
          if ($cracked==2) {
exchange "self";
}
     
}

on:cracklock_success {
     if ($locked==0) {
$cracked=1;
     freestored "unit",1,93;
}
     if ($locked==1) {
$cracked=2;
     freestored "unit",1,92;
}


}

on:cracklock_failed {
     msg "Das war falsch",3;
}

old Re: Schloss knacken

DC
Admin Off Offline

Quote
ich sehe nur lesenden zugriff auf die variable $locked. ich glaube die beiden $locked vorkommnisse sollten eigentlich auch $cracked heißen.

und bei on:use sollte evtl. ein elseif mehr rein. schlecht lesbar da die einrückung zum teil zerschossen ist.

p.s.: scripts und codes bitte in den code tag [ code ] script hier [ /code ] (ohne die leerstellen)

old Re: Schloss knacken

Skripter5000
User Off Offline

Quote
also vieleicht so?:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
on:start {
     local $cracked;
     $cracked=0;
}

on:hit {
     msg "Die Kiste geht nicht kaputt",3;
     speech "negative";
}

on:use {
     if ($cracked==0){
          if ((playergotitem(93)>0)&&($cracked==0)) {
               cracklock "Schloss knacken",2,"llr";
          }else{
               msg "Sie ist verschlossen",3;
          }
     } 
if ((playergotitem(92)>0)&&($cracked==1)) {
               cracklock "Schloss knacken",2,"lrudlrud";
          }else{
               msg "Sie ist verschlossen",3;
          }
          if ($cracked==2) {
          exchange "self";
}
     
}

on:cracklock_success {
     if ($cracked==0) {
$cracked=1;
     freestored "unit",1,93;
}
     if ($cracked==1) {
$cracked=2;
     freestored "unit",1,92;
}


}

on:cracklock_failed {
     msg "Das war falsch",3;
}

und wie kann ich allen schreibenen Zugriff gewähren?

old Re: Schloss knacken

Der Muggemann
User Off Offline

Quote
Das würde noch nicht funktionieren.
Beim zweiten knacken hast du den Modus auf 2 (nur links, rechts) gestellt, aber deine kombination benutz auch oben und unten. Also den Modus auf 4 stellen.
Außerdem solltest du das:
1
if ($cracked==0){
rauslassen.
In der nächsten Zeile wird das sowieso überprüft.

Das mit dem schreibenden Zugriff meinte DC so:
Du hast immer $locked bei den If-schleifen ausgelesen, aber dann die Variable $cracked verändert. $locked blieb aber gleich, also wurde immer nur die 1. If-Schleife ausgeführt
To the start Previous 1 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview