Just testet it out.
It dont work getting "trade not" from "if then else"
marby its a space in the player string, is there anyway to strip it for spaces, like in php ( $string = preg_replace('/\s+/','',$string); )
i found out that its the "getradersname" that is worng:
Trader := GetTradersName;
this dont work.
if i change it to:
Trader := 'bango1';
then it works :(
so you can see the "CheckName" function works fine but its the "GetTradersName" i am doing something worng with
the ess runner has a name like:
Username II
where the username is not is the real name, and it has one space and 2x "I"
but when i "writeln" the players name it only print out username with out space and 2x "I"
i have tryed to add all kind of username to the check up, but i dont work.
//-----------------------------------------------//
//------------- Check Player Start --------------//
//-----------------------------------------------//
function CheckName(player: string) : Boolean;
var
i, score: integer;
tradeuser: string;
begin
tradeuser := Lowercase(player);
writeln(tradeuser);
case (tradeuser) of
'username ': Result := true;
' username': Result := true;
'Username ': Result := true;
' Username': Result := true;
'username ii': Result := true;
'Username II': Result := true;
else
Result := false;
end;
end;
//-----------------------------------------------//
//-------------- Check Player End ---------------//
//-----------------------------------------------//
It dont works :(
here is the full script, i strip if for some function you dont need to see, to get it to be smaler :)
program NatureRuneMaster;
{$DEFINE SMART8}
{$I SRL-OSR/SRL.Simba}
{$I SPS/sps-osr.simba}
{$I SRL-OSR/SRL/misc/trade.Simba}
var
x, y: integer;
BList: TIntegerArray;
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'xxxxxxxxxxxx';
Players[0].Pass :='xxxxxxxxx';
Players[0].Nick :='xxxxxxxxx';
Players[0].Active:=True;
End;
//-----------------------------------------------//
//------------- Check Player Start --------------//
//-----------------------------------------------//
function CheckName(player: string) : Boolean;
var
i, score: integer;
tradeuser: string;
begin
tradeuser := Lowercase(player);
writeln(tradeuser);
case (tradeuser) of
'username ': Result := true;
' username': Result := true;
'Username ': Result := true;
' Username': Result := true;
'username ii': Result := true;
'Username II': Result := true;
else
Result := false;
end;
end;
//-----------------------------------------------//
//-------------- Check Player End ---------------//
//-----------------------------------------------//
//-----------------------------------------------//
//------------- Trade Player Start --------------//
//-----------------------------------------------//
function TradePlayer: Boolean;
var
x: Integer;
y: Integer;
Trader: String;
Userstatus: Integer;
begin
writeln('Waiting On Players To Trade..');
repeat
if (SomeoneTrades) then
begin
Trader := GetTradersName;
wait(1000);
if(CheckName(Trader)) then
begin
writeln('trade ok');
wait(5000);
end else
writeln('trade not');
wait(5000);
end;
until (PlayerAccepted);
end;
//-----------------------------------------------//
//-------------- Trade Player End ---------------//
//-----------------------------------------------//
Begin
SetupSRL;
DeclarePlayers;
LoginPlayer;
wait(2000);
//MakeCompass('e');
setAngle(SRL_ANGLE_HIGH);
//EnterAltar;
//Craftaltar;
//LeaveAltar;
TradePlayer;
end.
Thanks