Hi Graalians,
I am Joe (leader of Les Frenchies on iEra), and today I wanna share my scripting skills.
I script in many langages like HTML/CSS, PHP/SQL, C++, JAVA and actually I am working on Android Apps.
I also learnt few years ago how to script in GS2 which haven't been hard due to my knowledge in others scripting langages.
Today, I just wanna share my Staff/Player Commands script.
So you need to add to Staff the Staff Commands weapon and by default to player, the Player Commands weapon.
Here is the Staff Commands weapon: -Staff/StaffCmd
This weapon include few commands: /warp playerId, /summon playerId, /freeze playerId, /unfreeze playerId, /gag playerId, /ungag playerId, /ani ganiName, setap apNumber, /reconnect, /tag gangName, sethat hatName, and also if you press "C" you get your coords.
And here is the Player Commands weapon: -Players/PlayersCmdPHP Code:// Scripted by Joe
function onActionServerSide(cmdSend, tokens)
{
if(cmdSend.starts("/summon") || cmdSend.starts("/warp") || cmdSend.starts("/freeze") || cmdSend.starts("/unfreeze") || cmdSend.starts("/gag") || cmdSend.starts("/ungag"))
{
for(temp.pl : allplayers){
if(tokens == temp.pl.substring(0,tokens.length())|| tokens == temp.pl.nick.substring(0,tokens.length()))
{
if (temp.pl.level!=NULL)
{
this.fnd=temp.pl;
temp.foundplayer.add(temp.pl);
}
}
}
if (temp.foundplayer.size()==1){
if (cmdSend.starts("/summon")){
this.fnd.setlevel2(player.level,player.x,player.y);
this.fnd.unfreezeplayer();
updateboard(0,0,64,64);
this.fnd.chat="Summoned!";
}
if (cmdSend.starts("/warp")){
setlevel2(this.fnd.level,this.fnd.x,this.fnd.y);
player.chat="Warped!";
}
if (cmdSend.starts("/freeze")){
this.fnd.setlevel2(player.level,player.x,player.y);
this.fnd.freezeplayer2();
updateboard(0,0,64,64);
this.fnd.chat="I'm Frozen!";
}
if (cmdSend.starts("/unfreeze")){
this.fnd.setlevel2(player.level,player.x,player.y);
this.fnd.unfreezeplayer();
updateboard(0,0,64,64);
this.fnd.chat="I'm unfrozen!";
}
if (cmdSend.starts("/gag")){
if(this.fnd.clientr.player_gagged != null){
player.chat="This player already gagged!";
return;
}
this.fnd.chat = "*Gagged*";
this.fnd.clientr.player_gagged=timevar2+(params[2]*60);
this.fnd.addweapon("-Players/PlayersCmd");
}
if (cmdSend.starts("/ungag")){
if(this.fnd.clientr.player_gagged == null){
player.chat="This player isn't gagged!";
return;
}
player.chat = "done.";
this.fnd.chat = "*Ungagged by *" @ player.nick;
this.fnd.clientr.player_gagged=0;
this.fnd.addweapon("-Players/PlayersCmd");
}
}
else if(temp.playerfound.size==0){
player.chat="No Players Found!";
}
else{ player.chat="More than one player found! Check your PM for options.";
player.sendPM(temp.foundplayer.size() SPC "players were found:" NL temp.foundplayer NL "" NL "" NL "Tip: Be sure to type in the player's name/account as specific as possible in order to find them easier!");
}
}
if(cmdSend.starts("setap"))
{
player.ap = tokens[1];
}
if (params[0] == "guildself")
{
if(isStaffGuild(params[1]))
{
if(params[1] == player.clientr.staffGuild)
{
player.guild = params[1];
}
else
{
player.chat = "You aren't allowed to set that tag!";
}
}
else
{
player.guild = params[1];
}
}
}
function isStaffGuild(Plguild)
{
temp.guildstaff = serveroptions.staffguilds.tokenize(",");
temp.guildstaff = temp.guildstaff.upper();
temp.Plguild = Plguild.upper();
if(temp.Plguild in temp.guildstaff){
if(temp.Plguild != "Admin")
{
return true;
}
}
}
//#CLIENTSIDE
function onPlayerChats(){
if(player.chat.starts("/warp"))
{
cmdSend = player.chat;
tokens=player.chat.substring(6);
triggerserver("weapon",this.name,cmdSend,tokens);
}
if(player.chat.starts("/summon"))
{
cmdSend = player.chat;
tokens=player.chat.substring(8);
triggerserver("weapon",this.name,cmdSend,tokens);
}
if(player.chat.starts("/freeze"))
{
cmdSend = player.chat;
tokens=player.chat.substring(8);
triggerserver("weapon",this.name,cmdSend,tokens);
}
if(player.chat.starts("/unfreeze"))
{
cmdSend = player.chat;
tokens=player.chat.substring(10);
triggerserver("weapon",this.name,cmdSend,tokens);
}
if(player.chat.starts("/gag"))
{
cmdSend = player.chat;
tokens=player.chat.tokenize();
if(tokens[2]<1||tokens[2]>30)return;
triggerserver("weapon",this.name,cmdSend,tokens[1],tokens[2]);
}
if(player.chat.starts("/ungag"))
{
cmdSend = player.chat;
tokens=player.chat.tokenize();
triggerserver("weapon",this.name,cmdSend,tokens[1]);
}
if (player.chat.starts("/ani")) {
tokens = player.chat.tokenize();
setani(tokens[1],tokens[2]);
}
if (player.chat.starts("setap")) {
cmdSend = player.chat;
tokens = player.chat.tokenize();
triggerserver("weapon",this.name,cmdSend,tokens);
}
if(player.chat == "/reconnect") {
ServerWarp(ServerName);
}
if (player.chat.starts("/tag ")) {
triggerserver("weapon", this.name, "guildself", player.chat.substring(5, -1));
}
if (player.chat.starts("sethat")) {
player.attr[1] = player.chat.substring(7);
}
}
function onKeyPressed(code,key)
{
if(key == "c" || key == "C"){
player.chat = player.level SPC "," SPC player.x SPC player.y;
}
}
It includes: /reconnect, showlag and if you press "A" you grab.
Well, I hope you understood everything but if you have any questions about that script or just about scripting, don't hesitate to ask, I'll do my best to help you.PHP Code:function onActionServerSide(cmd)
{
if(cmd == "showlag"){
getPing();
}
if(cmd == "checkGag"){
if (player.clientr.player_gagged > timevar2) {
temp.msg = formattimestring("Timers Remain Gagged: %M Min's %S Sec's",player.clientr.player_gagged - timevar2);
player.chat=temp.msg;
return;
}
player.clientr.player_gagged = 0;
}
}
function getPing() {
temp.obj = player.sendping();
this.catchevent(obj, "onReceivePing", "onGPingReply");
}
function onGPingReply(obj, plyr, time) {
plyr.chat = int(time * 1000) @ "ms";
}
//#CLIENTSIDE
function onKeyPressed(code,key)
{
if(key == "a" || key == "A"){
setAni("grab", NULL);
}
}
function onPlayerChats() {
if(player.chat == "/reconnect") {
ServerWarp(ServerName);
player.chat = "";
}
if(player.chat == "showlag"){
triggerserver("weapon", this.name, "showlag");
}
if (clientr.player_gagged != null) {
player.chat = "*Gagged*";
triggerserver("weapon", this.name, "checkGag", "");
return true;
}
}
See you Graalians!


Reply With Quote
.