The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Some Multi-Commands
Author Message
Donty
Apprentice
*

Posts: 3
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jan 2013
Reputation: 0

Skariatain

Post: #1
Some Multi-Commands
Sry my bad English Smile Here some "Multi Commands", Comments and Messages are in German

Code:
[PLEVEL 2]
telem

[PLEVEL 3]
colorm
nudgem

[PLEVEL 4]
removem
movem

[PLEVEL 7]
f_telem
f_colorm_pick

[FUNCTION movem] //Bewegt NPC oder Gegenstand zur Targ Position oder Himmelsrichtung
IF <SRC>!=<UID>
    SRC.SMSG Usage: .movem
    RETURN
ENDIF
IF (STRMATCH(N*,<ARGV[0]>)) || (STRMATCH(E*,<ARGV[0]>)) ||(STRMATCH(S*,<ARGV[0]>)) || (STRMATCH(W*,<ARGV[0]>))
    IF <ARGV> < 2
        TARGETF movem <ARGV[0]>, 1
        SMSG Was willst du bewegen?
        RETURN 1
    ELSEIF <ARGV> < 3
        REF1=<ARGO.UID>
        IF !<REF1>
            SMSG Du musst ein Objekt waehlen
            TARGETF movem <ARGV[0]>
            RETURN 1
        ENDIF
        IF (<REF1.ISITEM>)
            IF (<REF1.CONT>)
                IF !(<REF1.TOPOBJ.ISITEM>) && (<REF1.TOPOBJ.ISPLAYER>)
                    IF ((<REF1.TOPOBJ.ACCOUNT.PLEVEL> > <ACCOUNT.PLEVEL>) || (<REF1.TOPOBJ.TAG0.OWNER> == 1)) && (<REF1.TOPOBJ.UID> != <SRC.UID>)
                        SMSG Deine Rechte reichen nicht aus um dein Ziel zu bewegen!
                        TARGETF movem <ARGV[0]>
                        RETURN 1
                    ENDIF
                ENDIF
            ENDIF
        ELSE
            IF (<REF1.ISPLAYER>)
                IF ((<REF1.ACCOUNT.PLEVEL> > <ACCOUNT.PLEVEL>) || (<REF1.TAG0.OWNER> == 1)) && (<REF1.UID> != <SRC.UID>)
                    SMSG Deine Rechte reichen nicht aus um dein Ziel zu bewegen!
                    TARGETF movem <ARGV[0]>
                    RETURN 1
                ENDIF
            ENDIF
        ENDIF
        REF1.MOVE <ARGV[0]>
        SMSG Was willst du bewegen?
        TARGETF movem <ARGV[0]>, 1
        RETURN 1
    ENDIF
ENDIF

IF <ARGV> < 1
    TARGETF movem 1
    SMSG Was willst du bewegen?
ELSE
    IF <ARGV> < 2
        REF1=<ARGO.UID>
        IF !<REF1>
            SMSG Du musst ein Objekt waehlen
            TARGETF movem 1
            RETURN 1
        ENDIF
        IF (<REF1.ISITEM>)
            IF (<REF1.CONT>)
                IF !(<REF1.TOPOBJ.ISITEM>) && (<REF1.TOPOBJ.ISPLAYER>)
                    IF ((<REF1.TOPOBJ.ACCOUNT.PLEVEL> > <ACCOUNT.PLEVEL>) || (<REF1.TOPOBJ.TAG0.OWNER> == 1)) && (<REF1.TOPOBJ.UID> != <SRC.UID>)
                        SMSG Deine Rechte reichen nicht aus um dein Ziel zu bewegen!
                        TARGETF movem 1
                        RETURN 1
                    ENDIF
                ENDIF
            ENDIF
        ELSE
            IF (<REF1.ISPLAYER>)
                IF ((<REF1.ACCOUNT.PLEVEL> > <ACCOUNT.PLEVEL>) || (<REF1.TAG0.OWNER> == 1)) && (<REF1.UID> != <SRC.UID>)
                    SMSG Deine Rechte reichen nicht aus um dein Ziel zu bewegen!
                    TARGETF movem 1
                    RETURN 1
                ENDIF
            ENDIF
        ENDIF
        SMSG Wohin soll <ARGO.NAME> bewegt werden?
        TARGETFG movem 1,<argo.uid>
    ELSE
        REF2=<ARGV[1]>
        REF2.P <TARGP>
        REF2.UPDATE
        SMSG Was willst du bewegen?
        TARGETF movem 1
    ENDIF
ENDIF

[FUNCTION colorm] //Bewegt NPC oder Gegenstand zur Targ Position
IF <UID>!=<SRC.UID>
    SMSG Usage: .colorm 0455
    RETURN 1
ENDIF
IF !<ARGV[0]>
    SMSG Von welchem Gegenstand willst Du die Farbe uebernehmen?
    TARGETFG f_colorm_pick
    RETURN 1
ENDIF

IF !<ISNUM <ARGV[0]>>
    SMSG Du musst einen gueltigen Farbcode angeben
    RETURN 1
