Ищу кодера(МодМейкера)

Ищу для проекта модмейкера для платной работы подробнее в Skype kpetruhin
 
Для начала, указал бы хоть какую то информацию о проекте.
 
Тут!? Не знаю. А во-общем нас много. :)
 
Сталкер нинужын.
[merge_posts_bbcode]Добавлено: 26.07.2014 21:54:23[/merge_posts_bbcode]

Сталкер нинужын.
 
Все эти подробнее в скайп в 99.9% случаев выливаются в:
- Сделай мне мод на фордж за 2000р
И огромный список неконкретизированной хрени без готового ТЗ вроде ЧТОБ:
- были все аномалии
- аптечки аптечки бинты
- куча новых мобов ыы
- тонна нового оружия
- артефакты артефакты

А потом выливается в нифига даже из-за неспособности оплатить рекламу\сервер. И то, если кто-то согласится делать мод за такие деньги.

Лично таких шталкеров уже штук 15 видел. Только один, где были деньги на рекламу\разработку (больше 20килорублей) хоть как-то себя проявил, и то потом заказчику что-то не понравилось и он дисквальнул всю команду.
А успешных так и вообще парочка всего (мельком видел), и то там глобальных изменений в геймлпее нет, большая часть держится на текстурках\плагинах\геймрулах и прочем.
 
Ох, ещё один "оригинальный" сервер, с "оригинальной" идеей для мода, неужели так сложно придумать что-нибудь своё!? Ни один уважающий себя и свой труд, кодер не пойдет на такой сервер, уж тем более бесплатно.
 
Monstruk написал(а):
Ищу для проекта модмейкера для платной работы подробнее в Skype kpetruhin
[merge_posts_bbcode]Добавлено: 27.07.2014 02:08:04[/merge_posts_bbcode]

И задумка не как сталкер, а глобальнее!
 
Monstruk написал(а):
Monstruk написал(а):
Ищу для проекта модмейкера для платной работы подробнее в Skype kpetruhin
[merge_posts_bbcode]Добавлено: 27.07.2014 02:08:04[/merge_posts_bbcode]

И задумка не как сталкер, а глобальнее!
Все равно не взлетит.
 
Мне вообще кажется, что такие темы лучше создавать во флудилке
[merge_posts_bbcode]Добавлено: 27.07.2014 09:35:23[/merge_posts_bbcode]

Monstruk написал(а):
Нужен модмейкер ради 10 оружек 
Огнестрельных?
 
Не понимаю, зачем огнестрельные оружия делать вдвоём? Это же элементарно
 
За, на компа зайду часиков в 11 по Московскому времени
 
Ну вот код:
(Для начала зарегай АК-47 в главном классе)

Класс АК-47:
Код:
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;

public class AK47 extends Item{
    
    public AK47(int id)
    {
        super(id);
        this.setCreativeTab(CreativeTabs.tabCombat);
        this.setMaxDamage(1078);

    }
    
    public void registerIcons(IconRegister tex)
    {
        this.itemIcon = tex.registerIcon(ModInfo.MODID + ":ak47");
    }
    
    public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player){
        EntityBullet bullet = new EntityBullet(world, player, 2.0F);
         world.spawnEntityInWorld(bullet);
         return is;
   }

}

Потом создаёшь класс EntityBullet и забиваешь в него следующее:
Код:
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumMovingObjectType;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;

public class EntityBullet extends EntityThrowable
{
    public EntityBullet(World par1World)
    {
        super(par1World);
        setSize(0.1F, 0.1F);
        
    }


    public EntityBullet(World par1World, EntityPlayer player, float f)
    {
        super(par1World, player);
        bulletdamage = f;
        shootingEntity = player;
        setSize(0.5F, 0.5F);
        setLocationAndAngles(((Entity)(player)).posX, ((Entity)(player)).posY + (double)player.getEyeHeight(), ((Entity)(player)).posZ, ((Entity)(player)).rotationYaw, ((Entity)(player)).rotationPitch);
        super.posX -= MathHelper.cos((super.rotationYaw / 180F) * (float)Math.PI) * 0.16F;
        super.posY -= 0.10000000149011612D;
        super.posZ -= MathHelper.sin((super.rotationYaw / 180F) * (float)Math.PI) * 0.16F;
        setPosition(super.posX, super.posY, super.posZ);
        super.yOffset = 0.0F;
        super.motionX = -MathHelper.sin((super.rotationYaw / 180F) * (float)Math.PI) * MathHelper.cos((super.rotationPitch / 180F) * (float)Math.PI);
        super.motionZ = MathHelper.cos((super.rotationYaw / 180F) * (float)Math.PI) * MathHelper.cos((super.rotationPitch / 180F) * (float)Math.PI);
        super.motionY = -MathHelper.sin((super.rotationPitch / 180F) * (float)Math.PI);
        setThrowableHeading(super.motionX, super.motionY, super.motionZ, 1.5F, 1.0F);
    }

