Domanda [HELP] SCRIPT Gara Ox

Stato
Discussione chiusa ad ulteriori risposte.

TwlightTavern

Utente Silver
26 Novembre 2010
69
23
0
80
Ultima modifica:
Ciao
avrei un problema con la gara ox (uso i file 34083)
Lo script che uso è questo qui
Codice:
--**
--** Script gara OX
--** by BlackYuko Skype: manu___88
--**

quest oxevent begin
    state start begin
        when 20011.chat."GM: Mappa Gara OX" with pc.is_gm() begin
            say_title("Uriel")
            say("Vuoi andare nella mappa della gara OX?[ENTER]")
            local s = select ("Si", "No")
            if s == 2 then
                return
            end
            say_title("Uriel")
            say("Ora verrai teletrasportato.[ENTER]")    
            wait()        
            command("go ox")        
        end
        
        when 20011.chat."Gara OX" begin
            say_title("Uriel")
            say("Conosci la gara OX?") 
            say("E' una sfida molto particolare in cui si premia") 
            say("la conoscenza! Giocare e' molto semplice, per")
            say("rispondere alle domande basta mettersi")
            say("sopra al simbolo corretto![ENTER]")
            if game.get_event_flag("oxevent_status") == 0 then 
                say("In questo momento purtroppo pero' non e' attiva.") 
                say("Riprova piu' tardi quando riceverai un avviso.[ENTER]") 
            elseif game.get_event_flag("oxevent_status") == 1 then 
                say("La gara OX sta per cominciare! Vuoi partecipare?[ENTER]")  
                local s = select ("Partecipa", "Assisti", "No, grazie") 
                if s == 3 then
                    return
                elseif s == 1 then 
                    say_title("Uriel") 
                    say("Molto bene, ora ti teletrasporto nella mappa.[ENTER]") 
                    wait() 
                    pc.warp(896500, 24600) 
                elseif s == 2 then 
                    say_title("Uriel")
                    say("Come? Vuoi solo assistere alla gara?") 
                    say("Come preferisci, ora verrai portato nella mappa.[ENTER]") 
                    wait() 
                    pc.warp(896300, 28900) 
                end 
            elseif game.get_event_flag("oxevent_status") == 2 then     
                say("Sei arrivato troppo tardi.") 
                say("la gara e' gia' cominciata, ma se vuoi") 
                say("puoi assistere alla competizione.[ENTER]") 
                local s = select ("Ok" ,"No, grazie") 
                if s == 2 then 
                    return
                end
                say_title("Uriel")
                say("Molto bene, ora ti teletrasporto nella mappa.[ENTER]") 
                wait() 
                pc.warp(896300, 28900) 
            end 
        end

        when 20080.chat."Controllo Gara OX" with pc.is_gm() begin
            local stat = oxevent.get_status() 
            if stat == 0 then 
                say_title("Org. Gara OX")
                say("Seleziona l'opzione:[ENTER]") 
                local s = select ("Inizia Gara OX", "Annulla") 
                if s == 1 then 
                    local v = oxevent.open() 
                    if v == 0 then 
                        say_title("Org. Gara OX")
                        say("Caricamento delle domande fallito.") 
                        say("Controlla il file delle domande.[ENTER]") 
                        return
                    elseif v == 1 then 
                        say_title("Org. Gara OX")
                        say("Caricamento delle domande concluso con successo.") 
                        say("Gli utenti possono ora partecipare all'evento.[ENTER]") 
                        notice_all("La gara OX è iniziata!") 
                        notice_all("Potete parlare con il saggio Uriel") 
                        notice_all("per partecipare.") 
                    else 
                        say_title("Org. Gara OX")
                        say("Ci sono errori operativi.[ENTER]")
                    end 
                end 
            elseif stat == 1 then 
                say_title("Org. Gara OX")
                say("Evento Inizializzato corretamente.") 
                say("Numero partecipanti: "..oxevent.get_attender()..".") 
                say("Selezionare l'opzione:[ENTER]") 
                local s = select ("Blocca entrate", "Indietro") 
                if s == 1 then 
                    oxevent.close() 
                    say_title("Org. Gara OX")
                    say("Entrate per la gara OX bloccate.[ENTER]")
                    notice_all("Entrate per la gara OX chiuse")
                    notice_all("Non sono accettati ulteriori concorrenti") 
                    notice_all("E' solo possibile fare da spettatori.[ENTER]")  
                end 
            elseif stat == 2 then 
                say_title("Org. Gara OX")
                say("Evento iniziato, selezionare l'opzione:[ENTER]") 
                local s = select ("Poni domande", "Termina partita", "Fine evento", "Annulla") 
                if s == 1 then 
                    local v = oxevent.quiz (1, 30) 
                    if v == 0 then 
                        say_title("Org. Gara OX")
                        say("Caricamento domanda fallita.[ENTER]") 
                    elseif v == 1 then 
                        say_title("Org. Gara OX")
                        say("Domanda caricata con successo.") 
                    else 
                        say_title("Org. Gara OX")
                        say("Ci sono errori operativi.[ENTER]")
                    end 
                elseif s == 2 then 
                    oxevent.end_event()
                    notice_all("Gara OX terminata") 
                    notice_all("Fra poco ne ricominciera' una nuova") 
                    notice_all("Attendete da Uriel")
                    say_title("Org. Gara OX")
                    say("Gara OX terminata.[ENTER]") 
                elseif s == 3 then 
                    oxevent.end_event()
                    notice_all("Gara OX terminata") 
                    notice_all("Verrete riportati in citta'") 
                    say_title("Org. Gara OX")
                    say("Gara OX terminata.[ENTER]") 
                end 
            elseif stat == 3 then 
                say_title("Org. Gara OX")
                say("E' in corso una domanda...[ENTER]") 
            else 
                say_title("Org. Gara OX")
                say("Ci sono errori operativi.[ENTER]")
            end 
        end

        when 20080.chat."Distribuzione premi per la gara OX" with pc.is_gm() begin
            local stat = oxevent.get_status() 
            say_title("Org. Gara OX")
            if stat == 0 then
                say("La gara OX non e' attiva.")
                say("Non puoi consegnare premi.[ENTER]")
                return
            end
            say("Distribuisci i premi della gara OX") 
            say("Inserisci l'ID dell'oggetto da") 
            say("distribuire:[ENTER]") 
            local item_vnum = tonumber(input())
            if item_vnum == nil or item_vnum <= 0 then
                say("Il valore inserito non e' valido.[ENTER]")
                return
            end
            say_title("Org. Gara OX")
            say("Inserire la quantita' dell'oggetto") 
            say("da distribuire:[ENTER]") 
            local item_count = tonumber(input())
            if item_count == nil or item_count <= 0 then
                say("Il valore inserito non e' valido.[ENTER]")
                return
            end
            oxevent.give_item(item_vnum, item_count)
            say_title("Org. Gara OX")
            say("Hai consegnato i premi ai "..oxevent.get_attender().." vincitori.[ENTER]")
            notice_all("Sono stati consegnati i premi ai vincitori!")
        end
    end
