anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 22:24

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: RPG-Chars
BeitragVerfasst: Di 15 Mai, 2007 11:37 
Offline
Held
Held
Benutzeravatar

Registriert: Mi 09 Aug, 2006 09:29
Beiträge: 267
Geschlecht: Männlich
Hi...kann mir einer sagen, was ich ändern muss, damit die RPG Chars in den Feldern nicht mehr angegriffen werden können, ohne das ich bei allen extra den PVP-Schutz einstellen muss?
Ich hatte hier gesucht aber nichts gefunden...Naja schwer kann es ja nich sein, aber bevor ich wieder Mist bau frag ich lieber...
MfG Rantanplan


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 11:57 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
nimm sie einfach aus der pvplist.php raus...

wenn du da die nummern in einen array steckst, und dann dort mit in_array() prüfst... sollte das möglich sein.

so machs ich bei 1.x.x und der PvP Begrenzung (und Admin Immunität)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 13:17 
Offline
Held
Held
Benutzeravatar

Registriert: Mi 09 Aug, 2006 09:29
Beiträge: 267
Geschlecht: Männlich
hm, ich habe garkeine pvplist.php :(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 15:13 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
valider Punkt, die gibts in der 0.97 nichts als Bibliothek.
Ok.

pvp.php

zeile 40

$this->bbcode_second_pass_code('', ' for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$biolink="bio.php?char=".rawurlencode($row[login])."&ret=".urlencode($_SERVER['REQUEST_URI']);
addnav("", $biolink);
if($row[pvpflag]>$pvptimeout){
output("<tr class='".($i%2?"trlight":"trdark")."'><td>$row[name]</td><td>$row[level]</td><td>[ <a href='$biolink'>Bio</a> | `iimmun`i ]</td></tr>",true);
}else{
output("<tr class='".($i%2?"trlight":"trdark")."'><td>$row[name]</td><td>$row[level]</td><td>[ <a href='$biolink'>Bio</a> | <a href='pvp.php?act=attack&name=".rawurlencode($row[login])."'>Angriff</a> ]</td></tr>",true);
addnav("","pvp.php?act=attack&name=".rawurlencode($row[login]));
}
}')

kommentare:
a) db_num_rows gehört nicht in die bedingung, bei 400 usern wird 400 mal durchgezählt, immer derselbe wert. -> unfug
b) eliwoods signatur: $session['user'] ... $row['login']


1)ok, wenn du also hier einen oder mehrere chars rausnehmen willst, dann bau eine abfrage ein, wenn du text dazu anzeigen lassen willst

2)oder schneide die einfach aus der pvplist raus ...

1+2)
z.B. außerhalb der for:
[php]$rpg_chars=array("MeinChar","SuperChar","Blabla"); //logins(login field) der RPG chars[/php]

1)
z.B. in Zeile 42 nach dem db_fetch:
[php]if (in_array($row['login'],$rpg_chars)) {
output("<tr class='".($i%2?"trlight":"trdark")."'><td>$row['name']</td><td>$row['level']</td><td>[ <a href='$biolink'>Bio</a> | `igöttlich geschützt`i ]</td></tr>",true);
continue;
}[/php]

2)
z.B. in Zeile 42 nach dem db_fetch:
[php]if (in_array($row['login'],$rpg_chars)) continue; //cut out the chars[/php]


ohne Gewähr! das ist jetzt frei Hand, da ich keine 0.97 laufen habe.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 15:24 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
o.o Warum denn so umständlich erweiter einfach die Abfrage für die Auflistung der Spieler und fertig aus ich weiss nicht was daran ein Problem sein sollte...
Naja mach es so:
Suche:
[php]
$sql = "SELECT name,alive,location,sex,level,laston,loggedin,login,pvpflag FROM accounts WHERE
(locked=0) AND
(age > $days OR dragonkills > 0 OR pk > 0 OR experience > $exp) AND
(level >= ".($session['user']['level']-1)." AND level <= ".($session['user']['level']+2).") AND
(alive=1 AND location=0) AND
(race>0 AND specialty>0) AND
(dragonkills >= ".($session['user']['dragonkills']-5).") AND
(laston < '".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." sec"))."' OR loggedin=0) AND
(acctid <> ".$session['user']['acctid'].")
ORDER BY level DESC";
[/php]

Ersetze es mit:
[php]
$sql = "SELECT name,alive,location,sex,level,laston,loggedin,login,pvpflag,rpchar FROM accounts WHERE
(locked=0) AND
(rpchar=0) AND
(age > $days OR dragonkills > 0 OR pk > 0 OR experience > $exp) AND
(level >= ".($session['user']['level']-1)." AND level <= ".($session['user']['level']+2).") AND
(alive=1 AND location=0) AND
(race>0 AND specialty>0) AND
(dragonkills >= ".($session['user']['dragonkills']-5).") AND
(laston < '".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." sec"))."' OR loggedin=0) AND
(acctid <> ".$session['user']['acctid'].")
ORDER BY level DESC";
[/php]

Und fertig ;) Hmm naja das Feld in der accounts Tabelle "rpchar"
kann abweichen das müsste man lediglich anpassen aber ein RP Char kann dann mit sicherheit nicht mehr angegriffen werden ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 15:57 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Kamui... Ein kleiner Hinweis. Du brauchst das Feld `rpchar` nicht erst aus der Tabelle zu wählen, um es auch in der WHERE-Klausel zu verwenden. Nur WHERE genügt ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 19:44 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
:D woher soll ich wissen, daß ihr für rpchars ein flag in der accounts tabelle habt? =)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 15 Mai, 2007 21:29 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Nightborn hat geschrieben:
:D woher soll ich wissen, daß ihr für rpchars ein flag in der accounts tabelle habt? =)


Das weiss eigentlich niemand.. Fehlende Normen, verstehst? ;)

Achja. Was ist über dich gekommen, dass du hier so oft Support gibst? :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 16 Mai, 2007 00:20 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
:lol:
ich missioniere :P

zuerst muß man die Herde aus dem finsteren (Bug)Tal führen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 19 Mai, 2007 20:00 
Offline
Held
Held
Benutzeravatar

Registriert: Mi 09 Aug, 2006 09:29
Beiträge: 267
Geschlecht: Männlich
Besten Dank, kappt natürlich :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 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:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum