ID:1201621
 
(See the best response by Kitsueki.)
Code:
    villchoose
name="????"
village="????"
level=87
icon='NPCs.dmi'
icon_state="????"
clan="Uchiha"
rank="????"
verb
Talk()
set src in oview(3)
if(usr.intut==19)
// alert(usr,"???: You can now pick your village..")
switch(alert("???: Anyways. Lets get started.", text) in list ("Leaf","Sand","Sound","Cloud"))
// if("Yes")
// switch(alert("???: Are you sure you want to skip the tutorial?",text) in list ("Leaf","Sand","Sound","Cloud"))
return
if("Leaf")
usr.village = "Leaf"
if("Sand")
usr.village = "Sand"
if("Sound")
usr.village = "Sound"
if("Cloud")
usr.village = "Cloud"
else


Problem description:
I don't really know how to make list coding work, I've never tried it and this is my first attempt and it's giving me all these errors and warinings.
alert() doesn't take lists. Its choices are a maximum of 3 buttons defined in its arguments.

input() is the proc that can show a list of choices.

Neither of them require a switch() statement to work.

The code you posted is a nonsensical mess.
 input("???: Anyways. Lets get started.", text) in list ("Leaf","Sand","Sound","Cloud"))


So something like this?
In response to Raven-BloodX
Best response
What is text? Otherwise, that would work. I suggest storing the village information within datums though, to give yourself future capability to expand on them.

VillageData
var
tmp/loc // use this for village spawn points
// other variables for assignment, such as village
village
Leaf
loc = list(10,10,1) // different points for each village
village = "Leaf"
Sand
loc = list(10,10, 2)
village = "Sand"
Sound
loc = list(10,10,3)
village = "Sound"
Cloud
loc = list(10,10,4)
village = "Cloud"
// no Mist? Not cool!

mob
VillChoose
name = "???"
village = "???"
level = 87
icon = 'NPCs.dmi'
icon_state = "????"
clan = "Uchiha"
rank = "???"
verb
Talk()
set src in oview(3)
if(usr.intut != 19) return
var list/villages = typesof(/VillageData) - /VillageData
var i = input("???: Anyways, let's get started.") in villages
var/VillageData/vdata = new i
for(var/v in vdata.vars) // we want to take values from out village
if(issaved(vdata.vars[v])) // make sure the variables save; not tmp
usr.vars[v] = vdata.vars[v] // transfer over the relevant variable values
var a = vdata.loc[1], b = vdata.loc[2], c = vdata.loc[3]
usr.loc = locate(a,b,c) // a,b,c are coordinates