CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Verkaufsmenü bei einem Händler

Nach unten 
2 verfasser
AutorNachricht
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptySo Aug 15, 2010 2:41 am

hey leute..
ich hab da ein problem, denn ich will ein rpg schreiben sozusagen und will einen händler bei dem man auch etwas verkaufen kann.. naja ich hab ehrlich gesagt keine wirkliche ahnung wie man das anstellt^^
das einziege was dabei rausgekommen ist, is das da was schon beschämend is find ich Embarassed

protected func SellMenu(id ID, object pClonk)
{
OpenTalk(pClonk);
var i;
while(Contents(i,0))
{
AddMenuItem(Format("%s verkaufen:%d",GetName(Contents(i,0)),GetValue(Contents(i,0))),"Sell",GetID(Contents(i,0)),pClonk,0,pClonk,0);
i++;
}
AddMenuItem("Auf Wiedersehen!","EndTalk",0,pClonk,0);
}
protected func Sell(id ID, object pClonk)
{
if(GetWealth(GetOwner(pClonk))>=GetValue(0,ID))
{
RemoveObject(ID,pClonk);
DoWealth(GetOwner(pClonk),GetValue(0,ID));
Sound("UnCash");
}

Kann mir wer helfen bitte? Crying or Very sad Verkaufsmenü bei einem Händler 97458
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptySo Aug 15, 2010 3:33 am

Macht OpenTalk() das Menü auf (CreateMenu)? Dann müsst es eigentlich funktionieren.
Allerdings verwirrt mich Sell() noch: Warum sollte ein Clonk zB 30 Clunker haben, um einen Tera verkaufen zu können? Verkaufen kann man doch eigentlich immer. Und bei Sell() geht eine Klammer zu wenig zu.

Edit: Oh, bei Contents() sollte das eher Contents(i, pClonk) heißen, schließlich willst du wohl den Clonk durchsuchen. Und bei Sell: RemoveObject() braucht als 1. Parameter keine ID, sondern das Objekt. Das solltest du dann noch an die Funktion übergeben.
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 1:18 am

Ok ich habs nochmal etwas überarbeitet, aber funktionieren tuts immer noch nicht, denn er zeigt mir nun immer noch an:
" ERROR: call to "Sell" parameter 1: got "id", but expected "object"! "

hier nochmal das überarbeitete script

protected func SellMenu(id ID, object pClonk)
{
OpenTalk(pClonk);
var i;
while(Contents(i,pClonk))
{
AddMenuItem(Format("%s verkaufen:%d",GetName(Contents(i,pClonk)),GetValue(Contents(i,pClonk))),"Sell",GetID(Contents(i,pClonk)),pClonk,0,pClonk,0);
i++;
}
AddMenuItem("Auf Wiedersehen!","EndTalk",0,pClonk,0);
}
protected func Sell(object pObject, object pClonk)
{
RemoveObject(object,pClonk);
DoWealth(GetOwner(pClonk),GetValue(0,ID));
Sound("UnCash");
}

Danke schonmal im voraus (hatte ich beim ersten text vergessen)
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 1:32 am

Zitat :
" ERROR: call to "Sell" parameter 1: got "id", but expected "object"! "
Der Error sagt: Aufruf "Sell": Erster Parameter ist ID, es wird aber ein Objektzeiger erwartet.
Klar: Ein Menü übergibt an die Funktion als 1. Parameter immer die ID, die bei AddMenuItem als 3. angegeben wurde.

Du kannst statt nur "Sell" anzugeben auch direkt die Parameter per Format() hineinpacken. Dazu musst du aber das Objekt erst in eine Objektnummer und dann wieder zurückverwandeln, denn Zeiger in Strings zu packen klappt nicht.
Also ersetze Sell durch
Format("Sell(Object(%d), Object(%d))", ObjectNumber(Contents(i, pClonk)), ObjectNumber(pClonk))
Nicht sehr schön, aber es klappt.
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 1:43 am

jetzt läuft garnichts mehr
er sagt mir jetzt ich hab nen syntax error
wie war das denn genau gemeint das ich das dadurch ersetzen soll?
soll ich einfach statt sell das da einfügen oder wie?
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 1:54 am

Ja. Die Anführungszeichen müssen dann aber natürlich auch weg.
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 1:58 am

ich weiß schon^^
so schlau war ich dann auch noch *stolz* Very Happy

ach und falls das was hilft, der händler basiert auf dem von dem RPG-Tutorial im Clonk Center
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 2:01 am

Hm, noch was:
Zitat :
protected func Sell(object pObject, object pClonk)
{
RemoveObject(object,pClonk);
DoWealth(GetOwner(pClonk),GetValue(0,ID));
Sound("UnCash");
}
Bei RemoveObject steht object, das muss natürlich pObject heißen, das gibt sonst nochmal nen Error. pClonk als Parameter brauchst du da gar nicht, der zweite Parameter tut nämlich was ganz anderes.
ID ist nicht definiert, da brauchst du GetValue(pObject).
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 2:06 am

ah danke^^ das letzte is mir kurz vorher auch nochmal aufgefallen das hatte ich übersehen
jetzt löscht er das objekt zumindest schonmal aber ich bekomme noch kein geld dafür..
Nach oben Nach unten
https://chosenküken.com
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 2:08 am

oh ne schon gut hab nur was vergessen^^
danke jetzt funktionierts einwandfrei Smile
Nach oben Nach unten
https://chosenküken.com
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 2:16 am

ok nein doch nicht eins hätte ich da noch warum gibt er mir für alles 25 clunker, egal wie viel es wert ist?
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 11:58 am

Ach klar, das Objekt wird entfernt und erst danach der Preis berechnet - das DoWealth muss natürlich an den Anfang, sonst ist das Objekt weg und dann wird der Preis des aufrufenden Objekts berechnet - eben die 25 Clunker vom Clonk.
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 3:06 pm

am anfang vom ganzen oder am anfang von der zeile?
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 3:24 pm

Am Anfang von Sell. Bevor das Objekt entfernt wird eben.
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 10:41 pm

ok hab ich nun getan doch jetzt zeigt er mir wieder nen error an nämlich genau das :
ERROR: call to "GetValue" parameter 2: got "object", but expected "id"!
Nach oben Nach unten
https://chosenküken.com
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDi Aug 17, 2010 10:43 pm

GetValue
Erster Parameter ist das Objekt.
Also GetValue(pObject).
Nach oben Nach unten
Hoffy
Leutnant
Leutnant
Hoffy


Männlich Anmeldedatum : 09.07.09

Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler EmptyDo Aug 19, 2010 3:40 am

ah stimmt ergibt sinn.. danke Smile
Nach oben Nach unten
https://chosenküken.com
Gesponserte Inhalte





Verkaufsmenü bei einem Händler Empty
BeitragThema: Re: Verkaufsmenü bei einem Händler   Verkaufsmenü bei einem Händler Empty

Nach oben Nach unten
 
Verkaufsmenü bei einem Händler
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: