Petition Reader Script

*Created by Taz.*

```
Using "RC_Core.rcm"
; By Naddaz on TAZCO

Function Main()
;GM petition reader
;Need to add a rank check for the delete option.
;Can look at a list of names that made the petitions and then input a name to look at
;there petition.
;Right now any gm will be able to run this.

Player = Actor()
Target = Contextactor()
PGmRank$ = Attribute(Player, "Gm Rank") ;Player GM Rank check.

If (PlayerIsGM(Player)) ;check if player is a gm will change to gm rank

    If (PGmRank <= 2) ;if gm is rank is <= 2 , don`t allow them to read petitions
        OutPut(Player, "You need a GM rank of 3 or higher to uses this command.")
    Return
     Endif

 ChatBox$ = OpenDialog(Player, Target, "GM Petition Reader")
 DialogOutPut(Player, ChatBox, "What would you like to do?", 230, 145, 23)
 GMOption$ = DialogInPut(Player, ChatBox, "Look for petition,Count players in list") ; can add more options here later.

     If (GmOption = 1)
      ;Check if there is any petitions available to look at.
     DialogOutPut(Player, Chatbox, "Please type the name of the player, to see there petition.", 230, 145, 23)
     PetEnter$ = Input(Player, "Enter name of player", "", 4)

       PetList$ = OpenFile("Petition List.txt")

       Repeat

       Nameinlist$ = ReadLine(PetList)

       DoEvents(10)
       EndRepeat = Eof(PetList)
      OutPut(Player, "Name in list " + Nameinlist, 230, 145, 23)

         If (Nameinlist = PetEnter)
            EndRepeat% = 0
            Eof(PetList)
            CloseFile(Nameinlist)
        Endif

       Until (EndRepeat = 0)
        CloseFile(PetList)

         If (Nameinlist = "") ; there is nothing in the list.
            DialogOutPut(Player, ChatBox, "There is no name in the list.", 230, 145, 23)
            Dialoginput(Player, ChatBox, "Close")
            CloseDialog(Player, ChatBox)
            Return
        Else ;there is a name in the list, check for file based on that name.
        ;NOTE will need to add in a count to see how many lines there is in the petition file.
        ;then tell gm and give an option to pick a line to read.
            CloseDialog(Player, ChatBox)
            ChatBox$ = OpenDialog(Player, Target, "GM Petition Reader")

             PetFile$ = OpenFile(+ PetEnter + "s petition.txt")

                 If (PetFile = 0)
                    DialogOutPut(Player, ChatBox, "There is no one in the list by that name.", 230, 145, 23)
                    DialogInPut(Player, ChatBox, "Close")
                    CloseDialog(Player, ChatBox)
                    CloseFile(PetFile)
                    Return
                Endif

             PetPlay2$ = ReadFile(+ PetEnter + "s petition.txt")
            PetPlay$ = Readline(PetPlay2)

             CloseFile(PetPlay2)
            CloseFile(PetFile)

             DialogOutPut(Player, ChatBox, "Would you like to see this petition?", 230, 145, 23)
            POption% = DialogInput(Player, ChatBox, "Yes,No")

                If (POption = 1) ;show petition
                    DialogOutPut(Player, ChatBox, + PetPlay, 230, 145, 23)
                    ;NOTE COuld add a gm rank to this so that only high gms can delete petitions.
                   GmOption$ = DialogInput(Player, ChatBox, "Close Leave petition,Delete petition")
                    If (GmOption = 1) ;leave petition in server.

                    Elseif (GmOption = 2) ;delete petition
                        DialogOutPut(Player, ChatBox, "ARE YOU SURE YOU WANT TO DELETE " + PetEnter + " PETITION?", 255, 0, 0)
                        GmOption1$ = DialogInput(player, ChatBox, "Yes,No")
                            If (GmOption1 = 1) ;delete petition

                                DeleteFile(+ PetEnter + "s petition.txt")
                                OutPut(Player, + PetEnter + "s petition.txt", 255, 23,13)
                                DialogOutPut(Player,ChatBox, "You have deleted a petiton.", 230, 145, 23)
                                DialogInput(Player, ChatBox, "Close")
                                CloseDialog(Player, ChatBox)
                                Return
                            Else ;Exit script
                                DoEvents(400)
                                CloseDialog(Player, ChatBox)
                                Return
                            Endif

                    Endif

                    CloseDialog(Player, ChatBox)
                    Return
               Else ; close this dialog
                    DoEvents(500)
                    CloseDialog(Player, ChatBox)
                    Return
               Endif

             DialogInput(Player, ChatBox, "Close")

             CloseDialog(Player, ChatBox)
        Endif
       CloseFile(PetList)

     ElseIf (GMOption = 2) ;Count players in list.
    ;Count players in the Petition list text file to output how many people there are.

      CloseDialog(Player, ChatBox)
      ChatBox$ = OpenDialog(Player, Target, "GM Petition Reader")

       PetList$ = OpenFile("Petition List.txt")

       NameCount% = 0 ;This will be added up for every repeat, total count will be amount of names in the list.
      DialogOutPut(PLayer, ChatBox, "Total names on petitions are as follows.", 230, 145, 23)
      Repeat
         EndRepeat = Eof(PetList)
        Nameinlist$ = ReadLine(PetList)

         DoEvents(250)
        ;EndRepeat = Eof(PetList)

         DialogOutPut(Player, ChatBox, + Nameinlist, 230, 145, 23)
        NameCount% = NameCount + 1

       Until (EndRepeat = 1)

     NameCount% = NameCount - 1 ;Take 1 away since it counts 1 blank space.

       CloseFile(Nameinlist)
      CloseFile(PetList)
      DialogOutput(Player, ChatBox, "There is a total of " + NameCount + " Names in the list.", 230, 145, 23)
      DialogInPut(Player, ChatBox, "Close")
      CloseDialog(Player, ChatBox)

     Endif
 Else ;player is not a gm
 OutPut(Player, "You are not a gm.",255, 0, 0)
 Return
 Endif

 End Function

```