Ich weiss dieser Thread ist schon etwas älter möchte aber keinen neuen auf machen.
Ich habe das problem das immer irgenteiner meine Vehicles klaut -.-
ein freund sachte mir wen ich nen pod controler und den E2 dran machen kann ich alles so einstellen das
wen nicht der Owner also ich drinne sitzt er raus geschmissen oder gekillt wird.
Meine Frage ist nun wie muss mein E2 aussehen damit ich sowas machen kann ?
Ich hoffe ihr könnt mir helfen.
Ich bin zwar ein Noob aber immerhin nicht alleine
Mein PC:
Microsoft Windows 7 Ultimate 64bit
AMD Phenom II x4 945 Processor
4GB DDR3 RAM, Nvidia Geforce GTX 260
Der müsste so aussehen:
Dann "Player:entity" beim Adv.Pod auf "Entity [ENTITY]" wiren.Code:@name Test @inputs Player:entity @outputs @persist @trigger all interval(5) if(Player:owner()) {} else {Player:killPod()}
Geht nicht auf Server, die Prop protection haben.
€: Korrigiert mich bitte, wenn ich was falsch gemacht hab. Ich bin Expression 2 Anfänger.
Geändert von Waldi (10.08.2009 um 21:45 Uhr)
Danke werd ich mal testen ob es auf meinem server fungtioniert werde dan bescheit sagen.
EDIT: Nein fungtioniert leider nicht ich bekomme auch mit dem debugger keine veränderungen und es können noch alle in das vehicle
EDIT2: Ich habe jetzt was geändert unzwar ist es jetzt so
@name Test
@inputs Player:entity
@outputs
@persist
@trigger all
interval(5)
if(Player == owner()) {} else {Player:killPod()}
aber jetzt sterben alle sogar ich wen wir das vehicle betreten
Geändert von Chelebi (10.08.2009 um 22:33 Uhr)
Ich bin zwar ein Noob aber immerhin nicht alleine
Mein PC:
Microsoft Windows 7 Ultimate 64bit
AMD Phenom II x4 945 Processor
4GB DDR3 RAM, Nvidia Geforce GTX 260
geht vllt das?(bin selber noch ein Anfänger)
@name Test
@inputs Player:entity
@outputs
@persist
@trigger all
interval(5)
if(Player:owner() ==1) {} else {Player:killPod()}
Hallo,
ich habe eine Frage zu dem folgenden EX2 Code:
Lua Code:
@name
@inputs S:wirelink Keyboard
@outputs Keyboard
@persist String:string@trigger all
if(first()) { S:writeCell(2041,1)}
if(Keyboard & ~Keyboard) { String += toChar(Keyboard)}
S:writeString(String,1,1,255255255,0,0) if(Keyboard == 13 ) { #Cleart den Screen und den String S:writeCell(2041,1) String = ""}
Und zwar kann ich mithilfe der ENTER-Taste den Bildschirm und den String clearen. Nun würde ich aber gerne mit der Taste "Nach Links Löschen (ANSI: 127)" den letzten Charakter vom String und dem Screen (Console) entfernen, kann mir jemand dabei helfen?
wirelink ftw
funtzt ungefähr so:
A:writeString(String,Zeile,Spalte)Code:@name Wirelink Console Screen @inputs A:wirelink A:writeString("Hallo",1,1) A:writeString("Lol",1,2) A:writeString("Der Owner hats kappiert",(1,3)
Achso der input wirelink muss an den output wirelink vom console screen.
Doppelpost:
Du hast den Pod als entity...
wenn dann musst du:
interval(5)
if(Pod:driver() == owner()){} else {Pod:killPod()} # Falls des nit funtz musste anstatt dirver() passenger() nehmen
Geändert von Ley-V (04.10.2009 um 10:27 Uhr) Grund: Doppelposts zusammengefügt
Weiß einer wie ich Strings aus mehreren Buchstaben in Buchstaben umformatiere die alle dann einen eigenen String bilde.?
Zitat von Golo
Einen eigenen String bilden? Du möchtest also, dass aus einem String mehrere Strings entstehen und daraus wieder einen String?
Zunächst mal brauchst du nichts unformatieren. Ich persönlich würde zu einem Array raten, dort kannst du relativ einfach einzelne Strings durch eine Schleife oder spezielle Anweisung verteilen.
Erstellen kannst du ein String-Array wiefolgt:
String = "Das,wird,ein,Array":explode(",") #In der Klammer gibst du also an, womit getrennt wird. Es würde auch ein Leerzeichen (" ") gehen.
Durch die Funktion ":explode(",")" weist du durch das Trennzeichen "," den String in einem Array zu. Beim o. g. Beispiel würde das dann so aussehen:
String:string(1) = "Das"
String:string(2) = "wird"
String:string(3) = "ein"
String:string(4) = "Array"
Naja und das ganze in einen neuen String setzen oder so geht dann so:
String:string(N) #Du schreibst also entsprechen Name:Typ(NUMMER IM ARRAY) und kannst somit alles im Array herausnehmen.
Also:
StringZwei = String:string(1) + String:string(2) usw.
EDIT: Ich habe es so noch nicht getestet, habe es nur Theoretisch erfasst. Also müsstest du schauen ob es so funktioniert.
Geändert von TrAx (05.10.2009 um 20:38 Uhr)
Ich buddel mal den Thread aus, denn ich hänge seit Stunden an einer Idee, die ich nicht umsetzen kann, denn ich habe trotz mehrmaligem Lesen der E2-Wiki und meinem krampfhaften Versuch, mit meinem bescheidenem Englisch das Wiremod-Forum durchzusuchen keinen Ansatz gefunden.
Der Hintergrund: Ich möchte alle Entitys in der Nähe meines E2-Chips ermitteln und mir 2 ganz bestimmte rauspicken und in 2 Variablen ablegen. Nämlich einen Asgard-Teleporter und ein wired Numpad.
Meine Ansatz:
Mit Var1=List[1,entity] kann ich nun das naheste Entity ermitteln und mit Var2=List[2,entity] das nächste, soweit ok. Aber das kann sich durch Zufall ja mal ändern, dass die vertauscht sind oder gar etwas anderes in den Such-Bereich gerät.PHP-Code:
runOnTick(1)
findInSphere(entity():pos(),50)
List=findToArray()
Leider konnte ich nirgendwo nun rauslesen, wie man ein komplettes Array nach bestimmtem Inhalt durchsuchen kann, also dass ich nach "transporter" und "gmod_wire_numpad" suchen kann und die dazugehörigen Indizes bekomme. Dazu kommt noch, dass ja immer noch vorher eine ID im Namen steht, die sich ebenfalls unter Umständen verändert.
Ich bin sicher, die Lösung ist so simpel dass ich hinterher in den Boden versinken könnte, aber ich komme nicht drauf. Kann mir da jemand weiterhelfen?
_______________________
Hat sich erledigt, ich bin nun selbst darauf gekommen. War wirklich so einfach, dass ich schreien könnte.
Für, die, die es wissen möchten und ggf. gebrauchen können:
PHP-Code:
Count=1,IndexT=0,IndexN=0
while(Count<=List:count()){
if (List[Count,entity]:type()=="transporter"){
IndexT=Count}
if (List[Count,entity]:type()=="gmod_wire_numpad"){
IndexN=Count}
Count++
}
Teleporter=List[IndexT,entity]
Numpad=List[IndexN,entity]
Geändert von Hidden Evil (27.12.2009 um 00:10 Uhr)