Domanda Script blocca teleporter

Stato
Discussione chiusa ad ulteriori risposte.

LegendDragon

Utente Emerald
1 Ottobre 2011
1,207
123
212
648
Salve ragazzi vorrei bloccare teleporter in una determinata mappa mi potete spiegare gentilmente come fare?
 
Ultima modifica:
Nello script di avvio del teleporter (che se ho capito bene è una letterina che usa quindi un when button or info ) metti un check del tipo:
Codice:
if pc.get_map_index() == mappadabloccare then
    Say("Non puoi usare il teleporter in questa mappa")
end

Inviato dal mio LG-H870 utilizzando Tapatalk
 
scusa ancora il disturbo
Occhio ho missato il return...

Codice:
if pc.get_map_index() == mappadabloccare then
    Say("Non puoi usare il teleporter in questa mappa")
    wait()
    return
end

scusa ancora il disturbo ma non riesco a far partire il tuo script per bloccare teleporter nella mappa questa è la mia quest puoi sisttemarla per piacere?

Codice:
quest teleporter_portatile begin
    state start begin
        when login or levelup with pc.get_level() > 1 begin
            set_state( "asd" )
        end
    end
    state asd begin
        when letter begin
            send_letter( "Teleporter portatile" )
        end
        when button or info begin
            say_title( "Teleporter portatile" )
            set_state( "asd" )
local ganja = select("Teleporter Villaggi", "Annulla")
if ganja == 1 then
say_title ( " Teleporter Villaggi" )
say ( "Benvenuto avventuriero." )
say ( "Vuoi viaggiare?" )
say ( "" )
say ( "" )
say ( "" )
local ceso = select ( "Si" ,  "No" )
if ceso == 2 then
say ( "Mi dispiace sara' per un altra volta." )
return
end
say ( "Bene ora devi scegliere la tua destinazione." )
villaggiz = select ( "Capitale" , "Commercio" , "Annulla" )
if 1 == villaggiz then
rossiz = select ( "Capitale" , "Annulla" )
if 1 == rossiz then
say ( "Ora verrai teletrasportato." )
wait ( )
pc . warp ( 958200 , 1401000 )
end

elseif 2 == villaggiz then
gialliz = select ( "Commercio" , "Annulla" )
if 1 == gialliz then
say ( "Ora verrai teletrasportato." )
wait ( )
pc . warp ( 631600 , 256000 )
end
end
return
end
end
end
end
 
Ultima modifica:
changelog:
-rimosso l'inutile cambio di state della quest
-rimossa ripetizione inutile delle domande cosa vuoi fare , dove andiamo , capitale, vuoi andare alla capitale
-formattazione del codice migliorata
-commento indicativo della chiamata dell'end
-aggiunto il check della mappa (cambia mappa_da_bloccare con il map index della mappa da bloccare)
-aggiunto il resend della letterina se scegli di uscire in qualsiasi punto dello script

Codice:
quest teleporter_portatile begin
    
    state start begin
    
    
        when letter begin
            send_letter( "Teleporter portatile" )
        end --when letter
        
        
        when button or info begin
            if pc.get_map_index() == mappa_da_bloccare then
                say("Mi dispiace , non puoi usare il teleporter in questa mappa!")
                wait()
                send_letter( "Teleporter portatile" )
                return
            
            end--if pc.get_map_index
            
            
            say_title ( " Teleporter Villaggi" )
            say ( "Benvenuto avventuriero." )
            say ( "Scegli la tua destinazione:" )
            say("")
            say("")
            villaggiz = select ( "Capitale" , "Commercio" , "Annulla" )
            
            if 1 == villaggiz then
                say("Sei sicuro di voler andare a: Capitale?")
                rossiz = select ( "Andiamo!" , "Annulla" )
                
                if 1 == rossiz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 958200 , 1401000 )
                
                else
                    say("Ok, sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
                
                end --if rossiz

            elseif 2 == villaggiz then
                say("Sei sicuro di voler andare a : Commercio")
                gialliz = select ( "Andiamo!" , "Annulla" )
                
                if 1 == gialliz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 631600 , 256000 )
                
                else
                    Say("Ok , sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
                
                end --if gialliz
            
            
            else
                Say("Ok , sarà per un'altra volta!")
                wait()
                send_letter( "Teleporter portatile" )
                
                
            end --if villaggiz
        
        end --button or info
        
        
    end    --state start end
end--quest end
 
changelog:
-rimosso l'inutile cambio di state della quest
-rimossa ripetizione inutile delle domande cosa vuoi fare , dove andiamo , capitale, vuoi andare alla capitale
-formattazione del codice migliorata
-commento indicativo della chiamata dell'end
-aggiunto il check della mappa (cambia mappa_da_bloccare con il map index della mappa da bloccare)
-aggiunto il resend della letterina se scegli di uscire in qualsiasi punto dello script

Codice:
quest teleporter_portatile begin
   
    state start begin
   
   
        when letter begin
            send_letter( "Teleporter portatile" )
        end --when letter
       
       
        when button or info begin
            if pc.get_map_index() == mappa_da_bloccare then
                say("Mi dispiace , non puoi usare il teleporter in questa mappa!")
                wait()
                send_letter( "Teleporter portatile" )
                return
           
            end--if pc.get_map_index
           
           
            say_title ( " Teleporter Villaggi" )
            say ( "Benvenuto avventuriero." )
            say ( "Scegli la tua destinazione:" )
            say("")
            say("")
            villaggiz = select ( "Capitale" , "Commercio" , "Annulla" )
           
            if 1 == villaggiz then
                say("Sei sicuro di voler andare a: Capitale?")
                rossiz = select ( "Andiamo!" , "Annulla" )
               
                if 1 == rossiz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 958200 , 1401000 )
               
                else
                    say("Ok, sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
               
                end --if rossiz

            elseif 2 == villaggiz then
                say("Sei sicuro di voler andare a : Commercio")
                gialliz = select ( "Andiamo!" , "Annulla" )
               
                if 1 == gialliz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 631600 , 256000 )
               
                else
                    Say("Ok , sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
               
                end --if gialliz
           
           
            else
                Say("Ok , sarà per un'altra volta!")
                wait()
                send_letter( "Teleporter portatile" )
               
               
            end --if villaggiz
       
        end --button or info
       
       
    end    --state start end
end--quest end


Non viene visualizzata + la quest in game
 
Ultima modifica:
Non viene visualizzata + la quest in game
Controlla nella cartella object se hai l'output di compilazione

Inviato dal mio LG-H870 utilizzando Tapatalk
Messaggio unito automaticamente:

Non viene visualizzata + la quest in game

Un mio collega di Team mi ha fatto notare che nello state "start" non si può usare il when letter per mandare la letterina , ecco perchè va cambiato il letter in login.

usa questa :
Codice:
quest teleporter_portatile begin
    
    state start begin
    
    
        when login begin
            send_letter( "Teleporter portatile" )
        end --when letter
        
        
        when button or info begin
            if pc.get_map_index() == mappa_da_bloccare then
                say("Mi dispiace , non puoi usare il teleporter in questa mappa!")
                wait()
                send_letter( "Teleporter portatile" )
                return
            
            end--if pc.get_map_index
            
            
            say_title ( " Teleporter Villaggi" )
            say ( "Benvenuto avventuriero." )
            say ( "Scegli la tua destinazione:" )
            say("")
            say("")
            villaggiz = select ( "Capitale" , "Commercio" , "Annulla" )
            
            if 1 == villaggiz then
                say("Sei sicuro di voler andare a: Capitale?")
                rossiz = select ( "Andiamo!" , "Annulla" )
                
                if 1 == rossiz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 958200 , 1401000 )
                
                else
                    say("Ok, sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
                
                end --if rossiz

            elseif 2 == villaggiz then
                say("Sei sicuro di voler andare a : Commercio")
                gialliz = select ( "Andiamo!" , "Annulla" )
                
                if 1 == gialliz then
                    say ( "Ora verrai teletrasportato." )
                    wait ( )
                    pc . warp ( 631600 , 256000 )
                
                else
                    Say("Ok , sarà per un'altra volta!")
                    wait()
                    send_letter( "Teleporter portatile" )
                
                end --if gialliz
            
            
            else
                Say("Ok , sarà per un'altra volta!")
                wait()
                send_letter( "Teleporter portatile" )
                
                
            end --if villaggiz
        
        end --button or info
        
        
    end    --state start end
end--quest end
 
mi fa piacere vedere che esistono ancora i miei vecchi script <.< peccato gli state e il modo di scriverli un poco all antica di quando ancora non si avevano le conoscenze attuali, PERO' mi fa comunque piacere vederli girare .. se hai problemi mandami un pm
 
No problem, sono tornato da poco, dopo 5 anni e ho notato un grande ma grande cambiato della community, non è piu quella di una volta dove ci si aiutava di piu ora tutti pensano solo a vendere e vende anche le cose piu banali .. i paesi esteri sono molto piu avanti proprio perche si aiutano a vicenda senza chiedere 1 centesimo .. e mi da pena questa cosa! io sono a disposizione per quel che posso fare.
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom