GM online board és zenekvíz quest!

Indította username, 2011-12-06, 20:15:23

2011-12-06, 20:15:23 Utolsó szerkesztés: 2011-12-06, 20:52:19 Szerző: [MOD]Wolfy
~Összevonva Wolfy
Sziasztok. Hoztam egy jó dolgot nektek. A neve GM Online Board. Hogy mit is takar ez? A kép mindent elárul.



Ez playereknél is működik. Nos, először is töltsük le ezt: http://www.multiupload.com/R94E13A8H8

Először is csomagoljuk ki a root.eix és root.epk fájlokat. Ha megvagyunk, nyissuk meg szövegszerkesztő programmal a game.py fájlt.
Ezt másoljuk bele:

def OnRecvWhisper(self, name, line):
      Gamemaster1 = constInfo.GM1Name
      Gamemaster2 = constInfo.GM2Name
      Gamemaster3 = constInfo.GM3Name
      Gamemaster4 = constInfo.GM4Name
      pname = player.GetName()
      
      if line[-21:] == "Hallo bist du online?" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
         net.SendWhisperPacket(name, "Yes I am online")
         return
         
      if line[-15:] == "Yes I am online" and name == (Gamemaster1) != -1:
         constInfo.GM1Online = 1
         chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " ist online")
         return
   
      if line[-15:] == "Yes I am online" and name == (Gamemaster2) != -1:
         constInfo.GM2Online = 1
         chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " ist online")
         return

      if line[-15:] == "Yes I am online" and name == (Gamemaster3) != -1:
         constInfo.GM3Online = 1
         chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " ist online")
         return

      if line[-15:] == "Yes I am online" and name == (Gamemaster4) != -1:
         constInfo.GM4Online = 1
         chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " ist online")
         return
      
      if line[-(12+len(name)+35):] == "Der Spieler " + name + " möchte Kontakt mit ihnen aufnehmen" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
         chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
         self.interface.RecvWhisper(name)
         net.SendWhisperPacket(name, "Bitte warte einen Augenblick, ich bin gleich für Sie da!")
         return         
      else:
         chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
         self.interface.RecvWhisper(name)




Hogy hova is másoljuk? A legvégére. A legutolsó sor végére kattintsunk, és nyomjunk kétszer entert. Nyomjunk kétszer balra nyilat, ezzel állunk be a def sor alá. Ha beillesztettük, menjünk a fájlt legelejére.

Egy kicsivel lejjebb látsz egy ilyet:

class GameWindow(ui.ScriptWindow):
   canQuestLettersShow = 1
   def __init__(self, stream):

az utolsó self.timeLine.SetPosition  sor alár írjuk be a következőket:


onPressKeyDict[app.DIK_F4]   = lambda : self.__PressQuickSlot(7)


onPressKeyDict[app.DIK_F5]   = lambda : self.__KontaktBoard()


self.evo2boardDlg = uiEvo2Board.MenuDialog()

Most menjünk le megint a legaljára, és illesszünk be a következőt:

def __KontaktBoard(self):
      self.evo2boardDlg.Show()
      self.evo2boardDlg.SetTop()


Most menjünk a legtetejére, és az import stringCommander vagy a legutolsó import alá írjük be a következőt:

import uiEvo2Board


Most mentsük el a fájlt, de előtte csináljunk biztonsági mentést róla. Nyissuk meg a costinfo.py fájlt.

Írjuk be a legtetejére a következőt:

GM1Online = 0
GM2Online = 0
GM3Online = 0
GM4Online = 0

GM1Name = "InYourBack"
GM2Name = "[LOWBOB]RealFreak"
GM3Name = "[CRAZY]Passy305"
GM4Name = "[IMBA]Crank"


Ha ezzel megvagyunk, mentsük el a fájlt, de erről is készítsünk biztonsági másolatot.
Nyissuk meg az uisystem.py fájlt. Nyomjunk egy CTRL+F -et, és keressük meg a következőt: __ClickChangeCharacterButton(self):


Töröljük ki a self.Close() -t. Helyére illesszük be a következőt:

      constInfo.Aktualisieren = 0
      constInfo.GM1Online = 0
      constInfo.GM2Online = 0
      constInfo.GM3Online = 0
      constInfo.GM4Online = 0




