AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   Quakemod in progress! (https://forums.alliedmods.net/showthread.php?t=152281)

AleeKz 08-27-2012 13:06

Re: Quakemod in progress!
 
Quote:

Originally Posted by Arkshine (Post 1784310)
Yes, I don't like to use old code and I will do a better job if I do it myself from scratch.

You're the best. :fox:

bat 08-28-2012 00:27

Re: Quakemod in progress!
 
Quote:

Originally Posted by AleeKz (Post 1784295)
Yeah cool , I haven't seen NOT EVEN ONE SERVER that has this mod. So this plugin it's so private that even nobody has it ?

Quote:

googicaa Create this plugin

OvidiuS 08-28-2012 07:04

Re: Quakemod in progress!
 
@bat
In the video which you posted, is server with zombie plague + quake power ups, and changed weapon models.
That isn't quake mod.
Power ups is easy to create, because GHW made similar plugin, you only need to change power up models.

@Arkshine
Great, when can we expect it in public?

diablix 12-18-2012 16:12

Re: Quakemod in progress!
 
Well as I said, I had to recode it. Haven't really done it yet but here is some code of rocket launcher you might want (because I haven't done any other weps yet, lol)

Rocket launcher

PHP Code:

public fwTouchRocket(iEntiCos){
    if(!
pev_valid(iEnt))
        return;
    
    new 
Float:fOrigin[0x3];
    
pev(iEntpev_originfOrigin);  
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordfOrigin[0x0]);
    
engfunc(EngFunc_WriteCoordfOrigin[0x1]);
    
engfunc(EngFunc_WriteCoordfOrigin[0x2]);
    
write_short(g_sSprites[0x0]);
    
write_byte(0x10);
    
write_byte(0x5);
    
write_byte(0x0);
    
message_end();
    
    new 
iAttacker pev(iEntpev_owner);
    new 
iEntities[0x21];
    new 
iPlayersFound find_sphere_class(iEnt"player"145.0iEntities0x20);
    new 
iDamage;
    new 
Float:fPlayerOrigin[0x3];
    
    for(new 
iPlayersFound i++){        
        if(
is_user_alive(iEntities[i])){
            
pev(iEntities[i], pev_originfPlayerOrigin);
            
iDamage _quakefunc_damageByRange(fm_entity_range(iEntities[i], iEnt), 30.02.00.2);
            if(
iAttacker==iEntities[i]) iDamage floatround(iDamage*0.32);
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_BLOODSPRITE);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x0]);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x1]);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x2]);
            
write_short(g_sSprites[0x3]);
            
write_short(g_sSprites[0x2]);
            
write_byte(0xF8);
            
write_byte(0x10);
            
message_end();
            
            
xs_vec_sub(fPlayerOriginfOriginfPlayerOrigin);
            
fPlayerOrigin[0x0]*=6.5;
            
fPlayerOrigin[0x1]*=6.5
            fPlayerOrigin
[0x2]=floatmin(470.0fPlayerOrigin[0x2]*15.0);
            
            
set_pev(iEntities[i], pev_velocity/*fVelocity*/fPlayerOrigin);
            
            
_quakefunc_executeDamage(iAttackeriEntities[i], iDamagefalse);
        }
    }
    
engfunc(EngFunc_RemoveEntityiEnt);
}

_quakefunc_executeDamage(iAttackeriOfiaraiDamagebool:bHitBox){
    new 
iAimingOrigin[0x3], iHitboxiBronFloat:fAimingOrigin[0x3], Float:fDamageFloat:fHealthsTypBroni[0x20];
    
fDamage float(iDamage);
    
iBron _quakefunc_getCurrentWeapon(iAttacker);
    
    
get_user_origin(iAttackeriAimingOrigin0x3);
    
IVecFVec(iAimingOriginfAimingOrigin);
    
    
formatex(sTypBronisizeof sTypBronig_sTypyBroni[iBron]);
    
    if(
bHitBox){
        new 
Float:fViewOfs[0x3], Float:fEnd[0x3], Float:fOrigin[0x3];
        
        
pev(iAttackerpev_originfOrigin);
        
pev(iAttackerpev_view_ofsfViewOfs);
        
        
xs_vec_add(fOriginfViewOfsfOrigin);
        
        
pev(iAttackerpev_v_anglefEnd);
        
angle_vector(fEndANGLEVECTOR_FORWARDfEnd);
        
        
xs_vec_mul_scalar(fEnd999.0fEnd);
        
        
xs_vec_add(fOriginfEndfEnd);
        
        new 
iTr create_tr2();
        
        
engfunc(EngFunc_TraceLinefOriginfEnd0iAttackeriTr);
        
        new 
iHit get_tr2(iTrTR_pHit);
        
        if(
is_user_connected(iHit) && is_user_alive(iHit)){
            
pev(iHitpev_healthfHealth);
            
            
iHitbox get_tr2(iTrTR_iHitgroup);
            
fDamage *= g_fItemDmgMulti[iHitbox];
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_BLOODSPRITE);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x0]);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x1]);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x2]);
            
