anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 13:35

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Do 20 Sep, 2007 16:45 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
NPC-Chatsystem + Bugfix
Nachdem ja nun längere Zeit nichts wirklich neues mehr von mir hier erschienen ist, gibt es jetzt das frisch überarbeitet NPC-Chatsystem.
Nur um gleich Missverständnisse auszuschließen: Es handelt sich hier nicht um Chatbots öder ähnliches, sondern von Usern per Chat-Kommando gesteuerte Figuren.

Teff machte mich auf ein paar Fehler aufmerksam, unter anderem wurde nicht richtig abgerechnet und die Weitergabe von NPCs funktionierte nicht. Die neue Version ist nun hier verfügbar.

Doch zunächst die Vorraussetzungen:

Im Gegenzug auch gleich die Features:
(Texte in blau sind in erster Linie für den Admin interessant)
    Chatten über andere Figuren als den eigenen Charaker durch NPCs
    Eigene Bio mit Name, Spielern, Avatar und Beschreibung für jeden NPC
    Erschaffen von NPC-Figuren gegen Punkte
    Jederzeit mögliches Abändern der Werte des NPCs gegen Punkte
    Gemeinsame Nutzung der NPCs von mehreren Spielern (share)
    Cheatschutz-Systeme gegen Namenstäuschung (Danke an Harthas)
    Punkte sind Wahlweise RP-Punkte oder Donation-Points
    Frei wählbare Preise für die Änderung von Name, Bscheibung, Avatar und Share der NPCs

Und schlussendlich noch ausstehende ToDos:

    Automatische Generierung von NPCs als Kinder in -Doms Kindermod
    Standard Chat-Farben auch für NPCs
    Unterstüttzung der NPC-Anzeige schon im JS-Preview

Installation
Nachdem alle Vorrausstzungen erfüllt sind, geht es nun an die Installation.
Zunächst die Datei npc.class.php in das lib-Verzeichnis hochgeladen werden, die npc.php kommt ins LotgD-Root.
Nun muss noch folgender SQL-Query ausgeführt ...

$this->bbcode_second_pass_code('', 'ALTER TABLE `accounts` ADD npc BOOLEAN NOT NULL;
ALTER TABLE `commentary` ADD control TINYINT NOT NULL;

CREATE TABLE `npc` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(64) NOT NULL,
`text` text character set utf8 collate utf8_unicode_ci,
`ersteller` int(10) unsigned NOT NULL default '0',
`avatar` varchar(255) default NULL,
`vater` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB;

CREATE TABLE `z_npc` (
`user_id` int(10) unsigned NOT NULL default '0',
`npc_id` smallint(5) unsigned NOT NULL default '0',
KEY `user_id` (`user_id`)
) ENGINE=InnoDB;

')

...Und ein paar Dateien verändert werden:

prefs.php
PHP:
// Suche:
$form=array(
"Einstellungen,title"
...
);
// Füge danach ein:
if($session['user']['npc']) {
require_once "lib/npc.class.php";
//$npcs = getUsrNPCsData($session['user']['acctid']);
$npcs = npc::getAllOf($session['user']['acctid'],false);
$text = "Der NPC den du im moment verwenden möchtest,enum";
foreach($npcs as $npc) {
$text .= ",".$npc->getId().",".$npc->getName();
}
} else {
$text = "Leider hast du noch keine NPCs,viewonly";
}
$form['akt_npc'] = $text;


lib/commentary.php
PHP:
// Suche:
# Einstellungen

// Füge danach ein:
require_once 'npc.class.php';
function beginsWith($in,$with) {
// Kleine Funktion für netteren Code by Auric
return (strtolower(substr($in,0,strlen($with)))===$with?true:false);
}


// Suche: [function Add()]

// Emotecheck
$emote = 0;
if(substr($commentary,0,2) === '::') {
$commentary = $this->coloremote.substr($commentary,2);
$emote = 1;
}
elseif(substr($commentary,0,1) === ':') {
$commentary = $this->coloremote.substr($commentary,1);
$emote = 1;
}
elseif(strtolower(substr($commentary,0,3)) === '/me') {
$commentary = $this->coloremote.substr($commentary,3);
$emote = 1;
}
elseif(strtolower(substr($commentary,0,3)) === '/em') {
$commentary = $this->color3person.substr($commentary,3);
$emote = 2;
}
elseif(strtolower(substr($commentary,0,2)) === '/x') {
$commentary = $this->color3person.substr($commentary,2);
$emote = 2;
}
elseif(strtolower(substr($commentary,0,3)) === '/ms') {
$commentary = $this->coloremote.substr($commentary,3);
$emote = 3;
}
else {
$commentary = $this->colorspeak.$commentary;
}

// Ersetze mit:

// Emotecheck
$emote = 0;
if(beginsWith($commentary,'::')) {
$commentary = $this->coloremote.substr($commentary,2);
$emote = 1;
} elseif(beginsWith($commentary,':')) {
$commentary = $this->coloremote.substr($commentary,1);
$emote = 1;
} elseif(beginsWith($commentary,'/me')) {
$commentary = $this->coloremote.substr($commentary,3);
$emote = 1;
} elseif(beginsWith($commentary,'/em')) {
$commentary = $this->color3person.substr($commentary,3);
$emote = 2;
} elseif(beginsWith($commentary,'/x')) {
$commentary = $this->color3person.substr($commentary,2);
$emote = 2;
} elseif(beginsWith($commentary,'/ms')) {
$commentary = $this->coloremote.substr($commentary,3);
$emote = 3;
// Erweiterte Überprüfung für NPCs by Auric:
} elseif(beginsWith($commentary,'/npc')) {
$commentary = $this->colornpc.substr($commentary,5);
$emote = 5;
} else {
$commentary = $this->colorspeak.$commentary;
}


// Suche: [function Insert()]
$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`) '

// Ersetze mit:
$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`'.($this->emote==5?',`control`':'').') '

