View Single Post
  #28  
Old 09-13-2009, 07:52 PM
napo_p2p napo_p2p is offline
oh snaps
napo_p2p's Avatar
Join Date: Sep 2003
Location: Pismo Beach, California
Posts: 2,118
napo_p2p has a spectacular aura aboutnapo_p2p has a spectacular aura about
Send a message via AIM to napo_p2p Send a message via MSN to napo_p2p
I worked with Cyril today, and got something working. He's currently working on interfacing with a GUI, so he might come up with some more questions. Here are the scripts, for future reference:

DB NPC (db_registeredguilds)
PHP Code:
function onInitialized() {
  
onCreated();
}

function 
onCreated() {
  if (
this.guilds.type() != 2) {
    
this.guilds = new TStaticVar();
  }
}

public function 
RegistersdeServer() {
  if (
player.guild == "") {
    
say2("Put on guild tag first!");
    return;
  }
  if (
this.guilds.(@player.guild) == null) {
    
this.guilds.(@player.guild) = {player.account};
    
say2("Guild " player.guild " is registered #bby " player.account "!");
  }
  else {
    
say2("This guild is already registered");
  }
}

public function 
AddMemRegGuildServer(member) {
  if (
player.guild == "") {
    
say2("Put on guild tag first!");
    return;
  }
  
  if (
hasAccess()) {
    if (!(
temp.member in this.guilds.(@player.guild))) {
      
this.guilds.(@player.guild).add(temp.member);
      
say2(temp.member "#badded to#b" player.guild);
    }
    else {
      
say2(temp.member "#bis already in#b" player.guild);
    }
  }
  else {
    
say2("You do not have rights!");
  }
}

public function 
DelMemRegGuildServer(member) {
  if (
player.guild == "") {
    
say2("Put on guild tag first!");
    return;
  }
  
  if (
hasAccess()) {
    
this.guilds.(@player.guild).remove(temp.member);
    
say2(temp.member "#bremoved from#b" player.guild);
  }
  else {
    
say2("You do not have rights!");
  }
}

public function 
hasAccess() {
  return (
player.account in this.guilds.(@player.guild));
}

public function 
getGuildList() {
  return 
this.guilds.getdynamicvarnames();

Level Script:
PHP Code:
function onCreated() {
  
this.db findnpc("db_registeredguilds");
}

function 
onPlayerChats() {
  if (
player.chat == "registerguild") {
    
this.db.RegistersdeServer();
  }
  if (
player.chat.starts("addmemberaccess")) {
    
this.db.AddMemRegGuildServer(player.chat.tokenize()[1]);
  }
  if (
player.chat.starts("removememberaccess")) {
    
this.db.DelMemRegGuildServer(player.chat.tokenize()[1]);
  }

There's a million other ways to do this, but I also wanted to show him how public functions worked. We'll leave SQL for another day .
__________________
Scito hoc super omnia.
Haec vita est tua una sola.
Dum vita superest, utere maxime quoque puncto, momento, et hora quae habes.
Tempus neminem non manet.
Noli manere tempus.
Carpe Diem

Seize the Day.
Reply With Quote