    public EntityBullet(World par1World, double par2, double par4, double par6)
    {
        super(par1World, par2, par4, par6);
    }

    protected float getGravityVelocity()
    {
        return 0.001F;
    }

    public void setVelocity(double par1, double par3, double par5)
    {
        super.motionX = par1;
        super.motionY = par3;
        super.motionZ = par5;

        if (super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F)
        {
            float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
            super.prevRotationYaw = super.rotationYaw = (float)((Math.atan2(par1, par5) * 180D) / Math.PI);
            super.prevRotationPitch = super.rotationPitch = (float)((Math.atan2(par3, f) * 180D) / Math.PI);
            super.prevRotationPitch = super.rotationPitch;
            super.prevRotationYaw = super.rotationYaw;
            setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch);
        }
    }

    public void setArrowHeading(double par1, double par3, double par5, float par7,
                                float par8)
    {
        float f = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5);
        par1 /= f;
        par3 /= f;
        par5 /= f;
        par1 += super.rand.nextGaussian() * 0.0074999998323619366D * (double)par8;
        par3 += super.rand.nextGaussian() * 0.0074999998323619366D * (double)par8;
        par5 += super.rand.nextGaussian() * 0.0074999998323619366D * (double)par8;
        par1 *= par7;
        par3 *= par7;
        par5 *= par7;
        super.motionX = par1;
        super.motionY = par3;
        super.motionZ = par5;
        float f1 = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
        super.prevRotationYaw = super.rotationYaw = (float)((Math.atan2(par1, par5) * 180D) / Math.PI);
        super.prevRotationPitch = super.rotationPitch = (float)((Math.atan2(par3, f1) * 180D) / Math.PI);
    }

    protected void onImpact(MovingObjectPosition par1MovingObjectPosition)
    {
        if (par1MovingObjectPosition.entityHit != null)
        {
            float var2 = bulletdamage;

            if (par1MovingObjectPosition.entityHit instanceof EntityLiving)
            {
                ((EntityLiving)par1MovingObjectPosition.entityHit).attackEntityFrom(DamageSource.causeThrownDamage(this, shootingEntity), var2);
            }

            if (par1MovingObjectPosition.entityHit instanceof EntityPlayer)
                if (super.worldObj.difficultySetting == 1)
                {
                    int j = super.rand.nextInt(10);

                    if (j == 0)
                    {
                        ((EntityLiving)par1MovingObjectPosition.entityHit).onDeath(DamageSource.fall);
                    }
                }
        }
        else if (par1MovingObjectPosition.typeOfHit == EnumMovingObjectType.TILE)
        {
            if (!super.worldObj.isRemote)
            {
                setDead();
            }

            if (super.worldObj.getBlockId(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ) == Block.glass.blockID || super.worldObj.getBlockId(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ) == Block.thinGlass.blockID)
            {
                super.worldObj.setBlock(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ, 0);
                super.worldObj.playSoundEffect(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ, "random.glass", 1.0F, 1.0F);
                setDead();
            }
            else if (super.worldObj.getBlockId(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ) == ((Block)(Block.tallGrass)).blockID)
            {
                super.worldObj.setBlock(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ, 0);
                super.worldObj.playSoundEffect(par1MovingObjectPosition.blockX, par1MovingObjectPosition.blockY, par1MovingObjectPosition.blockZ, "step.grass", 1.0F, 1.0F);
                setDead();
            }
        }
    }

    private float bulletdamage;
    public Entity shootingEntity;
}

Вот и всё. Твоё ружьё готово, осталось нарисовать текстуру и настроить урон пули.
[merge_posts_bbcode]Добавлено: 28.07.2014 09:52:24[/merge_posts_bbcode]

Ах да, урон надо записывать ЗДЕСЬ:

Код:
bulletdamage = f;
Вместо f урон. (Буковка f тоже нужна после цифры, ты понял)
 
Назад
Сверху