Bitte melden Sie sich an, um dieses Medienelement zu sehen.
Beiträge von Sogma
-
-
Sicherheitstechnisch braucht mam sich bei user root localhost ohne pw keine sorgen machen
Wenn du das glaubst..
Denke aber mal, dass du eine veraltete Version der questlib Erweiterung nutzt. Kannst es ja mal hiermit versuchen.
LUA- --[[
- @name mysql_query
- @author Mijago
- @needs split
- @descr
- Mysql-Funktion der neuesten Generation.
- --]]
- mysql_query = function(query)
- if not pre then
- local rt = io.open('CONFIG','r'):read('*all')
- pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
- end
- math.randomseed(os.time())
- local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
- --os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51
- os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55
- for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
- for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
- out[i-1] = out[i-1] or {}
- out[i-1][a] = tonumber(b) or b or 'NULL'
- out[t[1][a]] = out[t[1][a]] or {}
- out[t[1][a]][i-1] = tonumber(b) or b or 'NULL'
- end) end
- return out
- end
-
Bitte melden Sie sich an, um diesen Link zu sehen.
-
Bitte melden Sie sich an, um diesen Link zu sehen.
Was wäre damit, anstatt das Rad auf beschissene Weise neu zu erfinden?
Könnte mam machen, will ich aber nlcht hehe
Ich glaube nicht, dass der Wille das Problem ist.
-
Bedeutet aber auch, das man niemals Anschluss finden wird, und mit älteren Spielern gleichziehen kann. Mag sein das man als Neuling nach so und so viel Zeit, auch an das End-Eq. kommen mag, und somit same aussieht. Bedeutet aber auch das wenn ich meinen Gürtel und co seit 2 Monaten verbessere, das ein Spieler der 3 Monate vor mir anfing, diesen bereits seit 5 Monaten verbessert. Und so gehts immer weiter. Man wird nie an den selben Stand wie ältere Spieler kommen, da es nirgendswo ein Ende gibt. Angenommen dein Server ist voll, und dieser wird in 4 Monaten leer sein, und du entscheidest dich dazu mit einem Beginner Event und Promotion, neue Spieler zu erreichen. Durch die letzten 4 Monate hat Spieler A sein Gürtel, Schuhe und whatever bereits auf +231 geuppt, was bedeutet das ich in ganzen 4 Monaten auch soweit wäre, diese bis dato aber bereits +500 geuppt haben. Durch dein Konzept wird es niemals gleichgerecht und aufholbar sein, sowie niemals dafür sorgen das man auf einen gleichen Stand kommen kann. Damit ist nicht nur PvM bereits später gehatet, sondern damit wird PvP niemals möglich sein. Erstmal Duell machen mit dem Bruder der 40k TP und 500 AW mehr als ich hat, obwohl wir das selbe EQ haben? Keine Chance.
man kann es natürlich so sehen. ich sehe darin die möglichkeit jede rüstung anzuziehen die ich will und jede waffe zu tragen die ich will und ohne dabei das oldschool feeling zu verlieren.
Bitte melden Sie sich an, um diesen Link zu sehen.
Was wäre damit, anstatt das Rad auf beschissene Weise neu zu erfinden?
-
In dem ursprünglichen Code von item.cpp -> EVENTFUNC(potion_recovery_event) war noch ein Fehler, habe das im 1. Beitrag korrigiert.
Hier noch mal separat:
Code- EVENTFUNC(potion_recovery_event)
- {
- item_event_info* info = dynamic_cast<item_event_info*>(event->info);
- if (info == NULL)
- {
- sys_err("potion_recovery_event> <Factor> Null pointer");
- return 0;
- }
- LPITEM pkItem = info->item;
- //Check if potion is fully restored
- //return and cancel event if so
- const TItemTable* itemTable = pkItem->GetProto();
- if (pkItem->GetSocket(1) == 0)
- {
- pkItem->SetPotionRecoveryEvent(NULL);
- return 0;
- }
- else
- {
- int potionValueToRestore = itemTable->alValues[0] / 100 * 10;
- int missingPotionValue = pkItem->GetSocket(1);
- int newPotionValue = 0;
- if (missingPotionValue < potionValueToRestore)
- {
- pkItem->SetSocket(1, 0, false);
- pkItem->SetPotionRecoveryEvent(NULL);
- return 0;
- }
- else
- {
- newPotionValue = pkItem->GetSocket(1) - potionValueToRestore;
- pkItem->SetSocket(1, newPotionValue, false);
- return PASSES_PER_SEC(3);
- }
- }
- }
-
Moin,
hier ein System von mir welches die Auto Pots in der Nähe von einem definierten NPC auffüllt.
Wenn der Char im Umkreis von 1500 Units des NPCs ist, startet das "Refill" Event bis der Trank, bzw. die Tränke, wieder voll sind. Verlässt der Char den Umkreis wird das Event abgebrochen.
Ich habe es jetzt so einegstellt, dass alle 3 Sekunden 10% des Tranks "refilled" werden. Das kann dann ja aber jeder anpassen wie er lustig ist, ebenso den Umkreis und den NPC, der das Event triggered.
In meinem Beispiel ist das der NPC 9001 (Waffenhändler).
Habe in dem System Code von Bitte melden Sie sich an, um diesen Link zu sehen. verbaut, dankt dem Typen wenn möglich auch.
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Bei Fragen, Anmerkungen oder Problemen immer her damit.
-
The real problem is the infinite loop which occurs when you pass a negative value at the end of the function.
The easiest way to handle this is to do iCount *= -1 if iCount < 0.
-
Neues und einzigartiges PvP System.
Jeder Tod wird automatisch mit dem drop von items bestraft.
Töte Spieler und ergaunere dir Ihre items.
Also dann erstmal eigene Chars ohne EQ dauer killen und Items farmen?
Ich glaube das läuft so wie bei Aggro, dass man nur das fallen lassen kann was man auch bei sich hat? Sonst ist das ja keine Bestrafung.
-
In der Tabelle item_attr_rare wird die Spalte "costume_body" vom Source erwartet, aber diese gibt es nicht in der Datenbank.
-
Moin,
hier nur kurz eine Sache die mich an dem clientside Multilanguage (wie z.B. in den Martyfiles) gestört hat.
Die item_proto gibt die Item Namen ja in einer gewissen Sprache vor. Um nun im Client beim hover über ein item die Namen der Items anzeigen zu lassen wird über das item Interface im Client Source die Funktion PyObject * itemGetItemName(PyObject * poSelf, PyObject * poArgs) ausgeführt. Diese gibt über die Klasse CItemData den szLocaleName aus der item_proto (m_Itemtable) zurück.
Da bei Multilanguage grundsätzlich ja die korrekten Namen pro localization in der itemdesc.txt aus dem locale/xx Verzeichnis angegeben sind habe ich mir überlegt einfach darauf zurückzugreifen.
Aufgefallen ist bei meinem Test, dass die regulären Ausrüstungsgegenstände per default nicht in der Datei vorhanden sind. Mich persönlich stört das aber nicht, schnell simple Dummy-Einträge für diese zu erstellen, das muss dann aber jeder für sich entscheiden. Ich bin damit erstmal recht zufrieden.
Mit Dummy-Eintrag meine ich sowas:
Kleiner Vorher/Nachher Vergleich, falls jemand nicht verseht was ich meine:
Vorher:
Bitte melden Sie sich an, um diesen Anhang zu sehen.Nachher:
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Alle Änderungen sind im Client Source!
Bei Fragen und Anmerkungen gerne her damit.
-
Bitte melden Sie sich an, um diesen Link zu sehen.
Das schon probiert?
noch nicht aber ich lese mir das gleich mal durch danke dir.
Ich bin mit Unterstützung schon weiter gekommen habe jetzt aber den Fehler:
konnte aber auch im Netz nichts finden was mir jetzt diesen fehler erklärt und wie ich diesen beseitige kann da jemand weiter helfen?
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Game Source -> DragonSoul.cpp -> Zeile 379 "return NULL" ändern zu "return false", würde ich mal behaupten.
-
Lies dir das mal bitte durch
Bitte melden Sie sich an, um diesen Link zu sehen.
Danke für den Link. auch nach diesem Tutorial habe ich versucht zu gehen aber sobald es darum geht dann die pkg´s zu installieren also eben mysql/ gmake/ python funktionieren diese nicht da habe ich immer error updating repositories. wenn ich pkg install versuche..
dann habe ich das in einem anderem Forum zu einem ähnlichem beitrag wie bei mir gefunden:
Hello, they completly removed mysql 5.6 from repositories, so you cannot install it anymore, but you can find vdi's in forum with installed mysql 5.6
aber ich habe nichts weiteres dazu gefunden.
Bitte melden Sie sich an, um diesen Link zu sehen.
Das schon probiert?
-
Wäre es nicht sauberer die Funktionsdefinitionen von str_to_number für unsigned var zu korrigieren und dann den return value(bool) zu nutzen?
Dann müsste man die return conditions in den Funktionsüberladungen nur noch erweitern für unsigned out Variablen. (common/utils.h)
-
Bitte melden Sie sich an, um diesen Link zu sehen.
Google 1. Link.
-
Habe da keine eigene Erfahrung mit, aber das was ich bis jetzt gesehen habe lief immer auf eine Scheinfirma bzw. ein Gewerbe hinaus.
Echt doch so krass?
Mit Homepage habe ich glaube soweit durchblickt. Man braucht Webspace + Domain. Und da über FTP quasi die HP drauf.
Aber das mit dem automatisierten Bezahlsystem ist mir noch schleierhaft. Suche die ganze Zeit, ob ich etwas darüber finde. Aber vielleicht hab ich Tomaten auf den Augen.
Die Zahlungsanbieter wie PSC, PayPal und so stellen die entsprechenden Funktionen m.w.n. nur für sog. Geschäftskonten zur Verfügung.
-
Habe da keine eigene Erfahrung mit, aber das was ich bis jetzt gesehen habe lief immer auf eine Scheinfirma bzw. ein Gewerbe hinaus.
-
Du fragst in der Funktion nur den DamageType ab. Für das, was du machen willst, musst du checken ob der Damage durch einen Skill ausgelöst wurde.
-
Habe alles wie vorgeschrieben implementiert, allerdings bekomme ich immer wieder die selbe Fehlermeldung.
Bitte melden Sie sich an, um diesen Anhang zu sehen.Bitte melden Sie sich an, um diesen Anhang zu sehen.2 Möglichkeiten, du hast app nicht importiert in dem Python File oder dir fehlt in der PythonApplicationModule.cpp (Client Src) der Export-Constant
-
Edit:
statt der AppendTextLine Funktion nutze ich jetzt self.AppendDescription wie bei der Beschreibung von dem Item. Damit sieht das gut aus!
Hi,
gibt es in den item Tooltips irgendeine Möglichkeit automatische Zeilenumbrüche bei langen Strings zu haben?
In der AddItemData Funktion füge ich eine neue Textline hinzu:
Der String ist definiert als:
Und ingame sieht das kacke aus...
Bitte melden Sie sich an, um diesen Anhang zu sehen.