end

Quando parlo con l'NPC 20080 queste qui sono le 2 opzioni
"Controllo Gara OX"
"Distribuzione premi per la gara OX"

Se clicco o su una o su l'altra succede sempre che mi si chiude la "quest" e non succede niente come se avessi fatto per esempio annulla
Ho il file oxquiz.lua con le domande nella cartella singapore

Syserr Game99
Codice:
SYSERR: Mar 11 22:23:29 :: RunState: LUA_ERROR: [string "oxevent"]:1: attempt to call field `get_status' (a nil value)
SYSERR: Mar 11 22:23:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest oxevent.start click
SYSERR: Mar 11 22:23:29 :: FuncCheckWarp: Warp NPC name wrong : vnum(10105) name(Gautama)
SYSERR: Mar 11 22:23:42 :: FuncCheckWarp: Warp NPC name wrong : vnum(10105) name(Gautama)
 
Potrebbe essere impostata male la mappa.. controlla che l'index (nella cartella map) e il settings.lua (nella cartella italy/gemany/ecc...) siano configurati correttamente. Non credo sia un problema di client se no ti avrebbe teleportato e successivamente avrebbe buggato il pg.
Il mio è un suggerimento, tuttavia non sono sicuro al 100% di quello che ti ho detto
 
Ancora non ho risolto :(
questi sono i syserr del game99

SYSERR: Mar 11 22:23:29 :: RunState: LUA_ERROR: [string "oxevent"]:1: attempt to call field `get_status' (a nil value)
SYSERR: Mar 11 22:23:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest oxevent.start click
SYSERR: Mar 11 22:23:29 :: FuncCheckWarp: Warp NPC name wrong : vnum(10105) name(Gautama)
SYSERR: Mar 11 22:23:42 :: FuncCheckWarp: Warp NPC name wrong : vnum(10105) name(Gautama)
 
Ultima modifica:
Al inizio quest invece di "quest oxevent begin" metti "quest oxevent_manager begin".

Motivo: da te la funzione del check o/x status è impostata come funzione creata dal quest.
 
Ultima modifica:
Al inizio quest invece di "quest oxevent begin" metti "quest oxevent_manager begin".

Motivo: da te la funzione del check o/x status è impostato come funzione creata dal quest.
Grazie mille! ora posso avviare la ox, pero quando lo faccio mi da l'errore della quest "Caricamento domande fallito. Controlla il file delle domande"
Eppure io ce l'ho il file .lua con le domande... quale potrebbe essere il problema?

EDIT: ok risolto, non legge le domande con parole accentate. Grazie ancora iWizz ;D
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom