Ergebnis 1 bis 4 von 4

Thema: Plugin für Assmod (Bitte Code Überprüfen)

  1. #1

    Standard Plugin für Assmod (Bitte Code Überprüfen)

    Hi, ich bin derzeit an einem Plugin für Assmod dran. Erhalte aber jedes mal ein eof Fehler, den ich nicht erkenne. Ich bitte darum, das einer der mehr Ahnung in Lua hat als ich, mal über den Code zu gucken und mir zu sagen ob es so funktionieren kann.
    Vielen Dank
    Mfg Tight
    Lua Code:
    1.  
    2. local PLUGIN = {}
    3.  
    4. PLUGIN.Name = "Setspawn"
    5. PLUGIN.Author = "_DrTight"
    6. PLUGIN.Date = "29th Juni 2008"
    7. PLUGIN.Filename = PLUGIN_FILENAME
    8. PLUGIN.ClientSide = true
    9. PLUGIN.ServerSide = true
    10. PLUGIN.APIVersion = 2
    11. PLUGIN.Gamemodes = {}
    12.  
    13. if (SERVER) then
    14.  
    15. function playerinitSpawn()
    16. SP_PLAYER.Spawntrue = "false"
    17.  
    18. hook.Add( "PlayerInitialSpawn", "Player_InitialSpawn", playerinitSpawn ); 
    19. end
    20. 	function PLUGIN.Setspawn( PLAYER, CMD, ARGS )
    21.  
    22.  
    23. 		if (PLAYER:IsTempAdmin()) then
    24.  
    25. 			local SP_PLAYER = ASS_FindPlayer(ARGS[1])
    26.  
    27. 			if (!SP_PLAYER) then
    28.  
    29. 				ASS_MessagePlayer(PLAYER, "Player not found!\n")
    30. 				return
    31.  
    32. 			end
    33.  
    34. 			if (SP_PLAYER != PLAYER) then
    35. 				if (SP_PLAYER:IsBetterOrSame(PLAYER)) then
    36.  
    37. 					// disallow!
    38. 					ASS_MessagePlayer(PLAYER, "Access denied! \"" .. PL_SETSPAWN:Nick() .. "\" has same or better access then you.")
    39. 					return
    40. 				end
    41. 			end
    42.  
    43. 			if (ASS_RunPluginFunction( "AllowPlayerSetspawn", true, PLAYER, SP_PLAYER )) then
    44.  
    45. 				// Actually Sets Players Spawn
    46.  
    47. 				function SP_PLAYER:Setspawn() 
    48. 				local trace = PLAYER:GetEyeTrace()
    49.     				local hitpos = trace.HitPos 
    50. 				SP_PLAYER.pos = hitpos + Vector( 0, 0, 32 )
    51.  
    52. 				SP_PLAYER.Spawntrue = "true"
    53. 				ASS_MessagePlayer(PLAYER, "Set \"" .. SP_PLAYER:Nick() .. "\" new Spawn Position.")
    54.  
    55. 			end
    56.  
    57.  
    58.  
    59.  
    60. 		else
    61.  
    62. 			// Player doesn't have enough access.
    63. 			ASS_MessagePlayer( PLAYER, "Access Denied!\n")
    64.  
    65. 	end
    66.  
    67.  
    68. 	function Checkplayerspawn(SP_PLAYER)
    69. 		if SP_PLAYER.Spawntrue == "true" then 
    70. 		SP_PLAYER.SpawnPlayer(SP_PLAYER)
    71. 		end
    72.  
    73.  
    74. hook.Add("PlayerSpawn","NewSpawn",Checkplayerspawn)
    75.  
    76. 	function SpawnPlayer(SP_PLAYER)
    77.  
    78. 		SP_PLAYER:SetPos( SP_PLAYER.pos )
    79. 		SP_PLAYER:PrintMessage( HUD_PRINTTALK, "Spawning at New Spawnpoint" ) 
    80. 		SP_PLAYER:EmitSound("ambient/machines/teleport1.wav",300,100)
    81. 		end
    82.  
    83.  
    84. concommand.Add("ASS_Setspawn", PLUGIN.Setspawn)
    85.  
    86.  
    87.  
    88. if (CLIENT) then
    89.  
    90. 	function PLUGIN.Setspawn(PLAYER)
    91.  
    92. 		// Pretty simple. All we do is fire off a console command.
    93.  
    94. 		if (!PLAYER:IsValid()) then return end
    95.  
    96. 		RunConsoleCommand( "ASS_Setspawn", PLAYER:UniqueID() )
    97.  
    98. 	end
    99.  
    100. 	function PLUGIN.BuildMenu(NEWMENU)
    101.  
    102. 		ASS_PlayerMenu( NEWMENU, {"IncludeLocalPlayer", "IncludeAll"}, PLUGIN.Setspawn  ) 
    103. 	end
    104.  
    105. 	function PLUGIN.AddMenu(DMENU)
    106.  
    107. 		DMENU:AddSubMenu( "Setspawn" , nil, PLUGIN.BuildMenu)
    108.  
    109. 	end
    110.  
    111. end
    112.  
    113. ASS_RegisterPlugin(PLUGIN)
    Geändert von DrTight (29.06.2008 um 23:49 Uhr)

  2. #2

    Standard AW: Plugin für Assmod (Bitte Code Überprüfen)

    Zeile 85 hast du ein überflüssiges "end".
    Hättest du deinen Code vernünftig eingerückt, wäre das sicher auch dir nicht entgangen.

  3. #3

    Standard AW: Plugin für Assmod (Bitte Code Überprüfen)

    Ok danke, trotzdem sagt er mir noch :116: "end" expected (to close "if" at line 23) near (eof).

    Hmm muss das if (SERVER) nicht auch mit nem end abgeschlossen werden?

  4. #4

    Standard AW: Plugin für Assmod (Bitte Code Überprüfen)

    In deinem Script fehlen sehr viele "end"!

    Wenn du eine Funktion erstellst dann musst du sie auch wieder schließen ( end )!

    Wenn du if then schreibst dann musst du es auch mit end beenden.


    Also lese dir noch mal alles genau durch
    und rücke den Code vernünftig ein,
    so wie LoC schon sagte.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •