.msg help me pls

Get Help on scripting in POL with configurations, config setups, script trouble shooting, etc.
Post Reply
User avatar
Mallary
Novice Poster
Posts: 40
Joined: Thu Aug 14, 2008 2:54 pm

.msg help me pls

Post by Mallary »

someone could help me with this script to. msg please?

Code: Select all

use uo;
use os;


program textcmd_goto( character , parm )
	if(getobjproperty(character , "##MSG"))
		sendsysmessage(character , "Already sending msg!");
		return;
	endif
//if(lower(parm) = "off")
	if(getobjproperty(character , "MsgIsOff"))

	sendsysmessage(character,"Messages are already being ignored!");
		else
		sendsysmessage(character , "Right! Will ignore messages from now and on!");
		setobjproperty(character , "MsgIsOff",1);
	endif
	return;
//elseif(lower(parm) = "on")
if(getobjproperty(character , "MsgIsOff"))

	sendsysmessage(character,"From now and on i will receive messages!!!");
		eraseobjproperty(character , "MsgIsOff");
		else
	sendsysmessage(character , "You are already receiving messages!");

	endif
	return;
//endif
setobjproperty(character , "##MSG" , 1);


	var chr := MakeAndProcessGump( character,parm);
	if( chr )
		if(Getobjproperty(chr , "MsgIsOff" ))
			sendsysmessage(character , "He isn't in the mood to receive any msg!",3,0x0026);
			return;
		else
			var msg1 :=RequestInput( character, character.backpack, "What message would you like to send to "+chr.name+"?" );
			if(!msg1)
				sendsysmessage(character , "Canceled!");
				eraseobjproperty(character, "##MSG");
				return;
			else
				if(getobjproperty(character, "realname"))
					sendsysmessage(chr , getobjproperty(character, "realname")+": "+msg1, 3, 1176);
					if(!character.cmdlevel)
					setobjproperty(chr , "LastMSG" , character.serial);
					endif
					else
					sendsysmessage(chr , character.name+": "+msg1, 3, 1176);
					if(!character.cmdlevel)
					setobjproperty(chr , "LastMSG" , character.serial);
					endif
				endif
				sendsysmessage(character, "Message sent to "+chr.name+".");
			endif
		endif

	endif
	eraseobjproperty(character , "##MSG");
endprogram


function MakeAndProcessGump( who , parm)

	var layout	:= array(
                                  "page 0",
				  "resizepic 70 0 9270  230 450",
                                  "resizepic 83 13 9350 203 30",
                                  "resizepic 83 48 9350 203 385",

				  "text 100 17 1300 0",
				  "text 100 50 1300 1",
                                  "text 240 50 1153 2"
                                  );



	var playername;
	var LastIndex:=0;

	var players	:= EnumerateOnlineCharacters();
	var length := len(players);
	var how_many:= 0;
	foreach player3 in players
		if(!player3.cmdlevel)
		how_many := how_many + 1;
		endif
	endforeach
	if(!how_many > 0)
		sendsysmessage(who , "There isn't any other player online!");
		return;
	endif
        foreach player in players
	if(lower(player.name) = lower(parm) and !player.cmdlevel)
			if(player.serial = who.serial)
			sendsysmessage(who , "You can't message yourself!");
			return 0;
		else

			return player;
			endif
		endif

	endforeach
		var data	:= array( "Legend'sUO - Messanger",
 	                                  "Players Online",
                                          + how_many
                                          );
	if(parm)
	 sendsysmessage(who , "Couldn't find that player!!!");
		return 0;
	endif
	var start	:= 1;
	var count	:= 0;
	var done	:= 0;
	var page	:= 1;
	var perpage	:= 15;
	var y 	:= 70;
	var i;
	var j;
	var UHunter;
	var scolor := 81;
	var color := scolor;
	layout.append( "page 1" );

	for( i := start ; i <= len(players) ; i := i + 1 )
		UHunter:=CInt(GetObjProperty(players[i],"UHunter"));
		playername:=Upper(players[i].name);


		if (( (UHunter=0)OR ( who.cmdlevel>3 ) ))
			if( done = perpage )
				done 	:= 0;
				page 	:= page + 1;
				y 	:= 70;

				layout.append( "button 250 381 2118 2117 0 " + (page ) );
				layout.append( "page " + page );
				layout.append( "button 125 381 2118 2117 0 " + (page - 1) );
			endif

			if (!players[i].cmdlevel > 0 and players[i].serial != who.serial )


			  layout.append( "text 105 " + y + " "+color+" " + len(data) );
				if(color < scolor + 5)
				color := color+ 1;
				else
				color := color - 5;
			endif

			layout.append( "button 85 " + (y+5) + " 2118 2117 1 0 " + i );
			data.append( players[i].name );

			y 	:= y + 20;
			done 	:= done + 1;
			count := count + 1;
			LastIndex:=i;
			endif
		endif
	endfor

	if (count>0)
		var result;

			result := SendDialogGump( who , layout , data );

			if( !result[0] )
				eraseobjproperty(who , "##MSG");
				return;

			endif
			result := Cint( result[0] );


		return players[result];
	else

	var cnt;
	foreach player2 in players
		if(!player2.cmdlevel and player2.serial != who.serial)
			cnt := 1;
		endif
	endforeach
		if(cnt = 1)
		SendSysMessage(who, "Couldn't find that player.");

		eraseobjproperty(who , "##MSG");
		return ;
		else
		SendSysMessage(who, "There is no player on!");

		eraseobjproperty(who , "##MSG");
		return ;
		endif
	endif
