Jump to content
  • 0

PvP Points Floating rate


Question

Posted (edited)

The normal Pvp Points that player recieve is 1 when he killed someone,Can someone know how to make a floating rate for +PVPPOINTS+ "Pvp Points", and make x5 Reward points. On Monday to Sunday to 12am,3pm,6pm,9pm..  Thanks for Advance

Edited by harley

5 answers to this question

Recommended Posts

  • 0
Posted

Hint: Use On<time> labels to set a multiplier e.g. $PVPPointsRate and then add it to the code where the points are calculated:

-	script	floatingpvp	-1,{
	$PVPPOINTSRATE = 1;
	OnMinute00:
		if (gettime(DT_DAYOFWEEK)==SATURDAY && gettime(DT_HOUR)==3){
			$PVPPOINTSRATE = 5;
		}
}

Then your code would contain something like OnPCKillEvent: PVPPOINTS = PVPPOINTS + (1 * $PVPPOINTSRATE);

  • 0
Posted (edited)
10 hours ago, Akkarin said:

Hint: Use On<time> labels to set a multiplier e.g. $PVPPointsRate and then add it to the code where the points are calculated:


-	script	floatingpvp	-1,{
	$PVPPOINTSRATE = 1;
	OnMinute00:
		if (gettime(DT_DAYOFWEEK)==SATURDAY && gettime(DT_HOUR)==3){
			$PVPPOINTSRATE = 5;
		}
}

Then your code would contain something like OnPCKillEvent: PVPPOINTS = PVPPOINTS + (1 * $PVPPOINTSRATE);

i use this script..where will i put the + (1 * $PVPPOINTSRATE); ? thanks

-    script    mypvppoints    -1,{
OnInit:
        bindatcmd "pvppoints",strnpcinfo(3)+"::OnAtcommand";
        end;
OnAtcommand:
dispbottom "[ PvP Points ] : Your PvP Points: "+PvPPoints;
end;
 
}
 
-    script    check player    -1,{
OnPCLoginEvent:
        if(!PvPPoints) { PvPPoints = 0; PvPWarning = 0; }
        end;
}
 
-    script    PvPPointTimer    -1,{
OnTimerStart:
        sleep2 90000;
        PvPFlag = 0;
        end;
}
 
-    script    PvP Points    -1,{
OnPCKillEvent:
        for (set @i,0; @i < getarraysize(.Open_Maps$); set @i,@i+1)
        if( strcharinfo(3) == .Open_Maps$[@i] ) {
        if(PvPFlag && (killedrid == PrevKilled)) {
                PvPWarning += 1;
                if(PvPWarning >= .cons_kill_count) {
                        PvPPoints -= .deducted_points;
                        callsub L_PointCheck,PvPPoints;
                        dispbottom "You've lost "+.deducted_points+" PvP Points.";
                        dispbottom "You now have "+PvPPoints+" Points.";
                        PvPWarning = 0;
                        callsub Timer;
                }
                PvPPoints += .added_points;
                dispbottom "You've been awarded "+.added_points+" PvP Point.";
                dispbottom "You now have "+PvPPoints+" Points.";
        Timer:
                awake "PvPPointTimer";
                PvPFlag = 1;
                doevent "PvPPointTimer::OnTimerStart";
                end;
        }
        if ( killedrid == getcharid(3) ) {
                PvPPoints -= .deducted_points;
                callsub L_PointCheck,PvPPoints;
                dispbottom "You've lost "+.deducted_points+" PvP Point.";
                dispbottom "You now have "+PvPPoints+" Points.";
                end;
        }
       
        callsub AddPoint;
        attachrid(killedrid);
        PvPPoints -= .deducted_points;
        callsub L_PointCheck,PvPPoints;
        dispbottom "You've lost "+.deducted_points+" PvP Point.";
        dispbottom "You now have "+PvPPoints+" Points.";
        detachrid;
        AddPoint:
        PvPPoints += .added_points;
        dispbottom "You've been awarded "+.added_points+" PvP Point.";
        dispbottom "You now have "+PvPPoints+" Points.";
        PrevKilled = killedrid;
        PvPFlag = 1;
        doevent "PvPPointTimer::OnTimerStart";
        end;
 
L_PointCheck:
        if(getarg(0) < 0) PvPPoints = 0;
        return;
        end;
}
 
OnInit:
// Put the map you want to enable the PvP Points ( only for Option 1 )
setarray .Open_Maps$[0],"guild_vs3","geffen","morocc","prontera";
set .cons_kill_count,5; // count consecutive kill in the same player ( Default 5 )
set .deducted_points,5; // deducted points in killing the same player ( Default 5 )
set .added_points,1; // Added Points when killing ( Default 3 )
end;
}

 

Edited by Akkarin
Use codebox in future.
  • 0
Posted

 

AddPoint:
        PvPPoints = PvPPoints + (.added_points * $PVPPOINTSRATE);
        dispbottom "You've been awarded "+ (.added_points * $PVPPOINTSRATE) +" PvP Point.";

Untested.

  • 0
Posted
11 hours ago, Akkarin said:

Hint: Use On<time> labels to set a multiplier e.g. $PVPPointsRate and then add it to the code where the points are calculated:

1 hour ago, Akkarin said:

 



AddPoint:
        PvPPoints = PvPPoints + (.added_points * $PVPPOINTSRATE);
        dispbottom "You've been awarded "+ (.added_points * $PVPPOINTSRATE) +" PvP Point.";

Untested.

en your code would contain something like OnPCKillEvent: PVPPOINTS = PVPPOINTS + (1 * $PVPPOINTSRATE);

I tried this. no error.. and the floating script. the time here is 11:30 oc in the morning.. a change Onminute:00 to 1135.. but no effect on rates..

  • 0
Posted
-	script	pvp_point	-1,{

	OnInit:
        bindatcmd "pvppoints",strnpcinfo(3)+"::OnAtcommand";
        end;
		
	OnMinute:
		if ( gettime(3) % 3 == 0 ) {
			.pvp_point_rate = 5;
		}
		else {
			.pvp_point_rate = 1;
		}
		announce "PVP Point Rate = "+.pvp_point_rate+"x", bc_all;
		end;
	
	OnAtcommand:
		dispbottom "[ PvP Points ] : Total "+PvPPoints+" Point(s)";
		end;

	OnPCKillEvent:
		if ( killedrid != getcharid(3) ) {
			PvPPoints += ( 1 * .pvp_point_rate );
			dispbottom "[ PvP Points ] +"+( 1 * .pvp_point_rate )+". Total "+PvPPoints+" Point(s)";
		}
		end;

}

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...