Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [typedef t_werkzeug_saftpresse]
- on=@dclick
- src.infomessage Welche Frucht willst du entsaften?
- target
- return 1
- on=@targon_item
- if (!<isempty <def.saft_<src.targ.defname>>>)
- if (<src.targ.weight> < 10)
- src.infomessage Das ist zu wenig, um daraus genug Saft zu gewinnen.
- else
- src.infomessage Waehle ein Gefaess in das der Saft abgefuellt werden soll.
- targetf f_entsaften <src.targ.uid>
- endif
- else
- src.infomessage Das laesst sich nicht entsaften.
- endif
- return 1
- [function f_entsaften]
- ref1 = <argv0>
- if (<argo.type> != t_leere_getraenkeflasche) && (<argo.type> == t_volle_getraenkeflasche)
- if (STRCMPI(<argo.tag.type>,<def.saft_<ref1.defname>>) != 0)
- src.infomessage Da ist schon etwas komplett anderes drin.
- return 1
- endif
- elif (<argo.type> != t_leere_getraenkeflasche)
- src.infomessage So klappt das nicht.
- return 1
- endif
- if (<argo.tag0.fuellmenge> >= <argo.tag.volumen>)
- src.infomessage Das ist schon zu voll.
- return 1
- endif
- local.amount = <ref1.weight>
- local.maxamount = <eval (<argo.tag.volumen>-<argo.tag0.fuellmenge>)*10>
- if (<local.amount> > <local.maxamount>)
- local.amount = <local.maxamount>
- endif
- local.itemamount = <eval (<local.amount>/10)/((<ref1.weight>/<ref1.amount>)/10)>
- src.infomessage Du entsaftest <eval <local.itemamount>*10> <ref1.name>
- ref1.consume <local.itemamount>*10
- if (<argo.type> == t_leere_getraenkeflasche)
- serv.newitem <argo.tag.voll>
- serv.lastnewitem.color <def.saft_<ref1.defname>.color>
- serv.lastnewitem.tag.type = <def.saft_<ref1.defname>>
- serv.lastnewitem.bounce
- argo.consume 1
- ref2 = <serv.lastnewitem.uid>
- else
- ref2 = <argo.uid>
- endif
- ref2.tag0.fuellmenge += <eval (<local.amount>/10)*10>
- ref2.resendtooltip
Add Comment
Please, Sign In to add comment