endfunction

ERROR:

Deprecated '=' found: did you mean '==' or ':='?
Error compiling statement at c:\pol\scripts\textcmd\player\w.src, Line 97
Error compiling statement at c:\pol\scripts\textcmd\player\w.src, Line 96
Error in function 'MakeAndProcessGump', File: c:\pol\scripts\textcmd\player\w.src, Line 97
Error in function 'MakeAndProcessGump'.
File: c:\pol\scripts\textcmd\player\w.src, Line 97


I'M USING CORE 96.6
coltain
Grandmaster Poster
Posts: 159
Joined: Tue Mar 20, 2007 7:17 am

Re: .msg help me pls

Post by coltain »

to compare something use == not =

if(lower(player.name) = lower(parm) and !player.cmdlevel)
if(player.serial = who.serial)

change to:
if(lower(player.name) == lower(parm) and !player.cmdlevel)
if(player.serial == who.serial)

I just looked for an error in 97 line of the script (havent tested it).
User avatar
Mallary
Novice Poster
Posts: 40
Joined: Thu Aug 14, 2008 2:54 pm

Re: .msg help me pls

Post by Mallary »

Deprecated '=' found: did you mean '==' or ':='?
Error compiling statement at c:\pol\scripts\textcmd\player\w.src, Line 134
Error compiling statement at c:\pol\scripts\textcmd\player\w.src, Line 129
Error in function 'MakeAndProcessGump', File: c:\pol\scripts\textcmd\player\w.src, Line 134

Error in function 'MakeAndProcessGump'.
File: c:\pol\scripts\textcmd\player\w.src, Line 134
User avatar
CWO
POL Expert
Posts: 1160
Joined: Sat Feb 04, 2006 5:49 pm

Re: .msg help me pls

Post by CWO »

Mallary wrote:Deprecated '=' found: did you mean '==' or ':='?
Error compiling statement at c:\pol\scripts\textcmd\player\w.src, Line 134
...
Error in function 'MakeAndProcessGump'.
File: c:\pol\scripts\textcmd\player\w.src, Line 134
Again, its telling you the same thing is wrong but in a different part of the script.
"Deprecated '=' found: did you mean '==' or ':='?"

so it found = and it wants to know if you mean := (setting a variable) or == (comparing something in an if/elseif). And its on line 134. Likely you have a single = in an if. Make it == and you'll be fine.
Yukiko
Distro Developer
Posts: 2826
Joined: Thu Feb 02, 2006 1:41 pm

Re: .msg help me pls

Post by Yukiko »

The POL developers changed the compare operator from single equals '=' to double equals '==' somewhere around POL 0.95 so that's why you are getting those errors Mallary. Probably the msg.src file you are working with is pre-POL 0.95.
Post Reply