ELIF <ARGV[0]> > 3000
    SMSG Du musst einen gueltigen Farbcode angeben
    RETURN 1
ELIF <ARGV[0]> < 0
    SMSG Du musst einen gueltigen Farbcode angeben
    RETURN 1
ELIF !<ARGV[1]>
    SMSG Welchen Gegenstand willst Du mit dem Farbcode <ARGV[0]> faerben?
    TARGETFG colorm <ARGV[0]>,1

ELSE
    REF1=<ARGO.UID>
    IF !<REF1.ISITEM>
        SMSG Du kannst nur Gegenstaende faerben
        RETURN 1
    ENDIF
    REF1.COLOR <ARGV[0]>
    TARGETFG colorm <ARGV[0]>,1
    SMSG Welchen Gegenstand willst Du mit dem Farbcode <ARGV[0]> faerben?
ENDIF


[FUNCTION f_colorm_pick]
REF1=<ARGO.UID>
IF !<REF1.ISITEM>
    SMSG Du kannst nur Gegenstaende faerben
    RETURN 1
ENDIF
SMSG Welchen Gegenstand willst Du mit dem Farbcode <REF1.COLOR> faerben?
TARGETFG colorm <REF1.COLOR>,1    
RETURN 1

[FUNCTION nudgem] // Hoehe aendern!
IF <UID>!=<SRC.UID>
    SMSG Usage: .nudgem 1 oder .nudgem -1
    RETURN 1
ENDIF
IF !<ISNUM <ARGV[0]>>
    SMSG Du musst einen gueltigen Zahl angeben
    RETURN 1
ELIF <ARGV[0]> > 50
    SMSG Keine Zahl ueber 50
    RETURN 1
ELIF <ARGV[0]> < -50
    SMSG Keine Zahl unter -50
    RETURN 1
ELIF !<ARGV[1]>
    SMSG Welchen Gegenstand willst Du in der Hoehe um <EVAL <ARGV[0]>> veraender?
    TARGETFG nudgem <ARGV[0]>,1
ELSE
    REF1=<ARGO.UID>
    IF !<REF1.ISITEM> && !<REF1.ISCHAR>
        SMSG Du kannst nur Gegenstaende oder Charaktere in der Hoehe veraendern!
        TARGETFG nudgem <ARGV[0]>,1
        RETURN 1
    ENDIF
    IF (<EVAL <REF1.Z> + <ARGV[0]>> > 120)
        SMSG Der Gegenstande waere mit der angegebenen Hoehe zu hoch! (>120)
        TARGETFG nudgem <ARGV[0]>,1
        RETURN 1
    ELIF (<EVAL <REF1.Z> + <ARGV[0]>> < -120)
        SMSG Der Gegenstande waere mit der angegebenen Hoehe zu tief!  (<120)
        TARGETFG nudgem <ARGV[0]>,1
        RETURN 1
    ENDIF
    REF1.NUDGEUP <ARGV[0]>
    TARGETFG nudgem <ARGV[0]>,1
    SMSG Welchen Gegenstand willst Du in der Hoehe um <EVAL <ARGV[0]>> veraender?
ENDIF

[FUNCTION removem] // Multi Remove Befehl
IF !<ARGS>
    SMSG Was willst du loeschen?
    TARGETF removem 1
ELSE
    REF1=<ARGO.UID>
    IF !<REF1>
        SMSG Du musst ein Objekt waehlen
        TARGETF removem 1
        RETURN 1
    ENDIF
    IF (<REF1.ISITEM>)
        IF (<REF1.CONT>)
            IF !(<REF1.TOPOBJ.ISITEM>) && (<REF1.TOPOBJ.ISPLAYER>)
                IF ((<REF1.TOPOBJ.ACCOUNT.PLEVEL> > <ACCOUNT.PLEVEL>) || (<REF1.TOPOBJ.TAG0.OWNER> == 1)) && (<ARGO.TOPOBJ.UID> != <SRC.UID>)
                    SMSG Du darfst diesen Gegenstand nicht entfernen!
                    TARGETF removem 1
                    RETURN 1
                ENDIF
            ENDIF
        ENDIF
    ELSE
        IF (<REF1.ISPLAYER>)
            SMSG Falsches Ziel - Um einen Spielercharakter zu loeschen benutze .remove 1
            TARGETF removem 1
            RETURN 1
        ENDIF
    ENDIF
    REF1.REMOVE
    SMSG Was willst du loeschen?
    TARGETF removem 1
ENDIF


[FUNCTION telem]
TARGETFG f_telem

[FUNCTION f_telem]
IF (<TARGP.X> > 0) && (<TARGP.Y> > 0)
    IF !<ISCHAR>
        RETURN
    ENDIF
    IF !<ISPLAYER>
        RETURN
    ENDIF
    IF <ACCOUNT.PLEVEL> < 3
        RETURN
    ENDIF
    DIR <f_direction <TARGP>>
    GO <TARGP>
    TARGETFG f_telem
ENDIF

[EOF]

Bist du zornig, zähl bis vier, hilft das nichts dann explodier!
Mark Twain
05-18-2013 11:49 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)