anpera.net
https://anpera.dyndns.org/phpbb3/

Wenn Itembesitz dann...
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=2503
Seite 1 von 1

Autor:  stomich [ Fr 28 Apr, 2006 23:36 ]
Betreff des Beitrags:  Wenn Itembesitz dann...

Hallo!
Ich habe seit einiger Zeit mein eigenes LOGD und möchte jetzt eine eigene Erweiterung schreiben. Ich habe ein Lagerhaus erstellt, aber man soll nur ein können, wenn man ein bestimmtes Item hat. Wie mache ich das?

Vielen Dank für eure Hilfe!

MfG somich

Autor:  Auric [ Sa 29 Apr, 2006 12:42 ]
Betreff des Beitrags: 

[php]
$itemname = "bla"; // Hier den namen des Items eintragen
$sql="SELECT name FROM items WHERE owner = ".$session[user][acctid]." AND name = '".$itemname."'";
$result=db_query($sql);
if(db_num_rows($result) > 0) {
// Wenn der User mindestens ein solches Item hat
} else {
// wenn der user kein solches item hat
}[/php]

Hier wird als benutzer der aktuelle user und nach dem Namen des Items gesucht, du kannst auch nach itemklassen suchen lassen...

Autor:  granatenhase [ So 30 Apr, 2006 09:50 ]
Betreff des Beitrags: 

:!: Yeah alles cool !!
Dieser skript ist klasse!! Ich danke dir Auric!
Also das ist ja ziemilch cool aber ich habe ne frage, ich bin auch noch nicht so lange in der logd scene und ich kann genau so viel php wie mysql (wohl bemerkt dass ich kein mysql kann :cry: )
Aber gut spass bei seite , wenn Stomich sich nicht bedankt dann mache ich es!
Aber gut hier meine frage, hoffentlich kann einer von euch mir helfen!
Ich mache ein ereigniss aber ich will dass man das nur einmal oder nur 2 mal wenn man glück hat aufrufen kann..
Aber ich sitze nun schon sehr lange an einem skript doch der geht nicht
ich bin schon fast am verzweifeln.. währe nett wenn sich einer opfert und mir einen skript hinpostet dass dies nur einmal geht thx

mit freundlichen grüssen granatenhase



ps an die mods , ich poste das hier hin da stomichsfrage ja schon beantwortet wurde und ich dachte dass ich also auch eine frage stellen darf , falls ich hiermit blödsinn gemacht habe bitte ich um enschuldigung!

Autor:  Auric [ So 30 Apr, 2006 14:09 ]
Betreff des Beitrags: 

Endlich mal wieder ein Neuer, der sich höflich bedankt und scheinbar sogar lernwillig ist. ^^

Aber nun zu deiner Frage:
Wenn ich das richig verstanden habe, möchtest du ein waldspecial erstellen, das man nur ein oder zweimal pro Drachenkill erreichen kann, ist das richtig?

Dazu bäuchte man einen neuen Eintrag in der accounts-tabelle in diesem fall etwa so:
$this->bbcode_second_pass_code('', 'ALTER TABLE `accounts` ADD xyz TINYINT NOT NULL default 0')

Nun musst du dein komplettes special in eine if abfrage "einpacken", die prüft, ob dieser User das Special schon hatte und wenn ja, ob er glück hat und es ein zweites mal "haben" darf. Dazu kommt noch ein Abschnitt, der in die Datenbank einträgt, das der User das Special nun hatte. Das sieht dann etwa so aus:
[php]if(($session['user']['xyz']==0) || ($session['user']['xyz']==1 && e_rand(1,3)==3) {
// Wenn der User das Special zum ersten mal hat,
// oder zum zweiten mal und dazu noch Glück hat:

/* Hier das Special hineinschreiben */

// Nach dem Special wird der Gespeicherte Wert noch erhöht.
$session['user']['xyz']++;
} else {
// Wenn der User das special nicht noch einmal haben darf:

}
// Ende[/php]

Beim Drachenkill setzt LotgD das Feld automatisch auf 0 zurück. So kann der User das Special maximal zweimal pro DK haben. Hatte er es schon einmal und wird dann abgewiesen, weil die "Glücksberechnung" (hier: Zahl zwischen 1 und 3 muss 3 sein) nichtt zu seinen Gunsten war, so hat er dennoch die Chance das Special erneut anzutreffen, sodass wieder gelost wird. Wenn er zweimal das Special hatte, wird es unmöglich und es kammt immer der else-Part.

Dorst solltest du irgendetwas unscheinbares hinschreiben wie "Du wanderst eine Weile durch den Wald" oder so.

Ich hoffe, das hilft dir weiter - das "xyz" solltest du am besten an allen Stellen in etwas passenderes Ändern.

Viel Glück! :wink:

Autor:  granatenhase [ So 30 Apr, 2006 14:48 ]
Betreff des Beitrags: 

Danke Auric, für deine Hilfe
es funktioniert perfekt!!
Nur eine Frage ich kann diesen Skript ja immer benutzen oder auch wenn es jetzt um das betreten von einem ort geht?
Das müsste ja gehen wegen den datenbankeinträgen, glaube ich oder?


Nochmals viel dank

mfg granatenhase


Ps der link in deiner signatur geht nicht!!

Autor:  Auric [ So 30 Apr, 2006 22:14 ]
Betreff des Beitrags: 

Ja, das Script ist allgemein gehalten, sodass es auch bei Orten geht.

Dann musst du eben einen Weiteren Eintrag in der Datenbank vornehmen, es seie denn du willst, dass man entweder das script oder den Ort einmal (mit glück zweimal) besuchen kann, dann müssen die verweise gleich bleiben.

Normalerweise ist dies wohl jedoch nicht der Fall, also ein neies Feld in der DB und die
$session['user']['blablabla'] ändern.

Auric

PS: :pein: D'Oh, da hab ich shcon ne schnieke .de domain und schreib sie nirgend hin^^ - Dürfte jetzt alles gehen.

Autor:  granatenhase [ So 30 Apr, 2006 23:50 ]
Betreff des Beitrags: 

:o woher kannst du das denn so gut??
Ist echt cool wie du das kannst..

ja, es funzt wieder!

mfg granatenhase

Autor:  Auric [ Mo 01 Mai, 2006 12:39 ]
Betreff des Beitrags: 

einfach ein hübschens Büchlein über PHP & mysql lesen und dann an LotgD Scripts lesen und rumprobieren, was geht.

Also alles was ich bisher so drauf hab, habe ich mir in maximal nem Halben Jahr angeeignet - und es lohnt sich.

Autor:  granatenhase [ Mo 01 Mai, 2006 16:35 ]
Betreff des Beitrags: 

:D Ich sehe dass es sich lohnt, ich werde mir auch ein buch aneignen denn mit lotgd übe ich ja schon fleissig!
Aber im moment muss ich noch das buch über Visual basic 6 beenden!

:pein: Ich wünschte ich könnte den kram sofort aber dann würde es auch nicht so viel spass machen es zu entdecken! :D

Autor:  Garlant [ Di 02 Mai, 2006 16:38 ]
Betreff des Beitrags: 

Granatenhase hat geschrieben:
Surprised woher kannst du das denn so gut??
Ist echt cool wie du das kannst..

ja, es funzt wieder!

mfg granatenhase


[spam]
Um das Feld ab zu fragen brauch man noch nicht einmal php Kenntnisse :lol:
na gut, für die if abfrage vielleicht...
[/spam]

Ich würde hier ja jetzt gern noch ein Wörtchen hier her schreiben, doch das lasse ich doch lieber. ...

Autor:  granatenhase [ Mi 03 Mai, 2006 13:01 ]
Betreff des Beitrags: 

:? Tja garlant das ist doch egal hauptsache es geht so wie ich es möchte , und schliesslich hast du mir ja nicht geholfen also kann es dir ja egal sein oder? :baeh:
Iss nicht böse gemeint aber wenn du nicht hilfst brachst du das ja nicht zu kommentieren... :D
Jedenfalls will ich keinen streit mit dir! :)

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/