Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Heal-Script funktioniert nicht/Hilfe und Erklärungen

  1. #11

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    IsAdmin, nicht isAdmin. Benutz doch auch die Dokumentationen, wenn du die Links dazu hast.

  2. #12

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Vielen dank! Es klappt, kann mir aber vielleicht nochmal jemand sagen, ob ich das so alles richtig verstanden habe? Bzw. was das ich nicht verstanden habe berichtigen?

    Code:
    function healPlayer(ply, txt) // Erstellt eine Funktion mit Spielernamen und Eingabe
    	
    	local split = string.Explode(" ", txt) // Legt für jedes getrennte Wort ein neues Feld an
    	local command = split[1] // Der Inhalt vom 1. Feld
    	local pname = split[2]
    Erstellt eine Funktion die "healPlayer" heisst und da Funktionen immer "()" haben gibt diese an 1. Stelle den Spielernamen, an 2. Stelle den eingegebenen Text und an 3. Stelle den benutzten Chat aus.
    Dann wird "split" als lokale Variable definiert und als Array gefüllt, jedes Feld ist durch ein Leerzeichen in der Benutzereingabe getrennt.
    Nun werden die lokalen Variablen "command" und "pname" mit dem jeweiligen Feld des Arrrays bestückt.

    Code:
    if string.upper(command) == "!GIVEHP" then // Wenn der String !GIVEHP lautet
    	
    		if ply:IsAdmin() then // Und der Spieler admin ist
    		
    			for k,v in pairs(player.GetAll()) do
    				if string.find(string.lower(v:Nick()), pname) then
    					v:ChatPrint("Dir wurden 10.000 HP gegeben!") // Und dem betroffenen Spieler
    					v:SetHealth(10000) // Setze die HP des Zielspielers auf 10.000
    					
    				else
    					ply:ChatPrint("Spieler nicht gefunden!")
    					
    				end
    			end
    		
    		else // Ist der Benutzer kein Admin
    		
    			ply:ChatPrint("Du bist kein Admin!") // Sage das er keiner ist
    		end
    	end
    Der Command wird auf Großbuchstaben gestellt, damit die Groß- und Kleinschreibung des Befehls keine Rolle spielt. Dazu wird geprüft ob der eingegebene Command "!GIVEHP" ist.
    Nun prüft das Script ob der Benutzer ein Admin ist, wenn nicht gibt es nur die Nachricht, er seie kein Admin. Wenn doch gehts weiter.
    Also weiter in die Schleife wo ein "key" und eine "value" zusammengefügt werden aus den Daten der Spieler die gerade online sind. Die Schleife wird beendet wenn alle Spieler aufgenommen sind.
    Nächste Zeile wird die Chateingabe in Kleinbuchstaben konvertiert und in der value "Nick()" nach dem angegebenen Zielnamen durchsucht.
    Wenn ein Spieler mit dem Nick gefunden wurde geht es weiter, wenn nicht kommt die Meldung, es seie kein Spieler gefunden worden.
    Ist der Spieler also online bekommt er die Nachricht für 10.000HP und die 10.000HP dazu.

    Code:
    	
    	return nil
    end
    hook.Add("PlayerSay", "healPlayerHook", healPlayer) // Lege einen Auslöser für die Funktion fest
    Damit der Befehl nicht öffentlich sichtbar wird, gibt die Funktion nichts zurück mittels "return nil".
    Jetzt wird zum Schluss der "Trigger" oder auch "hook" zum auslösen des Ereignisses hinzugefügt. 1. Stelle als String der Ereignisname, 2. Stelle als String die HookID und 3. Stelle die aufzurufende Funktion.

    Habe ich das alles soweit richtig verstanden? Vielen dank für die ganze Hilfe Ich habe mir inzwischen einiges in der Doku angesehen, bin aber immer unsicher bei Schleifen. Auch in allen anderen Sprachen sind Schleifen meine "Feinde".


    Grüße
    Spike

    Edit //
    Wo finde ich die Bedank-Funktion hier? Ich sehe wohl das es Leute gibt, bei denen sich bedankt wurde, ich finde die Funktion aber nicht.
    Geändert von spike (15.05.2012 um 18:38 Uhr)

  3. #13

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    funktionen haben immer folgendes
    "rückgabewert(return)" = "funktionsname"("Parameter1"),("parameter2").. ...)
    die Parameter sind bei jeder funktion angepasst,
    zb. bei RunConsoleCommand ist der Parameter 1 ein String, der Parameter 2 auch nur der erste gibt den Commandnamen an, der 2te und 3te und so weiter die parameter (RunConsoleCommand("say", "hello"))
    (kann man mit concommand.Add("commandname", function(ply, cmd, args) über die args auslesen args[1] wäre argument 1 usw. 2 wäre argument 2)

    Da gibt es aber noch Modifizierende Funktionen wie ent:SetPos oder ply:ConCommand ent:SetColor usw.
    da sieht der command so aus
    "rückgabewert" = "Eingabe, wie zb. ein entity das modifiziert werden soll":SetPos("argument1, in dem fall ein Vector")

    Es gibt noch eine Kategorie, und zwar Funktionen in einem Table
    (string.<funktionsname> draw.<funktionsname> math.<funktionsname> sind alles tables mit funktionen drinn)

    Wo finde ich die Bedank-Funktion hier? Ich sehe wohl das es Leute gibt, bei denen sich bedankt wurde, ich finde die Funktion aber nicht.

  4. #14

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Zitat Zitat von spike Beitrag anzeigen
    Jetzt wird zum Schluss der "Trigger" oder auch "hook" zum auslösen des Ereignisses hinzugefügt.
    Nein, andersrum. Die Funktion wird an den Hook geknüpft, sodass beim geschehen der im Hook beschriebenen Aktion, eine andere Aktion ausgeführt wird.
    Kleiner, jedoch feiner Unterschied.


    Zitat Zitat von [FX]CJ[CSR] Beitrag anzeigen
    Es gibt noch eine Kategorie, und zwar Funktionen in einem Table
    (string.<funktionsname> draw.<funktionsname> math.<funktionsname> sind alles tables mit funktionen drinn)
    Das wäre zwar zu vermuten, stimmt aber so nicht. Die Funktionen befinden sich nicht in einer Table, sondern sind lediglich durch die diversen Namens-Präfixe (wie string, table, math, util, render usw.) einzeln gekennzeichnet, um sie leichter der korrekten Library zuordnen zu können.
    Geändert von RP-01 (15.05.2012 um 19:35 Uhr)

  5. #15

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    dsfjhklktzer964ea1e3PNG.png

    Ich habe die Funktion nicht, es ist nur das "Melde"-Zeichen da, der andere Button nicht.

    Das wäre zwar zu vermuten, stimmt aber so nicht. Die Funktionen befinden sich nicht in einer Table, sondern sind lediglich durch die diversen Namens-Präfixe (wie string, table, math, util, render usw.) einzeln gekennzeichnet, um sie leichter der korrekten Library zuordnen zu können.
    Ja, das ist mir klar. Auch ein sehr tolles Thema mit der Vererbung... In Bio ist es fast so schlimm wie in der Programmierung... allerdings muss man nicht so viel auswendig lernen wenn es um Bio geht. Danke für die Zusammenfassung nochmal, aber eine Frage hat sich noch nicht geklärt: Warum werden manche Funktionen groß- und andere kleingeschrieben? Z.B. "string.Explode()" und "string.find()"?

  6. #16

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Zitat Zitat von spike Beitrag anzeigen
    dsfjhklktzer964ea1e3PNG.png

    Ich habe die Funktion nicht, es ist nur das "Melde"-Zeichen da, der andere Button nicht.
    Hm, das hatte ich früher auch mal. Schreib mal neh PN an Grüne Gurken, der wird das sicherlich fixen können.

    Zitat Zitat von spike Beitrag anzeigen
    Warum werden manche Funktionen groß- und andere kleingeschrieben? Z.B. "string.Explode()" und "string.find()"?
    Das hat keinen tieferen Sinn, und man kann es auch machen wie man lustig ist. Im Fall von string.Explode, fand Garry das große e anscheinend cooler als das kleine.

  7. #17

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Ah, okay. Ich habe Grüne Gurken eine PN geschickt. Ich bevorzuge das kleine "E", weil man da nicht Shift für drücken muss aber in Ordnung. Schon viel in Erfahrung gebracht dank euch.

  8. #18
    Huge Sponsor Avatar von isch
    Registriert seit
    08.12.2009
    Ort
    Graz

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Soweit mir bekannt kann man sich erst ab einer bestimmten Anzahl an Beiträgen bei anderen Bedanken. Verhindert das man Fake-Accounts erstellen kann und "Danke" klicken kann. Du hast erst 11 Beiträge, liegt also vermutlich daran.
    Zitat Zitat von Bier_Baron Beitrag anzeigen
    Und wer ist Garry?

  9. Folgender Benutzer sagt Danke zu isch für den nützlichen Beitrag:


  10. #19

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Achja bevor es jemand vergisst (Was jetzt eh schon zuspät ist, aber für die zukunft notwendig)
    spike, du musst hier im forum vorweisen, dass du gmod gekauft hast
    wie dies funktioniert steht hier
    http://gmod.de/faq.php?faq=vb_board_usage#faq_steamauth


  11. #20

    Standard AW: Heal-Script funktioniert nicht/Hilfe und Erklärungen

    Danke für die Hinweise. CJ ich hab's versucht, aber es heisst immer, mein Profil sei nicht öffentlich. Obwohl ich für die Verifizierung alles auf Public gestellt habe.

    Das kommt dann immer:
    Ihr Steam Community Profil ist nicht öffentlich. Bitte änderen Sie Ihren Profil Status und versuchen Sie es dann noch einmal.
    Ich habe Profilstatus, Kommentarrechte und Inventar auf Öffentlich gestellt UND bin sogar noch in der Steam-Com online.

    Geändert von spike (16.05.2012 um 20:22 Uhr)

Ähnliche Themen

  1. Addon: Hilfe für Script
    Von InfinityNeo im Forum Lua
    Antworten: 2
    Letzter Beitrag: 13.08.2011, 16:13
  2. Antworten: 3
    Letzter Beitrag: 15.07.2011, 19:28
  3. Hilfe! bei meinem Script
    Von Flaver im Forum Lua
    Antworten: 6
    Letzter Beitrag: 22.02.2009, 18:25
  4. Zs Server (Suche Script) Pls hilfe
    Von Tom Tom im Forum Server
    Antworten: 3
    Letzter Beitrag: 16.10.2008, 15:31
  5. Hilfe! Mein Gmod funktioniert nicht mehr!
    Von TARDIS im Forum Archiv
    Antworten: 3
    Letzter Beitrag: 12.06.2008, 14:44

Berechtigungen

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