anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 22:21

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Items-Krankheiten
BeitragVerfasst: Fr 08 Jun, 2007 13:46 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Also ich hätte da mal zwei Fragen:

1.) Und zwar wollte ich gewisse Items einbauen, die Spieler im Wald finden können. Diese Items erlauben es dann zu anderen Orten zu gelangen. (bzw. neue addnavs werden frei...)
Soweit so gut, aber...
welche Befehle muss ich im Script jeweils verwenden, wenn der jeweilige Spieler nun auf den addnav klickt, dass das Item dann weg ist (nicht mehr im Inventar)

2.) Und zwar habe ich vor Krankheiten einzubauen, die nicht nur für 5 oder 20 Runden halten sollen, sondern für immer.
Weiß jemand wie man das für immer einstellt??

Ich bitte euch um euere Hilfe und wäre euch sehr dankbar, wenn ihr mir helfen könntet.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 11 Jun, 2007 09:49 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 24 Okt, 2005 23:20
Beiträge: 180
Geschlecht: Männlich
LoGD: http://logd.wyrmslayer.de
1. Der Addnav muss ja irgendwo hinführen, und genau in dem script würde ich die Löschung rein machen.

DELETE FROM items WHERE class = 'blablubb' AND owner = '$session['user']['acctid']'

oder so ähnlich (hatte noch keinen kaffee heute)

2. db-feld 'krankheit' in die accounts

und in die newday

if ($session['user']['krankheit']==1) blablubb ;

_________________
YoM hat geschrieben:
LÖLz... ne, dafür ham wir unsere Mods, als Admins dürfen wir ehrlich sein. *gg*
---Original Message---
bist du eigentlich zum freundlich sein verpflichtet?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 11 Jun, 2007 16:17 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
@Bill Tür: Schon wieder ein neues Datenbankfeld? Wieso nicht user['prefs'] verwenden? Kann man ja dann selbstständig löschen beim Drachen...

@Frage 1) Ein "DELETE FROM items WHERE class = 'blablubb' AND owner = '$session['user']['acctid']' " find ich nicht nett. Geht so sowieso nicht (wird n' Fehler werfen). Besser ist es, die ID zu löschen, falls man die hat, oder aber der Name in Verbindung mit der Account-ID mit Limit, damit man das Item mehrere male finden kann:

$this->bbcode_second_pass_code('', 'DELETE FROM `items` WHERE `class` = ? AND `name` = ? AND owner = ? LIMIT 1')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 12 Jun, 2007 08:48 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 24 Okt, 2005 23:20
Beiträge: 180
Geschlecht: Männlich
LoGD: http://logd.wyrmslayer.de
Eliwood hat geschrieben:
@Bill Tür: Schon wieder ein neues Datenbankfeld? Wieso nicht user['prefs'] verwenden? Kann man ja dann selbstständig löschen beim Drachen...


sry, ich geh da immer von mir aus, ich hab knapp 100 aktive User, von denen die Hälfte nimmer klickt sondern nur RP´d, da läuft der Server flüssig, egal wie ich meine DB vollpfropf *gg*

Eliwood hat geschrieben:
@Frage 1) Ein "DELETE FROM items WHERE class = 'blablubb' AND owner = '$session['user']['acctid']' " find ich nicht nett. Geht so sowieso nicht (wird n' Fehler werfen). Besser ist es, die ID zu löschen, falls man die hat, oder aber der Name in Verbindung mit der Account-ID mit Limit, damit man das Item mehrere male finden kann:

$this->bbcode_second_pass_code('', 'DELETE FROM `items` WHERE `class` = ? AND `name` = ? AND owner = ? LIMIT 1')


Wie gesagt, ich hatte noch keinen Kaffee, da geb ich keine Garantien ;)

_________________
YoM hat geschrieben:
LÖLz... ne, dafür ham wir unsere Mods, als Admins dürfen wir ehrlich sein. *gg*
---Original Message---
bist du eigentlich zum freundlich sein verpflichtet?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 16 Jun, 2007 08:02 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Erst Mal ein großes Dank schön für die Hilfe...

Könntest du vielleicht das if ($session['user']['krankheit']==1){blabuub}
etwas genauer ausführen?? (Weil ich das irgendwie nicht hinkriege...)

Accounts: Krankheit, habe ich ausgeführt.

Also in dem special hab ich benutzt:
$session[user][krankheit]=1;

In der newday:
if ($session['user']['krankheit']==1){ "defmod"=>0.8,"atkmod"=>0.8,"minioncount"=>1,"mingoodguydamage"=>1,"maxgoodguydamage"=>$session['user']['level']/2,
"roundmsg"=>"`#Deine Infektion schadet dir!`0","activate"=>"offense","activate"=>"defense");}

Aber das kann ja nicht stimmen... Ich will mit Krankheit==1 folgendes erreichen: -Dauernde Krankheit (Jeden Ingametag...unendlich lange)
-Verringerung der ATK und Vert.

Wäre euch sehr dankbar wenn ihr mir das beantworten könntet.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 16 Jun, 2007 11:01 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Superman hat geschrieben:
Erst Mal ein großes Dank schön für die Hilfe...

Könntest du vielleicht das if ($session['user']['krankheit']==1){blabuub}
etwas genauer ausführen?? (Weil ich das irgendwie nicht hinkriege...)

Accounts: Krankheit, habe ich ausgeführt.

Also in dem special hab ich benutzt:
$session[user][krankheit]=1;

In der newday:
if ($session['user']['krankheit']==1){ "defmod"=>0.8,"atkmod"=>0.8,"minioncount"=>1,"mingoodguydamage"=>1,"maxgoodguydamage"=>$session['user']['level']/2,
"roundmsg"=>"`#Deine Infektion schadet dir!`0","activate"=>"offense","activate"=>"defense");}

Aber das kann ja nicht stimmen... Ich will mit Krankheit==1 folgendes erreichen: -Dauernde Krankheit (Jeden Ingametag...unendlich lange)
-Verringerung der ATK und Vert.

Wäre euch sehr dankbar wenn ihr mir das beantworten könntet.


Unendlich lange geht nicht wirklich ohne weiteres.

Es sei denn, du installierst dir das da: http://dragonprime.net/index.php?topic=2449.0
Dann gehts. " "rounds" =>-1 ", ansonsten halt " "rounds" => 9999" oder so. (Ohne die äusseren " (!))

Edit: Und ich seh da grad nochmal was... Was ist eigentlich los hier, wer ist der Urheber dieses Fehlers, der in letzter Zeit öfters mal auftaucht?

Der Buff, den du willst, hört sich so an:
[php]$session['bufflist']['krankheit'] = array(
"defmod"=>0.8,
"atkmod"=>0.8,
"activate"=>"offense, defense",
"rounds" => 9999
);[/php]

Minioncounts brauchst du hier nicht, und goodguydamage funktioniert standardgemäss nicht wirklich.. ka warum nicht (Oder wars in Verbindung mit badguydmg? Ach egal).

Um in Zukunft solche Fehler zu vermeiden, empfehl ich dir dringenst meinen Buffwizard!

=> http://anpera.homeip.net/forum/viewtopi ... ard&t=1821


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 24 Jun, 2007 15:46 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Also ich habe jetzt mein Problem vorerst so gelöst:

[php]if (db_num_rows(db_query("SELECT * FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'"))){
db_query("DELETE FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'");
}[/php]

Jetzt ist es aber so, dass das Item "Admin-Erlaubnis" , wenn man sie benutzt hat, aus der gesamten Item Liste gelöscht wird und niemand anders es finden kann.

Wo müsste denn Limit 1 oder so stehen???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 24 Jun, 2007 15:46 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Also ich habe jetzt mein Problem vorerst so gelöst:

[php]if (db_num_rows(db_query("SELECT * FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'"))){
db_query("DELETE FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'");
}[/php]

Jetzt ist es aber so, dass das Item "Admin-Erlaubnis" , wenn man sie benutzt hat, aus der gesamten Item Liste gelöscht wird und niemand anders es finden kann.

Wo müsste denn Limit 1 oder so stehen???



2.) Und noch mal zu den Kranheiten:
Wenn ich das jhetzt so mache wie du das gesagt hast Elliwood...wie mache ich das denn, dass bei Aktionen dann nicht steht 9999 Runden übrig, sondern nur Infektion????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 24 Jun, 2007 20:25 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Superman hat geschrieben:
Also ich habe jetzt mein Problem vorerst so gelöst:

