2017-08-27 1 views
-1

J'ai cette erreur, ne trouve pas l'erreur.erreur .lua 'alors' attendu près de 'else'

local choice_revive = {function(player,choice) 
    local user_id = vRP.getUserId(player) 
    if user_id ~= nil then 
    vRPclient.getNearestPlayer(player,{10},function(nplayer) 
     local nuser_id = vRP.getUserId(nplayer) 
     if nuser_id ~= nil then 
     vRPclient.isInComa(nplayer,{}, function(in_coma) 
      if in_coma then 
      if vRP.tryGetInventoryItem(user_id,"medkit",1,true) else 
      vRP.tryGetInventoryItem(user_id,"smartwatch",1,true) 
      io.write("Smartwatch: Tilkalder Ambulance") 
       then 
       vRPclient.playAnim(player,{false,revive_seq,false}) -- anim 
       SetTimeout(15000, function() 
       vRPclient.varyHealth(nplayer,{50}) -- heal 50 
       end) 
      end 
      else 
      vRPclient.notify(player,{lang.emergency.menu.revive.not_in_coma()}) 
      end 
     end) 
     else 
     vRPclient.notify(player,{lang.common.no_player_near()}) 
     end 
    end) 
    end 
end,lang.emergency.menu.revive.description()} 

J'ai essayé de faire, et chercher l'erreur, mais sans chance. - Si quelqu'un peut le réparer, dites-moi s'il vous plaît.

+0

Confus '' else' et then' en 9 et 12 lignes, peut-être [ –

+0

Aucune lacune manifeste] (https://www.goodreads.com/quotes/ 21638-il-y-a-deux-manières-de-construire-un-logiciel-design-un). [Problème: vous avez une expression difficile à comprendre.] (Https://refactoring.guru/extract-variable) –

Répondre

1

si l'instruction, les fonctions et pour instruction doivent être terminées avec end.

ce code doit être comme ça

--Settings-- 
local Tunnel = module("vrp", "lib/Tunnel") 
local Proxy = module("vrp", "lib/Proxy") 

vRP = Proxy.getInterface("vRP") 
vRPclient = Tunnel.getInterface("vRP","vRP_smartwatch") 

if in_coma then 
    vRP.tryGetInventoryItem(user_id,"smartwatch",1,true) 
    io.write("Smartwatch: Tilkalder Ambulance") 
end 
function vRP.sendServiceAlert(sender, emergency,x,y,z, msg) 
    local service = services[service_name] 
    local answered = false 
    if service then 
    local players = {} 
    for k,v in pairs(vRP.rusers) do 
     local player = vRP.getUserSource(tonumber(k)) 
     -- check user 
     if vRP.hasPermission(k,service.alert_permission) and player ~= nil then 
     table.insert(players,player) 
     end 
    end 
    end 
end 
+0

Fichier: 2: tentative d'appel d'une valeur nulle (global 'module') –

+0

Ceci est un problème différent et devrait avoir une question différente. Vous devrez vérifier la documentation du système qui fournit l'environnement dans lequel s'exécutent vos scripts. Certains systèmes ne fournissent qu'un environnement «en bac à sable» dans lequel certains éléments du langage Lua sont cachés aux scripts. ** module ** est souvent caché dans un tel environnement. –