Ha ezzel is megvagyunk, mentsük el, csomagoljuk vissza a root fájlokat, és készen is vagyunk. Ez az első ilyen témám, szerintem ahhoz képest elég jó lett :)

Ha valamit nem értesz, vagy nem tudsz, természetesen írj egy PM-et. Sok sikert hozzá :)

Sziasztok. Hoztam nektek egy OX-hoz hasonló kvízt. GM-ek tudják elindítani Uriel-nél. A legvégén a koord, koord -ot írd át valamelyik map koordinátájára. Ez lehet az ox is. Lefordítani gondolom letudjátok :)  Mentsd el soundquiz.quest néven, és töltsd fel FTP-re a quest mappába. Írd bele a locale_list vagy Index fájlba. Ezután /reload q   Remélem működik, nem teszteltem.

Quest:

quest musicquiz begin
    state start begin
      when value.chat."Musicquiz starten" begin with pc.is_gm begin
        say("Möchtest du das Musicquiz starten?")
        say("")
        local auswahl = select ("Ja", "Nein")
        if auswahl == 2 then
          return
        elseif auswahl == 1 then
          pc.setqf(mq, 1)
          notice_all("Das Music Quiz wurde gestartet begebt euch zu Uriel")
          notice_all("um daran teilzunehmen.")
        end
      end
      
      when value.chat."Musicquiz beenden" begin with pc.is_gm begin
        say("Möchtest du das Musicquiz beenden?")
        say("")
        local ending = select ("Ja", "Nein")
        if ending  == 1 with pc.get_setqf(mq, 1 then
          say("Du hast das Event beendet.")
          pc.setqf(mq, 0)
        else pc.get_setqf(mq, 0) then
          say("Das Event ist nicht gestartet.")
        elseif ending == 2 then
          return
        end
      end
      
      when uriel.chat("Das Musicquiz") with pc.get_setqf(mq, 1) begin
        say("Möchtest du am Quiz teilnehmen?")
        say("")
        local wahl = select ("Ja", "Nein")
        if wahl == 2 then
          say("Schade vielleicht ein ander mal.")
          return
        elseif wahl == 1 then
          pc.warp(koord, koord)
        end
      end
      
      when login with pc.get_map_index() == xxx and pc.get_setqf(mq, 1) begin
        cmdchat("pedosong.mp3")
        notice("Willkommen bei der Musicquizmap von DEIN SERVER")
        notice("In 2 Minuten wird das Event starten.")
        timer(mq, 120)
      end
      
      when mq.timer begin
        notice("Das Event startet nun, sammelt euch bitte in der Mitte")
        notice("ihr habt dazu eine Minute Zeit. Vergesst nicht eure")
        notice("Musicvolume in den Spieloptionen auf Maximal zu setzen.")
        notice("Spieler die Schummeln werden laut unserer Regeln bestraft,")
        notice("zeigt Fairness und können.")
        timer(waiting, 60)
      end
      
      when waiting.timer begin
        notice("Da sich nun alle Spieler hoffentlich versammelt haben,")
        notice("geht es nun endlich mit dem Quiz los")
        timer(begin, 30)
      end
      
      when begin.timer begin
        pc.setqf(mq, 2)
        notice("Ihr werdet nun ein Lied abgespielt bekommen wobei ihr raten müsst")
        notice("von welchem Produzent das Lied gemacht worden ist.")
        notice("Dabei müsst ihr zu demjenigen Teamler laufen")
        notice("der euch zwischen Ja und Nein führt.")
        timer(lied1, 45)
      end
      
      when lied1.timer begin
        cmdchat("lied1.mp3")
        notice("Wenn das Lied von Fler ist geht zum Teamler")
        notice("der euch sagt das dies richtig ist andernfalls")
        notice("geht zum Teamler der zu euch sagt das es Falsch ist.")
        timer(lied2, 45)
      end
      
      when lied2.timer begin
        cmdchat("lied2.mp3")
        notice("Wenn das Lied von Nazar ist geht zum Teamler")
        notice("der euch sagt das dies richtig ist andernfalls")
        notice("geht zum Teamler der zu euch sagt das es Falsch ist.")
        timer(lied3, 45)
      end
    end
end