Pysk Posted January 23, 2012 Group: Members Topic Count: 75 Topics Per Day: 0.02 Content Count: 234 Reputation: 8 Joined: 01/19/12 Last Seen: April 20, 2020 Share Posted January 23, 2012 Guten Abend. Wie kann ich einem NPC sagen das er eine ID Range abchecken soll? Es geht darum, ich würde gernen einen NPC schreiben der die Card Range abfragte also von 4001 - 4453 und erkennt ob ich eines dieser ID Range im Inventar habe, oder 2 oder mehr, egal wie viele. Also ich spreche den NPC an und er fragt mich ob ich meine Cards gegen punkte eintauschen will würde heißen 1 Card = 1 Punkt 2 Cards = 2 Punkte usw. Der NPC müsste als erkennen ob und wie viele Cards ich besitze und diese löschen, wenn ich sage ich möschte meine Cards eintauschen. Das ganze soll natürlich nur für Cards gelten die im Inventar liegen, nicht im EQ. Kann mir jemand netterweise ein kleines beispiel schreiben wie ich das anstelle? Quote Link to comment Share on other sites More sharing options...
May Posted January 24, 2012 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 34 Reputation: 0 Joined: 01/15/12 Last Seen: October 15, 2015 Share Posted January 24, 2012 (edited) Es gibt doch schon so einen NPC. Card Trader wenn ich mich nicht irre. Und er erkennt jede Card was du im Inventar hast. Müsstest im alten Ea Forum nachschauen oder ob es hier auch schon einen gibt. Das könnte dich interessieren: http://www.eathena.w...l=Card+Trader http://www.eathena.ws/board/index.php?showtopic=269190&hl=Card+Trader Edited January 24, 2012 by May Quote Link to comment Share on other sites More sharing options...
Pysk Posted January 24, 2012 Group: Members Topic Count: 75 Topics Per Day: 0.02 Content Count: 234 Reputation: 8 Joined: 01/19/12 Last Seen: April 20, 2020 Author Share Posted January 24, 2012 Card Trader verkauft Cards, das ist nicht das was ich suche. Zum Link den du geschickt hast, der hilft mir nicht da der NPC ja nur Coins tauscht. Ich könnte wohl jede Card die es gibt in ein fi countitem eintragen, aber das ist mühselig, Ich suche eine möglichkeit wie der NPC mit bzw if countitem einen ID bereich abfragen kann... Quote Link to comment Share on other sites More sharing options...
Hismoon Posted January 24, 2012 Group: Members Topic Count: 7 Topics Per Day: 0.00 Content Count: 48 Reputation: 0 Joined: 12/07/11 Last Seen: March 15, 2022 Share Posted January 24, 2012 (edited) Hier der wichtigste Teil von so einem Script. //- Prüfen ob der Spieler Cards bei sich hat (ID Range 4000 - 4700) getinventorylist; set @amount, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @amount, @amount +@inventorylist_amount[.@i]; } } //- Sollte der Spieler keine Cards bei haben if (!@amount){ mes "Keine Cards dabei."; close; } //- Anzeige was für Cards der Spieler bei sich hat und in welcher Menge mes "Du hast folgende Karten in deinem Inventory:"; set @points, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @points, @points +@inventorylist_amount[.@i] *$Card_PTS; mes "^FF0000"+countitem(@inventorylist_id[.@i])+"x "+getitemname(@inventorylist_id[.@i])+"^000000"; } } //- Löschen der Cards aus dem Inventar for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ delitem @inventorylist_id[.@i], @inventorylist_amount[.@i]; } } //- Punkte vergabe oder sonst irgendwas als Belohnung für die Abgabe der Cards set #CARDPOINTS, #CARDPOINTS +@points; Den Rest wie z.B. Texte und wo der NPC stehen soll, darfst du dir überlegen. Edited January 24, 2012 by Hismoon Quote Link to comment Share on other sites More sharing options...
May Posted January 24, 2012 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 34 Reputation: 0 Joined: 01/15/12 Last Seen: October 15, 2015 Share Posted January 24, 2012 (edited) Ehm Card Trader verkauft keine Cards sondern tauscht Cards gegen Punkte oder sonst was xD. Kannst von mir aus ihn Umbennenen in "Card Exchanger". Naja aber Hismoon hat dir ja ne Einleitung geschickt. Gut gemacht Benny xD! Edited January 24, 2012 by May Quote Link to comment Share on other sites More sharing options...
Pysk Posted January 24, 2012 Group: Members Topic Count: 75 Topics Per Day: 0.02 Content Count: 234 Reputation: 8 Joined: 01/19/12 Last Seen: April 20, 2020 Author Share Posted January 24, 2012 (edited) Hier habe den NPC endlich gefunden http://www.eathena.ws/board/index.php?act=attach&type=post&id=2945 Das ist im übrigen der NPC den ich eigentlich suche... http://forums.irowik...ead.php?t=14054 Also ich habe das jetztmal zum teste so gemacht: prontera,152,195,5 script Card Converter 97,{ mes "[Card Converter]"; mes "Wie kann ich dir helfen?"; menu "Cards eintauschen",card_t; card_t: next; mes "[Card Converter]"; //- Prüfen ob der Spieler Cards bei sich hat (ID Range 4000 - 4700) getinventorylist; set @amount, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @amount, @amount +@inventorylist_amount[.@i]; } } //- Sollte der Spieler keine Cards bei haben if (!@amount){ mes "Du hast keine Karten dabei"; close; } //- Anzeige was für Cards der Spieler bei sich hat und in welcher Menge mes "Du hast folgende Karten in deinem Inventory:"; mes "Willst du sie tauschen?"; set @points, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @points, @points +@inventorylist_amount[.@i] *$Card_PTS; mes "^FF0000"+countitem(@inventorylist_id[.@i])+"x "+getitemname(@inventorylist_id[.@i])+"^000000"; next; menu "Ja",ja,"Nein",nein; } } ja: next; mes "[Card Converter]"; //- Löschen der Cards aus dem Inventar for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ delitem @inventorylist_id[.@i], @inventorylist_amount[.@i]; } } //- Punkte vergabe oder sonst irgendwas als Belohnung für die Abgabe der Cards set #CARDPOINTS, #CARDPOINTS +@points; close; nein: close; } Das ganze Funktioniert auch richtig. zwei Fragen bleiber aber offen. 1. Wo merkt der NPC sich wie viele Punkter der einzelne Spieler hat, da sie im SQL nicht zu finden sind. 2. Wie lasse ich den NPC anzeigen wie viele Punkte der Spieler hat? Edited January 24, 2012 by Pysk Quote Link to comment Share on other sites More sharing options...
Dr3am3r Posted January 26, 2012 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 13 Reputation: 0 Joined: 01/09/12 Last Seen: March 8, 2013 Share Posted January 26, 2012 Ehm, hab das jez nur ma kurz überflogen aber... set #CARDPOINTS, #CARDPOINTS +@points; In der Variablen [#CARDPOINTS] sieht doch ganz gut aus Quote Link to comment Share on other sites More sharing options...
Pysk Posted January 26, 2012 Group: Members Topic Count: 75 Topics Per Day: 0.02 Content Count: 234 Reputation: 8 Joined: 01/19/12 Last Seen: April 20, 2020 Author Share Posted January 26, 2012 Habe den NPC jetzt mal getestet und ins deutsche übersetzt, klappt wunderbar. Quote Link to comment Share on other sites More sharing options...
Innos Posted February 2, 2012 Group: Members Topic Count: 18 Topics Per Day: 0.01 Content Count: 62 Reputation: 5 Joined: 08/23/17 Last Seen: March 11, 2019 Share Posted February 2, 2012 (edited) zwei Fragen bleiber aber offen. 1. Wo merkt der NPC sich wie viele Punkter der einzelne Spieler hat, da sie im SQL nicht zu finden sind. 2. Wie lasse ich den NPC anzeigen wie viele Punkte der Spieler hat? 1. global_reg_value 2. mes " " + #CARDPOINTS + " "; Wenn das ne Quiz Frage war Edited February 2, 2012 by InnosTM Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.