[php]if (db_num_rows(db_query("SELECT * FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'"))){
db_query("DELETE FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'");
}[/php]

Jetzt ist es aber so, dass das Item "Admin-Erlaubnis" , wenn man sie benutzt hat, aus der gesamten Item Liste gelöscht wird und niemand anders es finden kann.

Wo müsste denn Limit 1 oder so stehen???


Am Schluss, WHERE 1 LIMIT 1

Superman hat geschrieben:
2.) Und noch mal zu den Kranheiten:
Wenn ich das jhetzt so mache wie du das gesagt hast Elliwood...wie mache ich das denn, dass bei Aktionen dann nicht steht 9999 Runden übrig, sondern nur Infektion????


"rounds" => -1,


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 01 Jul, 2007 16:16 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Nochmals Danke für deine Hilfsbereitschaft...

1.) Aber das mit dem LIMIT 1 funktioniert net, dann kommt folgende Fehlermeldung:

DELETE FROM items WHERE 1 LIMIT 1 owner=122 AND class='Beute' AND name='Admin-Erlaubnis'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'owner=122 AND class='Beute' AND name='Admin-Erlaubnis'' at line 1

2.) Also ich habe dieses Unendlichdingsda installiert und es funktioniert auch gut.... Also das wenn man es einmal hat...dann hat mans, soviele Runden man nun mal hat.

Aber an einem neuen Tag bzw. wenn man wiedererweckt wird, dann geht die Infektion auch weg...

Und meine Absicht war es ja, dass Spieler die Infekjtion immer haben...(auch an jedem neuen Tag bzw. nach der Wiedererweckung)

Hättest du dafür eine mögliche Lösung????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 01 Jul, 2007 16:36 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Superman hat geschrieben:
Nochmals Danke für deine Hilfsbereitschaft...

1.) Aber das mit dem LIMIT 1 funktioniert net, dann kommt folgende Fehlermeldung:

DELETE FROM items WHERE 1 LIMIT 1 owner=122 AND class='Beute' AND name='Admin-Erlaubnis'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'owner=122 AND class='Beute' AND name='Admin-Erlaubnis'' at line 1

2.) Also ich habe dieses Unendlichdingsda installiert und es funktioniert auch gut.... Also das wenn man es einmal hat...dann hat mans, soviele Runden man nun mal hat.

Aber an einem neuen Tag bzw. wenn man wiedererweckt wird, dann geht die Infektion auch weg...

Und meine Absicht war es ja, dass Spieler die Infekjtion immer haben...(auch an jedem neuen Tag bzw. nach der Wiedererweckung)

Hättest du dafür eine mögliche Lösung????


Oh mann -.-
Die Eins nach der Where-Klausel war selbstredend Platzhalter für jegliche Selektierargumente. Sagte ich ja, dass das Limit [b]an den Schluss[/b gehört. Ich sehs bei dir nicht am Schluss!

Das mit dem neuen Tag is'n Bug. Im Changelog müsste der Fix stehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 01 Jul, 2007 18:12 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Oh....mann. Ich kapiere jetzt gar nichts mehr.

Zu 1.) [php] if (db_num_rows(db_query("SELECT * FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis'"))){
db_query("DELETE FROM items WHERE owner=".$session[user][acctid]." AND class='Beute' AND name='Admin-Erlaubnis' LIMIT 1");
[/php]

LIMIT 1 ist nun am Ende...und es klappt trotzdem nicht...Diese Erlaubnis wird von der Itemliste beim Item Editor immer noch komplett gelöscht und nicht, wie ich es haben wollte die User ID....


Zu 2.) Und was genau bedeutet das ... FIX... Hähhh ???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 07 Jul, 2007 15:44 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
?...............................................?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 16 Jul, 2007 16:51 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...Bitte...

helft mir....



Ich habe keine Ahnung wo der CHangelog usw. ist...


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 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