// Suche: [function Insert()]
.'"'.$this->emote.'",'
.'NOW()'

// Füge danach ein:
.($this->emote==5?", '".npc::getActOf($author)."'":'')


// Suche:
if(NOBIO === false) {
$linktemplate = '`0<a href="bio.php?char={$LOGIN}&ret={$REQUESTURI}" style="text-decoration: none">'.endl.'`&{$NAME}`0</a>'.endl;
}
else {
$linktemplate = '{$NAME}';
}
// Ersetze mit:
if(NOBIO === false) {
$linktemplate = '`0<a href="bio.php?char={$LOGIN}&ret={$REQUESTURI}" style="text-decoration: none" title="{$STATUSRP}">'.endl.'`&{$NAME}`0</a>'.endl;
$npclinktemplate = '`0<a href="npc.php?op=bio&id={$ID}&ret={$REQUESTURI}" style="text-decoration: none">'.endl.'`&{$NPC}`0</a>'.endl;
} else {
$linktemplate = '{$NAME}';
$npclinktemplate = '{$NPC}';
}
$sea4linktemplateN = array('{$ID}','{$REQUESTURI}','{$NPC}');


// Suche:
switch($row['emote']) {

// Füge Danach ein:
case 5: // NPC-Erweiterung von Auric
$npcsql = "SELECT `id`, `name` FROM `npc` WHERE `id`=".$row["control"]." LIMIT 1";
$npcres = db_query($npcsql) or die(db_error(LINK));
$npc = db_fetch_assoc($npcres);

$rep4linktemplateN = array($npc['id'],RawURLEncode($REQUEST_URI),$npc['name']);
$row['npc'] = str_replace($sea4linktemplateN,$rep4linktemplateN,$npclinktemplate);
$npclink = str_replace($sea4linktemplateN,$rep4linktemplateN,'npc.php?op=bio&id={$ID}&ret={$REQUESTURI}');
addnav('',$npclink);
$comments[] = $prefix.str_replace($search,$replace,'`&'.$row['npc'].' '.$this->nl2paragraph($row['comment'])."`0\r\n");
break;


configuration.php
PHP:
// Suche:
"oldmail"=>"Alte Nachrichten automatisch löschen nach x Tagen. x =,int",

// Füge danach ein:

'NPC-Settings (NPC-System by Auric),title',
'NPC_CURRENCY' => 'Währung zum Kauf von NPCs,enum,dp,Donationpoints,rp,RP-Punkte',
'NPC_COST_ACTIVATE' => 'Kosten zum Freischalten des NPC-Modus (Standard RP:20; DP:100),int',
'NPC_COST_BUY' => 'Kaufpreis eines NPCs (Standard RP:20; DP:100),int',
'NPC_COST_NAME' => 'Preis zum Umbenennen eines NPCs (Standard RP:10; DP:50),int',
'NPC_COST_TEXT' => 'Preis zum Ändern der NPC-Beschreibung (Standard RP:3; DP:15),int',
'NPC_COST_AVATAR' => 'Preis zum Ändern des NPC-Avatars (Standard: 0),int',
'NPC_COST_GRANT' => 'Preis für eine NPC-Freigabe (Standard RP:12; DP:60),int',
'NPC_GRANT_MAX' => 'Maximale Anzahl von Spielern pro NPC (Standard: 5),int',

Speichern und Hochladen

Schlussendlich müsst ihr nur noch irgendwo (village.php oder so) auf die npc.php verlinken.

So, nun müsst ihr noch einmal in den Spieleinstellungen vorbeischauen und dort in den soeben angelegten Konfigurationsfeldern eure gewünschten Preise für die einzelnen Operationen angeben.

Das Wärs dann auch, euer NPC-System sollte nun lauffähig sein.
Bedenkt, das sich eure Spieler noch für einen gewissen Betrag für den NPC-Modus freischalten müssen.

Viel Spass damit,
Auric


Dateianhänge:
Dateikommentar: NPC-Chatsystem 1.2
Latin-1 (ISO-8859-1) Kodiert
(Standard)

NPC-System-latin1.zip [11.56 KIB]
1005-mal heruntergeladen
Dateikommentar: NPC-Chatsystem 1.2
UTF-8 Kodiert

NPC-System-utf8.zip [11.29 KIB]
960-mal heruntergeladen

_________________
Mehr oder minder inaktiv


Zuletzt geändert von Auric am Mo 07 Sep, 2009 13:59, insgesamt 4-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 17:34 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Nette Idee ^^ wollte ich auch mal direkt testen... aber schienbar fehlt da die Tabelle, in der die NPCs gespeichert werden...

Zudem: Die npc.php muss irgendwo verlinkt sein, oder? Das ist in der Anleitung auch nicht erwähnt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 18:48 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
hm... :pein:
Hatte ich ganz vergessen...

Tabellen sind jetzt drin und auch der Hinweis zum Verlinken ist dabei.

Auric

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 19:54 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Nur so ne Frage: Die Einstellungsnamen - Sicher, dass sie kurz genug sind? Irgendwann hatte ich mal Probleme, da LoGD 097 standardgemäss nur 10 (20?) Zeichen für den settingsnamen zulässt.

Aber eine vorzügliche Idee :) Du hast sicher nichts dagegen, wenn ich das irgendwann mal adaptiere und selbst erweitere, oder? ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 20:00 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Ehm... noch nen kleiner Fehler