write_short(g_sSprites[0x3]);
            
write_short(g_sSprites[0x2]);
            
write_byte(0xF8);
            
write_byte(floatround(g_fItemDmgMulti[iHitbox] * 0xD));
            
message_end();
            
            
set_msg_block(g_mDeathMsgBLOCK_ONCE);
            
fm_fakedamage(iHitsTypBronifDamageDMG_GENERIC);
            
set_msg_block(g_mDeathMsgBLOCK_NOT);
            
            if(
floatround(fHealth fDamage) < 0x1){
                
make_deathmsg(iAttackeriHit0x1"");
                
user_silentkill(iHit);
            }
        }
        
    }
    else{
        
pev(iOfiarapev_healthfHealth);
        
set_msg_block(g_mDeathMsgBLOCK_ONCE);
        
fm_fakedamage(iOfiarasTypBronifDamageDMG_GENERIC);
        
set_msg_block(g_mDeathMsgBLOCK_NOT);
        
        if(
floatround(fHealth fDamage) < 0x1){
            
make_deathmsg(iAttackeriOfiara0x1"");
            
user_silentkill(iOfiara);
        }
    }
    


Damage based on distance

PHP Code:

_quakefunc_damageByRange(Float:fOdlegloscFloat:fDamageFloat:fMnoznikFloat:fRoznica){
    new 
Float:fMaxDmg fDamage*fMnoznik;
    new 
Float:fIle;
    
    
fIle fMaxDmg fOdleglosc*fRoznica;
    
    if(
fIle fMaxDmgfIle fMaxDmg;
    
    return 
floatround(floatmax(fIlefDamage*random_float(0.10.3)));


btw I see no point at scamming, old code was working for sure, it was just pretty bad and I promised you, to give you the new version when it's done, but ofc u already said im scammer and we lost contact.

bLacK-bLooD 12-19-2012 04:34

Re: Quakemod in progress!
 
What about the release of the plugin? We are all still waiting for it.

Mucx 02-05-2013 13:45

Re: Quakemod in progress!
 
Quote:

Originally Posted by diablix (Post 1856135)
Well as I said, I had to recode it. Haven't really done it yet but here is some code of rocket launcher you might want (because I haven't done any other weps yet, lol)

Rocket launcher

PHP Code:

public fwTouchRocket(iEntiCos){
    if(!
pev_valid(iEnt))
        return;
    
    new 
Float:fOrigin[0x3];
    
pev(iEntpev_originfOrigin);  
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordfOrigin[0x0]);
    
engfunc(EngFunc_WriteCoordfOrigin[0x1]);
    
engfunc(EngFunc_WriteCoordfOrigin[0x2]);
    
write_short(g_sSprites[0x0]);
    
write_byte(0x10);
    
write_byte(0x5);
    
write_byte(0x0);
    
message_end();
    
    new 
iAttacker pev(iEntpev_owner);
    new 
iEntities[0x21];
    new 
iPlayersFound find_sphere_class(iEnt"player"145.0iEntities0x20);
    new 
iDamage;
    new 
Float:fPlayerOrigin[0x3];
    
    for(new 
iPlayersFound i++){        
        if(
is_user_alive(iEntities[i])){
            
pev(iEntities[i], pev_originfPlayerOrigin);
            
iDamage _quakefunc_damageByRange(fm_entity_range(iEntities[i], iEnt), 30.02.00.2);
            if(
iAttacker==iEntities[i]) iDamage floatround(iDamage*0.32);
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_BLOODSPRITE);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x0]);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x1]);
            
engfunc(EngFunc_WriteCoordfPlayerOrigin[0x2]);
            
write_short(g_sSprites[0x3]);
            
write_short(g_sSprites[0x2]);
            
write_byte(0xF8);
            
write_byte(0x10);
            
message_end();
            
            
xs_vec_sub(fPlayerOriginfOriginfPlayerOrigin);
            
fPlayerOrigin[0x0]*=6.5;
            
fPlayerOrigin[0x1]*=6.5
            fPlayerOrigin
[0x2]=floatmin(470.0fPlayerOrigin[0x2]*15.0);
            
            
set_pev(iEntities[i], pev_velocity/*fVelocity*/fPlayerOrigin);
            
            
_quakefunc_executeDamage(iAttackeriEntities[i], iDamagefalse);
        }
    }
    
engfunc(EngFunc_RemoveEntityiEnt);
}

_quakefunc_executeDamage(iAttackeriOfiaraiDamagebool:bHitBox){
    new 
iAimingOrigin[0x3], iHitboxiBronFloat:fAimingOrigin[0x3], Float:fDamageFloat:fHealthsTypBroni[0x20];
    
fDamage float(iDamage);
    
iBron _quakefunc_getCurrentWeapon(iAttacker);
    
    
get_user_origin(iAttackeriAimingOrigin0x3);
    
IVecFVec(iAimingOriginfAimingOrigin);
    
    
formatex(sTypBronisizeof sTypBronig_sTypyBroni[iBron]);
    
    if(
bHitBox){
        new 
Float:fViewOfs[0x3], Float:fEnd[0x3], Float:fOrigin[0x3];
        
        
pev(iAttackerpev_originfOrigin);
        
pev(iAttackerpev_view_ofsfViewOfs);
        
        
xs_vec_add(fOriginfViewOfsfOrigin);
        
        
pev(iAttackerpev_v_anglefEnd);
        
angle_vector(fEndANGLEVECTOR_FORWARDfEnd);
        
        
xs_vec_mul_scalar(fEnd999.0fEnd);
        
        
xs_vec_add(fOriginfEndfEnd);
        
        new 
iTr create_tr2();
        
        
engfunc(EngFunc_TraceLinefOriginfEnd0iAttackeriTr);
        
        new 
iHit get_tr2(iTrTR_pHit);
        
        if(
is_user_connected(iHit) && is_user_alive(iHit)){
            
pev(iHitpev_healthfHealth);
            
            
iHitbox get_tr2(iTrTR_iHitgroup);
            
fDamage *= g_fItemDmgMulti[iHitbox];
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_BLOODSPRITE);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x0]);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x1]);
            
engfunc(EngFunc_WriteCoordfAimingOrigin[0x2]);
            
write_short(g_sSprites[0x3]);
            
write_short(g_sSprites[0x2]);
            
write_byte(0xF8);
            
write_byte(floatround(g_fItemDmgMulti[iHitbox] * 0xD));
            
message_end();
            
            
set_msg_block(g_mDeathMsgBLOCK_ONCE);
            
fm_fakedamage(iHitsTypBronifDamageDMG_GENERIC);
            
set_msg_block(g_mDeathMsgBLOCK_NOT);
            
            if(
floatround(fHealth fDamage) < 0x1){
                
make_deathmsg(iAttackeriHit0x1"");
                
user_silentkill(iHit);
            }
        }
        
    }
    else{
        
pev(iOfiarapev_healthfHealth);
        
set_msg_block(g_mDeathMsgBLOCK_ONCE);
        
fm_fakedamage(iOfiarasTypBronifDamageDMG_GENERIC);
        
set_msg_block(g_mDeathMsgBLOCK_NOT);
        
        if(
floatround(fHealth fDamage) < 0x1){
            
make_deathmsg(iAttackeriOfiara0x1"");
            
user_silentkill(iOfiara);
        }
    }
    


Damage based on distance

PHP Code:

_quakefunc_damageByRange(Float:fOdlegloscFloat:fDamageFloat:fMnoznikFloat:fRoznica){
    new 
Float:fMaxDmg fDamage*fMnoznik;
    new 
Float:fIle;
    
    
fIle fMaxDmg fOdleglosc*fRoznica;
    
    if(
fIle fMaxDmgfIle fMaxDmg;
    
    return 
floatround(floatmax(fIlefDamage*random_float(0.10.3)));


btw I see no point at scamming, old code was working for sure, it was just pretty bad and I promised you, to give you the new version when it's done, but ofc u already said im scammer and we lost contact.

We los contact? You didin't even answer. So add me back? http://steamcommunity.com/id/Drap5w7m
[email protected]

Mucx 06-04-2013 02:13

Re: Quakemod in progress!
 
w0w, a year and still no working plugin and no contact. : ))


All times are GMT -4. The time now is 11:30.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.