Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting
FAQ Members List Calendar Today's Posts

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 08-17-2011, 12:03 AM
Emera Emera is offline
Delterian Hybrid
Emera's Avatar
Join Date: Mar 2011
Location: Newcastle Upon-Tyne
Posts: 1,704
Emera is a jewel in the roughEmera is a jewel in the rough
Weapon Control

I keep getting very annoyed of adding the same line to add my weapons at the top of my scripts.
PHP Code:
findplayer("Graal772919").addweapon(this.name); 
So I decided to knock me up a GUI to help me along. All it does is add and remove weapons from Your player only. I was wondering, since it does what it needs to do, and it helps me along, is there any way you guys can help me improve, shorten or simplify the script?

The Script (-System/WepCtrl)
PHP Code:
/* Uses two lists to show two categories of weapons. 
List one shows all weapons. Hidden (-Weapon/Name) and non-hidden (Weapon/Name)
List two shows only the non-hidden weapons (Weapon/Name)
To add or remove the weapons;
Type the name of the weapon into the add or remove box and hit the button.
Tap the button twice to update the list.
Opening the GUI is easy. Just say "/wepcontrol"
*/
function onActionServerSide() {
  if (
params[0] == "addweaponwep"addweapon(params[1]); //Add the weapon.
  
if (params[0] == "takeweaponwep"removeweapon(params[1]); //Take the weapon.
}

//#CLIENTSIDE
function onPlayerChats() {
  if (
player.chat == "/wepcontrol") {
    
player.chat "";
    
WEP_Window1.visible true//Open the GUI
  
}
}

function 
onCreated() {
  new 
GuiWindowCtrl("WEP_Window1") {
    
profile GuiWindowProfile;
    
clientrelative true;
    
clientextent "260,385";
    
canmaximize false;
    
canmove true;
    
canresize true;
    
closequery false;
    
destroyonhide false;
    
text "WEP - Control";
    
413;
    
73;
    new 
GuiScrollCtrl("WEP_TextList5_Scroll") {
      
profile GuiScrollProfile;
      
height 307;
      
hscrollbar "alwaysOff";
      
vscrollbar "dynamic";
      
width 128;
      new 
GuiTextListCtrl("WEP_TextList5") {
        
profile GuiTextListProfile;
        
height 32;
        
horizsizing "width";
        
width 124;
      }
    }
    new 
GuiScrollCtrl("WEP_TextList6_Scroll") {
      
profile GuiScrollProfile;
      
height 307;
      
hscrollbar "alwaysOff";
      
vscrollbar "dynamic";
      
width 129;
      
131;
      new 
GuiTextListCtrl("WEP_TextList6") {
        
profile GuiTextListProfile;
        
height 32;
        
horizsizing "width";
        
width 125;
      }
    }
    new 
GuiButtonCtrl("WEP_Button1") {
      
profile GuiButtonProfile;
      
text "Remove";
      
width 80;
      
5;
      
349;
    }
    new 
GuiButtonCtrl("WEP_Button2") {
      
profile GuiButtonProfile;
      
text "Add";
      
width 80;
      
5;
      
314;
    }
    new 
GuiTextEditCtrl("WEP_TextEdit1") {
      
profile GuiTextEditProfile;
      
height 20;
      
width 163;
      
91;
      
319;
    }
    new 
GuiTextEditCtrl("WEP_TextEdit2") {
      
profile GuiTextEditProfile;
      
height 20;
      
width 163;
      
91;
      
354;
    }
  }
}

function 
WEP_Button1.onAction() { //Hit once to taje weapon, hit twice to update list.
  // Button "Remove" has been pressed
  
UpdateList1(); //Updates List
  
UpdateList2();
  
removechat(); //Sets Chat
  
triggerserver("gui"this.name"takeweaponwep"WEP_TextEdit2.text);
}

function 
WEP_Button2.onAction() { //Hit once to add weapon, hit twice to update list.
  // Button "Add" has been pressed
  
UpdateList1(); //Updates List
  
UpdateList2();
  
addchat(); //Sets Chat
  
triggerserver("gui"this.name"addweaponwep"WEP_TextEdit1.text);
}

function 
UpdateList1() {
  
WEP_TextList5.clearrows();
  for (
temp.weps 0temp.weps player.weapons.size(); temp.weps++) {
    
WEP_TextList5.addrow(temp.wepsplayer.weapons[temp.weps].name);
  }
}

function 
UpdateList2() {
  
WEP_TextList6.clearrows();
  for (
temp.weps 0temp.weps player.weapons.size(); temp.weps++) {
    if (!(
player.weapons[(@temp.weps)].name.starts("-"))) {
      
WEP_TextList6.addrow(temp.wepsplayer.weapons[temp.weps].name);
    }
  }
}

function 
RemoveChat() {
  if (!(
WEP_TextEdit2.text == NULL)) player.chat "Removed: " WEP_TextEdit2.text//Sets chat
}

function 
AddChat() {
  if (!(
WEP_TextEdit1.text == NULL)) player.chat "Added: " WEP_TextEdit1.text//Sets Chat

Graal PasteBin Version

Thank you to everybody who helps me out.

Styled using FowlPlay4's GS2 Beautifier
Attached Thumbnails
Click image for larger version

Name:	WepCtrl.PNG
Views:	330
Size:	81.9 KB
ID:	53460  
__________________
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 05:11 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.