View Single Post
  #6  
Old 11-29-2009, 10:04 PM
fowlplay4 fowlplay4 is offline
team canada
fowlplay4's Avatar
Join Date: Jul 2004
Location: Canada
Posts: 5,200
fowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond repute
You can only add weapons and decrease rupees on the server-side, you have the right idea but let's just modify it a little.

PHP Code:
function onActionServerSide() {
  
// The parameters are received from the client-side
  // in an array like so: {"buy", "jeep"}
  // Assuming "jeep" was in this.item when it was triggered
  
if (params[0] == "buy") {
    switch (
params[1]) {
      case 
"jeep":
        
// Check to see if they enough rupees
        
temp.cost = 15;
        if (
player.rupees >= temp.cost) {
          
// Add weapon and deduct rupees from player 
          
addweapon("Jeep2");
          
player.rupees -= temp.cost;
        }
        break;
    }
  }
}

//#CLIENTSIDE 

function onPlayertouchsme() { 

  new 
GuiWindowCtrl("Shop_Window4") { 
    
profile = GuiBlueWindowProfile; 
    
clientrelative = true; 
    
clientextent = "544,447"; 
    
visible = true; 
    
canmove = true; 
    
canresize = false; 
    
canmaximize = false; 
    
closequery = false; 
    
destroyonhide = true; 
    
text = "Willkommen im Waffenshop"; 
    
x = 29; 
    
y = 115; 

    new 
GuiScrollCtrl("Shop_TextList1_Scroll") { 
      
profile = GuiBlueScrollProfile; 
      
height = 426; 
      
hscrollbar = "alwaysOff"; 
      
vscrollbar = "dynamic"; 
      
width = 120; 
      
x = 9; 
      
y = 15; 

      new 
GuiTextListCtrl("Shop_TextList1") { 
        
profile = GuiBlueTextListProfile; 
        
height = 426; 
        
horizsizing = "width"; 
        
width = 99; 

        
clearrows(); 
        
addrow(0,"Jeep"); 
      } 
    } 
    new 
GuiScrollCtrl("Shop_MultiLine1_Scroll") { 
      
profile = GuiBlueScrollProfile; 
      
height = 426; 
      
hscrollbar = "dynamic"; 
      
vscrollbar = "dynamic"; 
      
width = 403; 
      
x = 138; 
      
y = 14; 

      new 
GuiMLTextCtrl("Shop_MultiLine1") { 
        
profile = GuiBlueMLTextProfile; 
        
height = 16; 
        
horizsizing = "width"; 
        
text = "<center><h1>Willkommen im Waffenshop!</h1><br> Hier erhalten sie eine Vielzahl an Mitteln um Ihre Gegner auszulöschen</center>"; 
        
width = 378; 
      } 
    } 
    new 
GuiButtonCtrl("Shop_Button1") { 
      
profile = GuiBlueButtonProfile; 
      
text = "Kaufen"; 
      
width = 80; 
      
x = 286; 
      
y = 380; 
    } 
  } 
} 

function 
Shop_TextList1.onSelect( entryid, entrytext, entryindex ) { 
  switch ( 
entrytext ) { 
    case 
"Jeep": 
    
this.item = "Jeep"; 
    
temp.description = "<center><h1>Bombe</h1><br> Sprenge deine Gegner in die Luft!</center> Preis: 15g"; 
    break; 
  } 

  
Shop_MultiLine1.setText( temp.description ); 
} 

function 
Shop_Button1.onAction() { 
  
// Button "Kaufen" has been pressed
  // Triggers onActionServerside (on the server-side of course)
  // sending "buy" and this.item as parameters.
  
if (checkCost(this.item)) {
    
// Display Item Purchased
    
Shop_MultiLine1.setText("Danke für den Einkauf");
    
// Trigger the server and get it to add the weapon  
    
triggerserver("gui", this.name, "buy", this.item);
  }
  else 
Shop_MultiLine1.setText("Nich genug Geld"); 
}

// This function returns true or false depending on whether they
// have enough rupees for the certain item.
function checkCost(temp.item) {
  switch (
temp.item) {
     case 
"jeep":
       
temp.cost = 15;
       break;
     default:
       return 
false;
       break;
  }
  if (
player.rupees >= temp.cost) return true;
  else return 
false;
} 
__________________
Quote:
Reply With Quote