Graal Forums  

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

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 02-03-2008, 02:47 PM
Chompy Chompy is offline
¯\(º_o)/¯
Chompy's Avatar
Join Date: Sep 2006
Location: Norway
Posts: 2,815
Chompy is just really niceChompy is just really niceChompy is just really nice
Send a message via MSN to Chompy
Basic leveling system

PHP Code:
function onActionServerside() {
  switch(
params[0]) {
    case 
"levelup":
      
// Add leveling up code here
    
break;
    case 
"report":
      
makevar(params[4]) = params[2]; // Resets level to old level
      
sendtorc("[LEVELING ABUSE]: "params[1] @" leveled from "params[2] @" to "params[3] @"!");
    break;
  }
}
//#CLIENTSIDE
function onCreated() {
  
/* Change this to your level variable being used,
     for example: "clientr.level" */
  
this.levelvar "clientr.level";
  
  
/* Change this to your exp variables being used,
     for example: {"clientr.exp", "clientr.maxexp"} */
  
this.exp = {"clientr.exp""clientr.maxexp"};
  
  
  
// Don't change anything below, unless you want to change
  // the timeout or edit the anti-abuse yourself :)
  
this.leveling false;
  
this.lvl makevar(this.levelvar);
  
setTimer(1);
}
function 
onTimeout() {
  if (!
this.leveling) {
    if (
makevar(this.exp[0]) >= makevar(this.exp[1])) {
      
this.leveling true;
      
triggerserver("gui"this.name"levelup"player.account);
    }
  }else if (
this.lvl makevar(this.levelvar)) {
    if ((
makevar(this.levelvar)-this.lvl) == 1) {
      
this.leveling false;
      
this.lvl makevar(this.levelvar);
      
    }else if ((
makevar(this.levelvar)-this.lvl) > 1) {
      
player.triggerserver("gui"this.name"report"player.accountthis.lvlmakevar(this.levelvar), this.levelvar);
      
sleep(0.5);
      
serverwarp("login2");
    }
  }
  
setTimer(1);

Well, a basic leveling system with a little anti-abuse system. Basicly, with this system you can't level up 2 levels at once. If your level changes by 2 or above from your old level it will register by echo'ing at rc that the person got his levels up by 2 or above, reset his level and then serverwarp him to login2.

It might look kinda messy, but that's because I added support so you could modify it by only changing two vars listed in the onCreated() event (this.levelvar and this.exp).

If you want to add more logging, simple edit the switch case labeled reset with code you want in. I have not added any leveling up code, that you have to make yourself, so it will fit your server's leveling up plans etc.

Any questions, suggestions to improve it etc are welcome.

And.. uhm.. enjoy?
__________________
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 08:23 AM.


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