[php] // Suche: [function Insert()]
.'"'.$this->emote.'",'

// Füge danach ein:
.($this->emote==5?", '".npc::getActOf($author)."'":'') [/php]

nicht so, sondern
[php]
// Suche: [function Insert()]
.'"'.$this->emote.'",'
.'NOW()'

// Füge danach ein:
.($this->emote==5?", '".npc::getActOf($author)."'":'') [/php]

sonst hat es bei mir nicht funktioniert ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 20:13 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
@Eli: Kannst du gerne verwenden - ehrensache das ein Credit drinne bleibt, oder? ^^

und außerdem:
LoGD097******.sql hat geschrieben:
CREATE TABLE settings (
setting varchar(20) NOT NULL default '',
value varchar(255) NOT NULL default '',
PRIMARY KEY (setting)
) TYPE=MyISAM;

Das längste Feld ist bei mir das ACTIVATE mit 17 Zeichen, sollte also passen.


@ Naria: irgendwie erscheint mir der sinn nicht so ganz: das NOW() musste bei dir noch mit gelöscht werden oder wie?

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 20:20 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Auric hat geschrieben:
@Eli: Kannst du gerne verwenden - ehrensache das ein Credit drinne bleibt, oder? ^^


Wie kommst du denn auf die Idee? Natürlich lösch ich es weg und schreib, dass es alleine von mir ist. Also auf Ideen kommen manche.... :D

Auric hat geschrieben:
und außerdem:
LoGD097******.sql hat geschrieben:
CREATE TABLE settings (
setting varchar(20) NOT NULL default '',
value varchar(255) NOT NULL default '',
PRIMARY KEY (setting)
) TYPE=MyISAM;

Das längste Feld ist bei mir das ACTIVATE mit 17 Zeichen, sollte also passen.


Warens also doch 20. Okay ^^

Auric hat geschrieben:
@ Naria: irgendwie erscheint mir der sinn nicht so ganz: das NOW() musste bei dir noch mit gelöscht werden oder wie?


Du hast in deiner Einbauanleitung für den Insert das NOW() übersehen und verlangst, dass der Wert für "control" direkt nach "emote" kommt - was aber nicht der Fall ist, da zuerst postdate gefüllt werden will ^^

(@Naria: Vielleicht in Zukunft die Fehler auch umschreiben.. Damit lassen sich Missverständnisse vermeiden ;) )


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 20:20 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
€dit: War Eliwood doch schneller ^^. und ja... Fehlerbeschreibung.. nicht meine Stärke... :pein:


Ne, das Feld postdate existiert bei mir ja noch.

Es heißt bei dir in der Anleitung:

[php]$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`'.($this->emote==5?',`control`':'').') ' [/php]
postdate steht vor dem Eintrag der zu dem NPC Addon gehört.
Bei den Values würde aber postdate nach dem Wert, der zu Control gehört eingefügt werden.

Bei mir heißt das ganze Stück jetzt so:
[php]// Eintragen
$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`'.($this->emote==5?',`control`':'').') '
.'VALUES ( '
.'"'.$author.'",'
.'"'.mysql_real_escape_string(stripslashes($commentary)).'",'
.'"'.$this->section.'",'
.'"'.$this->emote.'",'
.'NOW()'
.($this->emote==5?", '".npc::getActOf($author)."'":'')
.') ';[/php]

Vorher warf er mir einen Syntaxfehler aus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Sep, 2007 20:28 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Ah, jetzt verstehe ich... ist nun auch berichtigt!
Das kommt davon, wenn man immer erst am Schluss die Veränderungen heraussucht.. bei Blindheit hillft kein diff ^^

Danke für das Feedback
Auric

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 21 Sep, 2007 00:47 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 11 Okt, 2005 18:11
Beiträge: 680
Wohnort: Wohnzimmer
Geschlecht: Männlich
LoGD: www.omega-grotte.de
Schade :(
Ich kann es leider nicht nutzen, bei mir läuft php4...
aber nette Arbeit, würde eine Bereicherung für jeden Server sein..und die Multieuser eindämpfen..
viele möchten ja nur einen 2Char um noch mehr RPG zu betreiben..

mfg

_________________
Die Frage lautet: Herr? Bist du das Göttliche?
Daraufhin meint er nur: Ich bin es, aber warum fragst du?

Mein Game zur Zeit Offline...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Sa 22 Sep, 2007 13:23 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 27 Sep, 2006 10:58
Beiträge: 133
Auric hat geschrieben:

Vorraussetzungen:
    PHP Version 5 oder höher


Wirklich sehr, sehr schade. :(
Das klingt alles sehr beeindruckend und verlockend. :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 22 Sep, 2007 23:19 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Na ja, mit ein bisschen Zeit und Muße (und der hilfe von Zend Studio o.Ä.) kann man das auch auf PHP4 umschreiebn... ich habe nun keine sooo üblen neuen Features eingebaut...

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 23 Sep, 2007 16:35 
Offline
Eingeweihter
Eingeweihter

Registriert: So 09 Sep, 2007 22:52
Beiträge: 96
Ich hab etwas ähnliches schon vor einiger Zeit gebastelt wofür ich mir die /X funktion von Eliwood als vorblild genommen habe, ich hab nur gerade keine Zeit um das aus meienr common herraus zu Filtern aber wenn ich Zeit dazu Fionde werde ich es gern mal hier Posten

ich kan ja mal ne kurze erklärung rein setzen.

mit /rp steuert man seinen nsc den man sich in der Jägerhütte erstehen kanndie Chars haben eigenden namen bio und avatar.. ich muss nur sehen ob ich es irgendwie hinkrige das auf ein standart logd zu schreiben ^^ und ob ich alles in meienn datein wieder finde XDD


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 26 Okt, 2007 16:48 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Kleiner Nachtrag: In der dragon.php muss noch npc in die beiden arrays eingetragen werden, deren Schlüssel unverändert nach dem DK bestehen bleiben, ansonsten müssten sich die Spieler nach jedem DK wieder freischalten (außer wenn die NPCs nur für RP Charaktere zugelassen sind und die DKs somit ganz unterm Tisch fallen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Di 19 Feb, 2008 18:13 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Ich find das eigentlich wirklich eine sehr schöne, feine Idee...
Gibts das auch, ohne dass man Eliwoods Bundle hat?
Hab ich nämlich nicht. Und benötige ich auch nicht, weil ich meine commentary auch schnieke find ;o)

Ich habs mal versucht, über die ganze normale Version mir das aus deiner Datei da umzupfriemeln... aber... ich schreiter schon bei

$this->bbcode_second_pass_code('', '// Emotecheck
$emote = 0;
if(substr($commentary,0,2) === '::') {
$commentary = $this->coloremote.substr($commentary,2);
$emote = 1;
}
elseif(substr($commentary,0,1) === ':') {
$commentary = $this->coloremote.substr($commentary,1);
$emote = 1;
}

... usw usf')

Das ist ja bei mir noch ganz "ursrpünglich" im Grunde.

$this->bbcode_second_pass_code('', 'if (substr($commentary,0,1)!=":" &&
substr($commentary,0,2)!="::" &&
substr($commentary,0,3)!="/me" &&
substr($commentary,0,3)!="/mes" &&
substr($commentary,0,3)!="/X" && ')

Da *g* ... ich hab colorhacks von Chaosmaker und *hicks* und talkline, die auch so anfangen ;o)

Gibts da auch was für mich? Bild

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Di 19 Feb, 2008 19:23 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
vernisage hat geschrieben:
Ich find das eigentlich wirklich eine sehr schöne, feine Idee...
Gibts das auch, ohne dass man Eliwoods Bundle hat?
Hab ich nämlich nicht. Und benötige ich auch nicht, weil ich meine commentary auch schnieke find ;o)


Grundsätzlich ist es natürlich möglich. Aber natürlich umso schwerer. Du müsstest an jeder Emote-Stelle auch /npc prüfen, und beim "drucken" des Kommentars die /npc-Kommentare seperat behandeln. Mein Bundle hat Code-technisch halt vieles vereinheitlicht und vereinfacht. Also auch die Emote-Behandlung.

Wird dann halt zu:
$this->bbcode_second_pass_code('', 'if (substr($commentary,0,1)!=":" &&
substr($commentary,0,2)!="::" &&
substr($commentary,0,3)!="/me" &&
substr($commentary,0,3)!="/mes" &&
substr($commentary,0,3)!="/X" &&
substr($commentary,0,4)!="/npc") &&')

Im übrigen merk ich grad - der Code ist mehr als Fehlerhaft. Du schliesst die Klammern von substr() nirgends, und /mes hat 4 Buchstaben, also können die ersten 3 Buchstaben niemals mit den 4 Buchstaben vom /mes übereinstimmen ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Di 19 Feb, 2008 20:45 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Das war nur ein Auszug aus der Datei, und warum diese /mes dadrinnen ist, weiß ich nicht. Das war irgendwie schon immer da?

Und ehrlich gesagt - ich weiß nicht, was du mit dem Schließen meinst *g* 8)

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Mi 19 Mär, 2008 13:44 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
PHP:
// Suche: [function Insert()]
$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`) '

// Ersetze mit:
$sql = 'INSERT INTO `commentary` (`author`,`comment`,`section`,`emote`,`postdate`'.($this->emote==5?',`control`':'').') '

// Suche: [function Insert()]
.'"'.$this->emote.'",'
.'NOW()'

// Füge danach ein:
.($this->emote==5?", '".npc::getActOf($author)."'":'')


Bei mir scheiterts grad an dieser Stelle, würde es nämlich auch gerne für das Standardsystem umbauen, kann aber ehrlich gesagt nicht erkennen ob und wie ich das abändern müsste.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Mi 19 Mär, 2008 14:55 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Für das Standardsystem ist die Sache nicht so einfach unzuschrieben, da da die Struktur ne ganz andere ist - z.B. muss man da den emotetyp auch aus dem Comment-String auslesen und so weiter. Ich hatte das mal ne weile, aber es lief nur sehr instabil, desshalb kann ich nur Das Commentary-MIO-Bundle empfehlen und suporten

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: NPC-Chatsystem auf PHP5-OOP
BeitragVerfasst: Do 20 Mär, 2008 11:49 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Ich hatte das MIO-Bundle mal bei mir installiert, doch das hat aussehenstechnisch alles bei mir zerhackt, die kommentare waren zeilenmässig kilometer weit auseinander und wenn ich den abstand in der .commentary.settings von 1.5 auf 1 geändert hab dann konnt man sie nicht mehr lesen weil die zeilen sich zur hälfte überlappt haben, frag mich jetzt nicht woran das liegt, aber daher war ich nicht sehr davon begeistert und habs wieder rausgeschmissen.


Edit: Ich baus aber nochmal ein und schau mal nach ob das immer noch so verwurstelt aussieht.

ok ich weiß jetzt warum die Kommentare soweit auseinander waren, ich habe folgendes geändert

define('COMMENTARY_USEPARAGRAPHS', false); # Paragraphen <p> anstatt <br> gebrauchen

bei true wird ja eben <p> genommen und der zeilenabstand war weiter auseinander, hat sich das schonmal geklärt ^^


Achja, wo finde ich denn das RPG-Belohnungssystem von dir? ich hab zwar in der SuFu geschaut, aber vllt unter den falschen Begriffen, der sagte mir immer es gäbe zu viele Treffer daher würde der Suchbegriff ignoriert werden.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 30 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum