Hi, I M working on an animal riding script for a mod I am making, but I can't get it to set its vel while you are riding it, I really would like some help.
Script:
var dragon=null;
var wdragon = null;
var itemId= Player.getCarriedItem();
var sit=null;
var attack = null;
var ride = null;
var velY=null;
var velX=null;
var velZ=null;
var ridingAnimal=null;
function useItem(x, y, z, itemId, blockId, side){
if(itemId==280){
wdragon = Level.spawnMob( x , y+1 , z , 35, "mob/dragon.png");
Entity.setRenderType( wdragon , 8);
Entity.setHealth( wdragon , 20);
Entity.setNameTag( wdragon , "Wiled Dragon");
}
}
function proCmd(cmd){
}
function attackHook(attacker, victim){
if(victim==dragon&&Player.getCarriedItem()==329){
ride=true;
Entity.rideAnimal(getPlayerEnt(),dragon);
ridingAnimal = victim;
}
if(victim==dragon&&ride==true&&Player.getCarriedItem()!=329){
ride=null;
}
if(victim==dragon&&sit==null){
sit=true;
}
if(victim==dragon&&sit==true){
sit=null;
}
if(victim==wdragon&&Player.getCarriedItem()==264){
print("you have trained a dragon!");
Entity.remove(victim);
dragon = Level.spawnMob(Entity.getX(victim), Entity.getY(victim) , Entity.getZ(victim) , 11, "mob/dragon.png");
Entity.setRenderType(dragon, 8);
Entity.setHealth(dragon, 20);
Entity.setNameTag(dragon , "Tamed Dragon");
addItemInventory(264,-1,0);
}
if(victim==dragon&&Player.getCarriedItem()==319){
Entity.setHealth(victim,20);
addItemInventory(319,-1,0);
preventDefault();
}
}
function deathHook(murderer, victim){
}
function modTick(){
if(sit==true){
Entity.setVelX(dragon,0);
Entity.setVelY(dragon,0);
Entity.setVelZ(dragon,0);
}
if(sit==null){
if (Math.sqrt(Math.pow(Player.getX() - Entity.getX(dragon), 2) + Math.pow(Player.getZ() - Entity.getZ(dragon), 2)) < 5) return;
var angle = Math.atan2((Player.getZ() - Entity.getZ(dragon)), (Player.getX() - Entity.getX(dragon)));
Entity.setVelX(dragon,(Math.cos(angle) * 0.2));
Entity.setVelZ(dragon,(Math.sin(angle) * 0.2));
Entity.setRot(dragon, (((angle * 180) / Math.PI) - 90), Entity.getPitch(dragon));
if(Entity.getY(dragon)<Player.getY()){
Entity.setVelY(dragon, 0.05);
}
}
var playerYaw = Entity.getYaw(Player.getEntity());
var playerPitch = Entity.getPitch(Player.getEntity());
if(ride==true)
{
velY = Math.sin((playerPitch - 180) / 180 * Math.PI);
velX = 0.25 * (Math.sin(playerYaw / 180 * Math.PI) * Math.cos((playerPitch - 180) / 180 * Math.PI));
velZ = 0.25* (-1 * Math.cos(playerYaw / 180 * Math.PI) * Math.cos((playerPitch - 180) / 180 * Math.PI));
setVelX(dragon,velX);
setVelY(dragon,velY);
setVelZ(dragon,velZ);
}
}
function newLevel(){
}
function leaveGame(){
}
function entityAddedHook(entity){
}
function entityRemoved(entity){
}
function levelEventHook(entity, eventType, x, y, z, data){
}
function blockEventHook(x, y, z, eventType, data){
}
Rollback Post to RevisionRollBack
Want to learn all about game design and game programming? Visit firenibbler.com to learn all about it
Well, u see, then the animal wanders aimlessly around, I'm trying to get it to fly in the direction you are looking.Also, of you look at the script there are more than just riding, there are taming, and following aspects as well
Rollback Post to RevisionRollBack
Want to learn all about game design and game programming? Visit firenibbler.com to learn all about it
Hi, I M working on an animal riding script for a mod I am making, but I can't get it to set its vel while you are riding it, I really would like some help.
Script:
var dragon=null;
var wdragon = null;
var itemId= Player.getCarriedItem();
var sit=null;
var attack = null;
var ride = null;
var velY=null;
var velX=null;
var velZ=null;
var ridingAnimal=null;
function useItem(x, y, z, itemId, blockId, side){
if(itemId==280){
wdragon = Level.spawnMob( x , y+1 , z , 35, "mob/dragon.png");
Entity.setRenderType( wdragon , 8);
Entity.setHealth( wdragon , 20);
Entity.setNameTag( wdragon , "Wiled Dragon");
}
}
function proCmd(cmd){
}
function attackHook(attacker, victim){
if(victim==dragon&&Player.getCarriedItem()==329){
ride=true;
Entity.rideAnimal(getPlayerEnt(),dragon);
ridingAnimal = victim;
}
if(victim==dragon&&ride==true&&Player.getCarriedItem()!=329){
ride=null;
}
if(victim==dragon&&sit==null){
sit=true;
}
if(victim==dragon&&sit==true){
sit=null;
}
if(victim==wdragon&&Player.getCarriedItem()==264){
print("you have trained a dragon!");
Entity.remove(victim);
dragon = Level.spawnMob(Entity.getX(victim), Entity.getY(victim) , Entity.getZ(victim) , 11, "mob/dragon.png");
Entity.setRenderType(dragon, 8);
Entity.setHealth(dragon, 20);
Entity.setNameTag(dragon , "Tamed Dragon");
addItemInventory(264,-1,0);
}
if(victim==dragon&&Player.getCarriedItem()==319){
Entity.setHealth(victim,20);
addItemInventory(319,-1,0);
preventDefault();
}
}
function deathHook(murderer, victim){
}
function modTick(){
if(sit==true){
Entity.setVelX(dragon,0);
Entity.setVelY(dragon,0);
Entity.setVelZ(dragon,0);
}
if(sit==null){
if (Math.sqrt(Math.pow(Player.getX() - Entity.getX(dragon), 2) + Math.pow(Player.getZ() - Entity.getZ(dragon), 2)) < 5) return;
var angle = Math.atan2((Player.getZ() - Entity.getZ(dragon)), (Player.getX() - Entity.getX(dragon)));
Entity.setVelX(dragon,(Math.cos(angle) * 0.2));
Entity.setVelZ(dragon,(Math.sin(angle) * 0.2));
Entity.setRot(dragon, (((angle * 180) / Math.PI) - 90), Entity.getPitch(dragon));
if(Entity.getY(dragon)<Player.getY()){
Entity.setVelY(dragon, 0.05);
}
}
var playerYaw = Entity.getYaw(Player.getEntity());
var playerPitch = Entity.getPitch(Player.getEntity());
if(ride==true)
{
velY = Math.sin((playerPitch - 180) / 180 * Math.PI);
velX = 0.25 * (Math.sin(playerYaw / 180 * Math.PI) * Math.cos((playerPitch - 180) / 180 * Math.PI));
velZ = 0.25* (-1 * Math.cos(playerYaw / 180 * Math.PI) * Math.cos((playerPitch - 180) / 180 * Math.PI));
setVelX(dragon,velX);
setVelY(dragon,velY);
setVelZ(dragon,velZ);
}
}
function newLevel(){
}
function leaveGame(){
}
function entityAddedHook(entity){
}
function entityRemoved(entity){
}
function levelEventHook(entity, eventType, x, y, z, data){
}
function blockEventHook(x, y, z, eventType, data){
}
Script:
Want to learn all about game design and game programming? Visit firenibbler.com to learn all about it
It's simple jolly go man.
This code is to ride any mob.
Code is right here:
function attackHook(attacker, victim)
{
if(getCarriedItem()==329)
{ preventDefault();
rideAnimal(attacker,victim);
}
}It's just, you need a saddle.
Want to learn all about game design and game programming? Visit firenibbler.com to learn all about it
That looks OK: what happens when you run it?
When you are on the Dragon the velocity is not set so u can fly it
Want to learn all about game design and game programming? Visit firenibbler.com to learn all about it