Aber warum ist dann sein anderer Claim direkt daneben noch dort? Werden die nicht gelöscht wenn noch andere Leute Perms haben?
Beiträge von Qivex
-
-
Lediglich Vanilla Items (Rüstung, Werkzeuge, Music Disk, Door etc.) stacken sich nicht. Auf alle Items aus Mods die ich getestet habe trifft meine Beschreibung aber zu.
Folgende Items hatte ich zum Testen rumliegen:
IC2: Nano-Saber, Energy Crystal, Rum
CC: Printed Book
AE: Alle Storages
MFR: Alle Radius Upgrades
MC: Oil Bucket
RP: FORTH Boot Disks
Das Spektrum umfasst ziemlich sicher alle Mods, egal ob bereits in den LS hinzugefügt oder nicht... Aber über Ursachen kann ich auch nur spekulieren
-
Mein Hinweis bezieht sich indirekt auch auf
es kann passieren das manche items nicht so zurück kommen wie man diese reinlegt
Wenn man mehrere nicht-stackbare Items ins Shop-Inventar einlagert und später das Inventar wieder öffnet, dann sind diese Items gestackt. Dies ist sicherlich nicht gewollt, da ja laut den Rang-Permissions nur Stammi+ Zugriff auf /stack haben sollen.
MFG Qivex
-
Das tut nichts zur Sache ob Du Dich gebessert hast oder nicht. Perma-Ban bleibt Perma-Ban.
-
Ich schlage anmerkend vor dass wir eventuell einführen sollten dass wenn ein Entbannungsantrag final abgelehnt wurde danach nach Ablauf einer gewissen Frist (vielleicht 14 Tage) auch der dazugehörige Forum-Account gemuted wird. Wir wissen alle ganz genau dass es Holly sonst noch bis mindestens 2027 versuchen wird...
-
Da wir mit diesem Beitrag versuchen die eigentümlichen Merkmale des Forums aufzudecken - könnten wir dabei eventuell auch ein Augenmerk auf das Punktesystem legen? Seit Ewigkeiten wundere ich mich über die Hintergründe nach welchen Kriterien die Punkte vergeben werden, und bin bisher noch zu keinem Ergebnis gekommen. Wovon und in welchem Zusammenhang sind die Punkte noch abhängig außer Beitragszahl und Erhaltener Likes? Profilaufrufe? Account-Alter?? Zufall???
Etwas Aufklärung hinter der Formel würde ich sehr zu schätzen wissen, weil aus aktueller Sicht die Vergabe einfach nur irrational ist (siehe dazu auch Bild-Anhang).
MFG Qivex
-
Als Shortcut habe ich mal einen Installer geschrieben der alle APIs in einen "apis"-Ordner herunterlädt - für die Faulen
Von mir geschriebene Programmbeispiele werden bald noch folgen, weil gut geschriebene Beispiele immer verständlicher sind als eine Dokumentation in Überlänge...
-
Lycodon API
by QivexHallo zusammen,
wie einige von Euch sicherlich mitbekamen habe ich die letzten Wochen daran gearbeitet eine Lycodon-API für ComputerCraft zu erstellen, damit die etwas
unerfahreneren Programmierer auf dem Server auch ohne viel Aufwand komplexe Programme schreiben können. Diese möchte ich Euch heute nun zur Verfügung
stellen, und die Verwendung selbiger erläutern.Zunächst ein bisschen Grundsätzliches was ihr über die Verwendung der API wissen müsst:
-> Die API ist in Teile bzw "Level" aufgesplittet. Dies ist darin begründet, dass ihr nicht für jedes Programm jede Methode brauchen werdet, und ihr
ansonsten zu viele unbenötigte Funktionen mit herunterladet.-> Eine Teil-API kann andere Teil-APIs vorraussetzen. Achtet also vor dem Verwenden auf eventuelle Abhängigkeiten, ansonsten wird es nicht funktionieren.
-> Die API-Namen beginnen alle mit "Q", darauf folgt der Verwendungsbereich (zB "QButton").
-> Jede Methode hat variable Parameter. Heißt: Ihr könnt Parameter von hinten nach vorne weglassen, und anstelle dieser Werte werden dann Default-Werte eingesetzt. Zum Testen
einer Methode könnt ihr sogar gar keinen Parameter übergeben, oder einzelne Parameter "nil" setzen wenn ihr die Syntax für diesen Parameter gerade nicht wisst - Der Aufruf
wird trotzdem funktionieren.-> Ich stelle Euch die API kostenlos und Open-Source zur Verfügung. Ihr könnt sie Herunterladen & Verwenden sowie Code-Bestandteile oder ganze Methoden in
eure eigenen Programme übernehmen.-> Die einzige Einschränkung gilt dem Ingame-Verkauf von Programmen mit von mir geschriebenem Code; sollte ich ein solches Ausnutzen feststellen werde ich dafür
sorgen das ihr für "Klauen des Eigentums Fremder" einen Warn bekommt. (Klarstellung: Ihr dürft Programme verkaufen die die API laden, aber nicht Programme
die meinen Code direkt beinhalten)Herunterladen & Verwenden der APIs:
Alle APIs sind auf meinem Pastebin-Account hochgeladen. Ihr könnt sie Ingame mit dem vorinstallierten pastebin get [code] [location] herunterladen.Beachtet bitte dass:
a) die APIs in der Reihenfolge der Anhängigkeiten geladen werden müssen.
b) aufgrund der Abhängigkeiten die Programmbezeichner nicht abweichen sollten.Vorgehensweise:
1) Anhand dieses Beitrags oder der PDF entscheiden welche API man benötigt.
2) Herausfinden, welche anderen APIs ebenfalls benötigt werden.
3) Die APIs auf den Advanced (!) Computer herunterladen: pastebin get [code] [location] Achtet darauf den richtigen Namen einzuhalten!
4) Am Programmbeginn in Eurem Programm die APIs in der gegebenen Reihenfolge laden mit: os.loadAPI(location)
5) Die gewünschte Methode wie alle anderen APIs aufrufen (zB qbutton.drawButton())Übersicht:
Dies soll nur einen kurzen Überblick geben, die detaillierten Erklärungen mit Beispielen findet Ihr in der PDF im Anhang.QMain-API (Level 1):
Abhängigkeiten:
keineZusammenfassung:
- Grundlage für alle anderen APIs
- Kapselung häufig verwendeter Abläufe
- Vereinfachung mancher Probleme
- Setzen von Werten, damit ihr später bei allen anderen APIs Parameter weglassen könntMethoden:
siehe PDFQFormat-API (Level 2):
Abhängigkeiten:
benötigt geladene QMain-APIZusammenfassung:
- Vereinfachung von grafischen Elementen
- Verbesserung des User-Interfaces
- Farbgestaltung für Programme / Bildschirme
- Text, Formen, BilderMethoden:
siehe PDFQButton-API (Level 3):
Abhängigkeiten:
benötigt geladene QFormat-API (und damit auch QMain-API)Zusammenfassung:
- Das Geheimnis jedes intuitiven Programms: Buttons
- Anlegen, Einfügen und interaktives Verändern während der Laufzeit möglich!
- Komplett individualisierbarMethoden:
siehe PDFQKeyboard-API (Level 4):
Abhängigkeiten:
benötigt geladene QButton-API (und damit auch QFormat- & QMain-API)Zusammenfassung:
- Erstellen einer eigenen Bildschirmtastatur
- Mehrere Tastaturen gleichzeitig möglichMethoden:
siehe PDFIch bin mir sicher dass einige von Euch Verwendung für meine API finden werden, solltet ihr Unterstützung bei Euren Projekten benötigen könnt Ihr Euch gerne bei
mir melden =)Über Feedback, Verbesserungsvorschläge oder Korrekturen freue ich mich wie immer
MFG Qivex
-
Bezüglich OlliGHG:
Sein Rang war aber nicht da. Er hat Ingame um Hilfe gebeten, und ich habe ihn darauf verwiesen dass er im Forum mal ne Anfrage stellen soll,
weil das bei der Änderung von Galaktix auf DannyHxH damals auch erforderlich war und ich mich daran erinnert hatte. -
Original:
Code- local function printUsage() print( "Usages:" ) print( "pastebin put <filename>" ) print( "pastebin get <code> <filename>" )endlocal tArgs = { ... }if #tArgs < 2 then printUsage() returnendif not http then print( "Pastebin requires http API" ) print( "Set enableAPI_http to 1 in mod_ComputerCraft.cfg" ) returnendlocal sCommand = tArgs[1]if sCommand == "put" then -- Upload a file to pastebin.com -- Determine file to upload local sFile = tArgs[2] local sPath = shell.resolve( sFile ) if not fs.exists( sPath ) or fs.isDir( sPath ) then print( "No such file" ) return end -- Read in the file local sName = fs.getName( sPath ) local file = fs.open( sPath, "r" ) local sText = file.readAll() file.close() -- POST the contents to pastebin write( "Connecting to pastebin.com... " ) local key = "0ec2eb25b6166c0c27a394ae118ad829" local response = http.post( "http://pastebin.com/api/api_post.php", "api_option=paste&".. "api_dev_key="..key.."&".. "api_paste_format=lua&".. "api_paste_name="..textutils.urlEncode(sName).."&".. "api_paste_code="..textutils.urlEncode(sText) ) if response then print( "Success." ) local sResponse = response.readAll() response.close() local sCode = string.match( sResponse, "[^/]+$" ) print( "Uploaded as "..sResponse ) print( "Run \"pastebin get "..sCode.."\" to download anywhere" ) else print( "Failed." ) endelseif sCommand == "get" then -- Download a file from pastebin.com if #tArgs < 3 then printUsage() return end -- Determine file to download local sCode = tArgs[2] local sFile = tArgs[3] local sPath = shell.resolve( sFile ) if fs.exists( sPath ) then print( "File already exists" ) return end -- GET the contents from pastebin write( "Connecting to pastebin.com... " ) local response = http.get( "http://pastebin.com/raw.php?i="..textutils.urlEncode( sCode ) ) if response then print( "Success." ) local sResponse = response.readAll() response.close() local file = fs.open( sPath, "w" ) file.write( sResponse ) file.close() print( "Downloaded as "..sFile ) else print( "Failed." ) end else printUsage() returnend
Gefixtes Programm (nicht 1:1 das was nach der Ausführung meines Fixers vorliegt, meine Version sollte kurz sein):
Code- local function printUsage()
- print( "Usages:" )
- print( "pastebin put <filename>" )
- print( "pastebin get <code> <filename>" )
- end
- local tArgs = { ... }
- if #tArgs < 2 then
- printUsage()
- return
- end
- if not http then
- print( "Pastebin requires http API" )
- print( "Set enableAPI_http to 1 in mod_ComputerCraft.cfg" )
- return
- end
- local sCommand = tArgs[1]
- if sCommand == "put" then
- -- Upload a file to pastebin.com
- -- Determine file to upload
- local sFile = tArgs[2]
- local sPath = shell.resolve( sFile )
- if not fs.exists( sPath ) or fs.isDir( sPath ) then
- print( "No such file" )
- return
- end
- -- Read in the file
- local sName = fs.getName( sPath )
- local file = fs.open( sPath, "r" )
- local sText = file.readAll()
- file.close()
- -- POST the contents to pastebin
- write( "Connecting to pastebin.com... " )
- local key = "0ec2eb25b6166c0c27a394ae118ad829"
- http.request(
- "https://pastebin.com/api/api_post.php",
- "api_option=paste&"..
- "api_dev_key="..key.."&"..
- "api_paste_format=lua&"..
- "api_paste_name="..textutils.urlEncode(sName).."&"..
- "api_paste_code="..textutils.urlEncode(sText)
- )
- event, url, response = os.pullEvent()
- if (event=="http_success") then
- print( "Success." )
- local sResponse = response.readAll()
- response.close()
- local sCode = string.match( sResponse, "[^/]+$" )
- print( "Uploaded as "..sResponse )
- print( "Run \"pastebin get "..sCode.."\" to download anywhere" )
- else
- print( "Failed." )
- end
- elseif sCommand == "get" then
- -- Download a file from pastebin.com
- if #tArgs < 3 then
- printUsage()
- return
- end
- -- Determine file to download
- local sCode = tArgs[2]
- local sFile = tArgs[3]
- local sPath = shell.resolve( sFile )
- if fs.exists( sPath ) then
- print( "File already exists" )
- return
- end
- -- GET the contents from pastebin
- write( "Connecting to pastebin.com... " )
- http.request(
- "https://pastebin.com/raw.php?i="..textutils.urlEncode( sCode )
- )
- event, url, response = os.pullEvent()
- if (event == "http_success") then
- print( "Success." )
- local sResponse = response.readAll()
- response.close()
- local file = fs.open( sPath, "w" )
- file.write( sResponse )
- file.close()
- print( "Downloaded as "..sFile )
- else
- print( "Failed." )
- end
- else
- printUsage()
- return
- end
-
Hallo zusammen,
dieser Beitrag ist primär an diejenigen Spieler gerichtet, die - wie meine Wenigkeit - viel mit ComputerCraft
arbeiten.Viele von Euch werden höchstwahrscheinlich das im OS integrierte "pastebin"-Programm verwenden. Dies hat
gute Gründe: Zum einen ist das "edit"-Programm absolut teuflisch und wenig produktiv; das Arbeiten mit
externen Quelltext-Editoren ist wesentlich angenehmer. Zum anderen kann man so immer eine Backup-Kopie
der Programme auf seinem eigenen Computer haben, falls man ausversehen den Computer-Block abbaut oder
gewisse Server-Backups nicht mehr zugreifbar sindLeider wird diese Erleichterung ab dem 1. März 2018 nicht mehr funktionieren, denn die Pastebin-API,
auf welche das "pastebin"-Programm intern zugreift, wird ab diesem Datum nur noch auf HTTPS-Requests
antworten. (Siehe Angang oder https://pastebin.com/api). In der CC Version 1.4 sind die internen Methoden
"http.post()" und "http.get()" jedoch noch nicht in der Lage HTTPS zu verwenden. Das Programm wird also
in der jetzigen Form nicht mehr korrekt arbeiten.Wie der Titel jedoch verspricht habe ich eine Lösung gefunden, die ich Euch nun präsentieren möchte. Die
"http.request()"-Methode kann nämlich sehr wohl HTTPS verwenden, das "pastebin"-Programm ist also
anpassbar. Wäre die Lösung so einfach dass man nur die Methodennamen ersetzen müsste hätte ich diesen
Beitrag nicht verfasst; es steckt noch ein wenig mehr dahinter als es scheint.Meine Lösung ist ein "Fixer"-Programm, welches das im OS versteckte "pastebin"-Programm ausliest, dessen
Code abändert, und als eigenes "pastebin"-Programm abspeichert, sodass die Variante aus dem OS
überschrieben wird. Der Code ist hier zu finden:Code- read_file = fs.open("rom/programs/http/pastebin", "r")code = read_file.readAll()read_file.close()code = code:gsub("local response = http.post", "http.request")code = code:gsub("local response = http.get", "http.request")code = code:gsub("http:", "https:")code = code:gsub("if response then", "local event, url, response = os.pullEvent(); if (event==\"http_success\") then ")write_file = fs.open("pastebin", "w")write_file.write(code)write_file.close()
"Ja super. Soll ich den Code jetzt jedes mal abschreiben wenn ich mit Pastebin interagieren will?"
Natürlich nicht. Deswegen habe ich diesen Beitrag mit genügend Spielraum verfasst damit ihr euch im
Voraus gelabelte Computer/Disketten/o.ä. anlegen könnt. Alternativ habe ich noch eine "min"-Version im
Angebot, damit man so wenige wie möglich Zeichen setzen muss. Dieser Code sorgt für das identische
Ergebnis, ist aber nur 286 Zeichen lang:Ich hoffe ich konnte Euch auf das Problem aufmerksam machen und eine zufriedenstellende Lösung präsentieren,
Fragen & Anmerkungen können hierunter gerne formuliert werden.MFG Qivex
PS: Ich weiß nicht inwiefern man das Problem auch lösen kann, indem serverseitig das OS verändert wird.
Nur als VorschlagPPS: Wenn ihr diesen Beitrag als sinnvoll erachtet dürft ihr ihn auch in den Thread "Tutorials" verschieben
-
Thema / Topic Super-Super-TicTacToe
Beschreibung / Description Warum eigentlich nur "normales" TicTacToe und kein Super- bzw Super-Super-TicTacToe? So wäre es wenigstens sinnvoll, in der jetzigen Form ist es ja bekanntermaßen unmöglich zu verlieren.
Antworten / Answers Bitte genauer erläutern. Dazu musst du aber wissen, dass ich noch andere Spielmodis mache (aber erstmal ein globales Level-System). Darunter auch Vier-Gewinnt. Also wäre ich schonmal gegen ein 4x4 oder mehr TTT, da die Spiele sich sonst nicht viel unterscheiden würden.
https://en.m.wikipedia.org/wiki/Ultimate_tic-tac-toe
(Für den Fall von zwei Ebenen. Super Super TTT ist das ganze Prinzip um noch eine Ebene erweitert)
Kurz zusammengefasst: Es gibt zwei bzw drei Ebenen von Feldern (also im Fall von Super TTT eine 3x3 Anordnung von 3x3 Feldern, und bei Super Super TTT eine 3x3 Anordnung von Super TTT-Feldern). Sobald ein Spieler ein Feld "einnimmt" hat der nächste Spieler in der nächsthöheren Ebene nur die Möglichkeit in der Menge an Sub-Feldern seine Markierung zu setzen, in welchem der vorherige Spieler ein Feld eingenommen hat.
Bsp: Spieler 1 setzt im Mittleren Sub-Feld seine Markierung oben rechts, dann kann Spieler 2 seine Markierung nur irgendwo im Sub-Feld oben rechts setzen (hat aber dort freie Wahl).
Wenn man in einem Sub-Feld drei Markierungen seiner Farbe in einer Reihe hat, so gewinnt man dieses Feld, welches dann als "Markierung" dieses Spielers für das nächsthöhere Feld zählt. Wer in der obersten Ebene drei Sub-Felder in einer Reihe besitzt gewinnt das Spiel.
Theoretisch sind beliebig viele Ebenen möglich, aber alles über 3 (Super Super TTT) wird kaum gespielt. 2 Ebenen ist allerdings das populärste, und würde sich auch noch in Minecraft vom Platz her umsetzen lassen.
Bei Fragen kann ich's gerne noch im TS erklärenErgebnis / Result Umgesetzt / Implemented ✓
-
Thema / Topic Nether-Quarry
Beschreibung / Description Von Magma:
Ich wurde schon ein par mal gefragt ob es denn möglich währe eine Welt zu machen, im Nether, wo man dann seine Quarry aufstellen kann. Da man ja die Nether Erze mit dem richtigen Verfahren nich nur verdoppeln, sondern auch verdreifachen oder verfierfachen kann.
Mein Vorschlag währe, das man im PermShop sich für 1 Woche die TP rechte zur Nether-Quarry welt kaufen kann.
Da man dadurch schnell viele erze bekommt finde ich einen Preis von 10000$ für 1 Woche ausreichend, da somit die Welt nicht dauerhaft benutzt wird, denn so viel Geld werden Anfänger nich Wöchentlich zusammen bekommen.
Außerdem muss man ja dazu eh noch das 7000$ Landmark-Kit kaufen um Große Quarrys zu bauen.
Ich würde mich freuen wenn ein par andere auch ihre Meinung dazu abgeben würden, wie sie diesen Vorschlag finden.
(damit meine ich aber nicht Diskusionen über den Preis)
Antworten / Answers ich glaub ich hab da auch nichts drunter geschrieben aber ich bin gegen diese idee, wie es ja richtig hieß man kann die erze verdrei- oder vervierfachen das sorgt nur dafür das alles noch viel viel schneller entwertet wird. zumal es auch nicht soo einfach umsetzbar ist
Ergebnis / Result Abgelehnt / Rejected❌