Clonk-Center Titelbild

Clonk Center Forum / Allgemein / Scripthilfe DrugStore


[ ]


Seite 1[1]

Von Wipfkiller am 20.04.2008 09:32  
Hi Ich hab noch nich so viel Erfahrung mit scripts und brauch ein Haus in dem man ohne Flagge kaufen kann . Dafür hab ich einfach mal des script vom  Drug store raus kopiert.
Es funktioniert !Ich will aber das der text über den zu kaufenden Objekten angezeigt wird weil so weiß man nicht was man kauft .
Außerdem will ich ,dass man nur bestimmte sachen Kaufen kann.
Kann mir des bitte jemand erklären (Hoffentlich wieder mit tollen effekten ^^) ? danke hier soweit des script


public func IndividualOffers() { return(ObjectCount(DRSI)); }
//   public func Drugstore_HomebaseMaterialPlayer() { return([Spielernummer]); }
public func HomebaseMaterialPlayer() { return(GameCall("DrugstoreebaseMaterialPlayer")); }

public func ContainedDigDouble(object pClonk)
{
  // Menü erzeugen
  CreateMenu(GetID(), pClonk, this(), 2, "$WithdrawMoney$");
    AddMenuItem("$WithdrawMoney$", "Withdraw", SFT2, pClonk, 0, pClonk, 0, 128, 0, 10);
    
}

protected func Withdraw(id bagId, object pClonk, bool dummy, int iValue)
{

DoWealth(GetOwner(pClonk), -iValue);
  var cObj = pClonk;
RemoveObject(SFT1,0,0);
CreateObject(SFT2,0,0);
  if(pClonk->~RejectCollect(bagId)) cObj = this();
  var bag = CreateContents(bagId, cObj);
  // Besitzer setzen
  SetOwner(GetOwner(pClonk), bag);
  // Wert setzen
  bag->~SetValue(iValue);
  // Geräusch!
  Sound("Uncash", 1, 0,0, GetOwner(pClonk));
}

/* Kaufmenü */
protected func ContainedUp(object pClonk)
{
  [$BuyMenu$]
    // Etwaige Menüs schließen
  if(GetMenu()) CloseMenu();
  // Menü erzeugen
  CreateMenu(DRST, pClonk, 0,C4MN_Extra_Value, "$NoBuyMaterial$", 0, 0, 1);
  // Individuelle Angebote nutzen?
  var iPlr = HomebaseMaterialPlayer();
  if(IndividualOffers()) iPlr = GetOwner(pClonk);
  // Items hinzufügen
  var Id, i;
  while(Id = GetHomebaseMaterial(iPlr, 0, i++, C4D_All))
    AddMenuItem("$BuyDesc$", "BuyItem", Id, pClonk, GetHomebaseMaterial(iPlr, Id), ObjectNumber(pClonk), GetDesc(0,Id), 128, 0, GetValue(0,Id,0,iPlr));
  return(1);
}

private func BuyItem(id Id, int iClonk, bool fSpecial2, int iVal)
{
  
  var pClonk = Object(iClonk);
  var buyPlayer = HomebaseMaterialPlayer(), cashPlayer = GetOwner(pClonk), BuyToObj, BoughtObj;
  if(IndividualOffers()) buyPlayer = cashPlayer;

  // Geldfix
  var value = GetValue(0,Id,this(),buyPlayer);
  if(value > GetWealth(cashPlayer))
    {
    // Fehler
    Sound("Error",1,0,100,cashPlayer);
    return(PlayerMessage(cashPlayer,"$NoMoney$",this()));
    }
  else
    {
    DoWealth(buyPlayer, +value);
    DoWealth(cashPlayer, -value);
    }

  while(BoughtObj = Buy(Id, cashPlayer, buyPlayer, this(), true))
    {
    // gekauftes Objekt ist ein Mannschaftsmitglied
    if(GetOCF(BoughtObj) & (OCF_CrewMember | OCF_Alive))
      {
      // Startet hier mit voller Energie
      DoEnergy(GetPhysical("Energy",0,BoughtObj) / 1000, BoughtObj);
      }
    else if (pClonk && GetDefCollectible(Id) && !GetDefCoreVal("NoGet", "DefCore", Id))
      {
      // Objekt tragbar? Dann in den Clonk, wenn er will, ansonsten im Drugstore lassen
      Collect(BoughtObj, pClonk);
      }
    Sound("Uncash", 1, 0,0, cashPlayer);
    // Noch mehr kaufen?
    if(!fSpecial2 || !GetHomebaseMaterial(buyPlayer, Id)) break;
    }

  // Menü neu erzeugen
  var sel = GetMenuSelection(pClonk);
  ContainedUp(pClonk);
  SelectMenuItem(sel, pClonk);
  return(1);
}


sry das des  ein wenig lang is

Von Speed am 20.04.2008 18:10  
im Clonk Forum wurde darauf schon geantwortet

Von Wipfkiller am 21.04.2008 16:39  
nur der erste teil

Von Methos am 20.04.2008 18:24  
Du redest von Hilfe willst aber eig. alles gemacht bekommen.

Von Wipfkiller am 21.04.2008 16:44  
ich fände es auch toll wenn es mir jdn erklären könnte dass ichs dann für weitere scenarien nutzen könnte .
Aber auf solche telllen Kommentare kann ich verzichten

Von Deffi am 21.04.2008 17:06  
Wenn's doch aber wahr ist?

Edit: Was heißt eigentlich "telllen"? Oo

Von Wipfkiller am 21.04.2008 17:50  
sry tollen

Von mozart am 21.04.2008 15:46  
Hilfe gibts beim CNDG, Clonk Newbie Developer Guide

Von Lumai am 03.05.2008 12:04  
Omg wie viele Clonkforen denn noch? Das auf clonk.de reicht doch eigentlich schon?

Von Deffi am 03.05.2008 13:27  
Hey, lass jedem doch das was er will.

Von mozart am 04.05.2008 06:44  
Das CNDG bietet Tutorials und Scripthilfe an. Die Scripthilfe ist meines Wissens nach sonst niergendswo. Korriegiert mich, wenn ich falsch liege.

Von Luchs am 04.05.2008 11:09  
Und was ist mit dem Entwicklerbereich im CF? Da wird nicht geholfen?

Von Deffi am 04.05.2008 13:39  
Ich schätze mal, eine Seite für Tutorials ist eigentlich nicht schlecht.

Seite 1[1]