Raised This Month: $51 Target: $400
 12% 

Module: Orpheu (v2.6.3)


Post New Thread Reply   
 
Thread Tools Display Modes
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 12-31-2014 , 12:35   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1401

For people running 1.8.2, Orpheu 2.6.3 should load now.

I've removed all attachments, but original version is still available in /legacy directory on the GitHub repository.
__________________
Arkshine is offline
Jhob94
AMX Mod X Donor
Join Date: Jul 2012
Old 03-26-2015 , 12:37   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1402

Well, this is a off-topic post but may interest someone.
As some people know, quim choosed the name Orpheu for this module because of a writter named Fernando Pessoa that made a magazine that brought a revolution into portuguese writing style, just like this module brought revolution into AMXX allowing us to do stuff that wasn't possible before. Orpheu is also a the son of apollo, no one cares about that xD
Well, the magazine was released at the last days of March of 1915, so Orpheu is celebrating 100 years. It's a good time to see Quim/Arkshine releasing some huge orpheu plugin
__________________
Jhob94 is offline
Lycode
Junior Member
Join Date: Aug 2014
Old 03-31-2015 , 08:20   Re: Module: Orpheu (v2.6.2)
Reply With Quote #1403

Quote:
Originally Posted by Arkshine View Post
Nope. But Okapi has a good chance, it's similar to Orpheu, and I'm already working to update it to add missing things (removing treemap, factorize natives, more lib support, structures support, etc). Module is somehow better coded, more flexible and has more useful natives. I would say it fits better. Module needs some update as Joaquim just thrown a first version like a motherfucker (lol) and after that, Orpheu will be deprecated i guess.
That's a shame, there is no reason not to include both. Orpheu in its current state works, the fact that some server admins and even coders dislike it is because currently it involves copying a lot of files over to the server to get Orpheu itself to work, then plugins that use Orhpeu also have plenty of files and overall it gets confusing if you have never used it before. If Orpheu was included then you only have to deal with signatures, it would be no different to copying a config file.
__________________
-This too shall pass
Lycode is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 03-31-2015 , 10:18   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1404

Quote:
there is no reason not to include both
There is. This makes no sense to add two modules doing the same thing, especially when Okapi is better overall. Orpheu was the first joaquimandrade's playground. It has some ugly, hardcoded and hacky code. Okapi is more sane, and I'm currently updating it to add some missing stuffs.

I'm not sure what is the issue, feel to keep using Orpheu.


Quote:
it involves copying a lot of files over to the server to get Orpheu itself to work, then plugins that use Orhpeu also have plenty of files and overall it gets confusing if you have never used it before. If Orpheu was included then you only have to deal with signatures, it would be no different to copying a config file.
Really? Installing is pretty clear, straight and it needs to be done ONE time. How to install? Just unzip a package as it is, and that's all, Orpheu ready. One instruction, clearly stated in Orpheu thread, nothing else to do. How is it confusing?

So, sorry but if Orpheu was included, it would make no difference. Issue is not installing Orpheu, but the need of compiling yourself the plugin and the required files for each plugins, which is annoying, even though for maintainability it's better.
__________________

Last edited by Arkshine; 03-31-2015 at 10:23.
Arkshine is offline
Lycode
Junior Member
Join Date: Aug 2014
Old 03-31-2015 , 11:32   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1405

Quote:
Originally Posted by Arkshine View Post
There is. This makes no sense to add two modules doing the same thing, especially when Okapi is better overall. Orpheu was the first joaquimandrade's playground. It has some ugly, hardcoded and hacky code. Okapi is more sane, and I'm currently updating it to add some missing stuffs.

I'm not sure what is the issue, feel to keep using Orpheu.

Really? Installing is pretty clear, straight and it needs to be done ONE time. How to install? Just unzip a package as it is, and that's all, Orpheu ready. One instruction, clearly stated in Orpheu thread, nothing else to do. How is it confusing?

So, sorry but if Orpheu was included, it would make no difference. Issue is not installing Orpheu, but the need of compiling yourself the plugin and the required files for each plugins, which is annoying, even though for maintainability it's better.
More often than not, people who post about having trouble with Orpheu have trouble with it because they did not correctly install it. I don't see how compiling it would be a problem if all the includes are already included with amxmodx. The required files would be no different to a .ini file that is required by a plugin.

I don't know much about Okapi though, so I'm sure your reasons for wanting to keep it and ditching Orpehu are more valid and logical than mine.
__________________
-This too shall pass
Lycode is offline
zoey
Member
Join Date: Jul 2013
Location: Motherboard.
Old 05-06-2015 , 10:36   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1406

Guys i have extracted the file as its in amxmodx direction
but when i type meta list , orphue doesnt show :s
zoey is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 05-06-2015 , 10:53   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1407

It will be loaded when you will use a plugin which requires Orpheu.
__________________
Arkshine is offline
Clauu
Senior Member
Join Date: Feb 2008
Location: RO
Old 05-11-2015 , 17:12   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1408

Anyone having crashes on some maps? For ex css_kabul2x2 awp_whore awp_burg-impulzz with module activated server goes down..or maybe it's random but on those maps i see that its happening, is this a known issue? Latest metamod(p37), hlds(6153) and amxx(1.8.2)

Last edited by Clauu; 05-11-2015 at 17:13.
Clauu is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 05-11-2015 , 17:46   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1409

Orpheu does nothing unless a plugin uses it. Check the plugins instead.

If you think there is a bug with Orpheu, give me an exact way of reproducing easily the issue.
__________________
Arkshine is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 05-11-2015 , 20:45   Re: Module: Orpheu (v2.6.3)
Reply With Quote #1410

I have problems of crash too, but crash every two maps when map change all the time and i dont have errors in logs, i use orpheu v2.6.2, metamod 1.21-am, amxx 1.8.3-dev-git4717, HLDS (6027) linux..

Code using orpheu:

PHP Code:
/*===============================================================================​=
    
    -------------------------
    -*- [ZP] Team Scoring -*-
    -------------------------
    
    This plugin is part of Zombie Plague Mod and is distributed under the
    terms of the GNU General Public License. Check ZP_ReadMe.txt for details.
    
================================================================================​*/

#include <amxmodx>
#include <amx_settings_api>
#include <zp50_gamemodes>
#include <orpheu>
#include <orpheu_memory>

// Settings file
new const ZP_SETTINGS_FILE[] = "zombieplague.ini"

// Default sounds
new const sound_win_zombies[][] = { "ambience/the_horror1.wav" "ambience/the_horror3.wav" "ambience/the_horror4.wav" }
new const 
sound_win_humans[][] = { "zombie_plague/win_humans1.wav" "zombie_plague/win_humans2.wav" }
new const 
sound_win_no_one[][] = { "ambience/3dmstart.wav" }

// HUD messages
#define HUD_EVENT_X -1.0
#define HUD_EVENT_Y 0.12

#define SOUND_MAX_LENGTH 64

// Custom sounds
new Array:g_sound_win_zombies
new Array:g_sound_win_humans
new Array:g_sound_win_no_one

new g_ScoreHumansg_ScoreZombies
new g_HudSync

new cvar_winner_show_hudcvar_winner_sounds

new g_pGameRules;

new 
OrpheuFunction:_UpdateTeamScores;

#define SetTeamScore(%0,%1) OrpheuMemorySetAtAddress( g_pGameRules, g_szMemoryOfs[ %0 ], 1, %1 )
#define GetTeamScore(%0)    OrpheuMemoryGetAtAddress( g_pGameRules, g_szMemoryOfs[ %0 ] )

new const g_szMemoryOfs[][] = 
{
    
""
    
"m_iNumTerroristWins",
    
"m_iNumCTWins"
}

public 
plugin_init()
{
    
register_plugin("[ZP] Team Scoring"ZP_VERSION_STRING"ZP Dev Team")
    
    
// Create the HUD Sync Objects
    
g_HudSync CreateHudSyncObj()
    
    
register_message(get_user_msgid("TextMsg"), "message_textmsg")
    
register_message(get_user_msgid("SendAudio"), "message_sendaudio")
    
register_message(get_user_msgid("TeamScore"), "message_teamscore")  
    
    
cvar_winner_show_hud register_cvar("zp_winner_show_hud""1")
    
cvar_winner_sounds register_cvar("zp_winner_sounds""1")
}

public 
plugin_precache()
{
    
// Initialize arrays
    
g_sound_win_zombies ArrayCreate(SOUND_MAX_LENGTH1)
    
g_sound_win_humans ArrayCreate(SOUND_MAX_LENGTH1)
    
g_sound_win_no_one ArrayCreate(SOUND_MAX_LENGTH1)
    
    
// Load from external file
    
amx_load_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN ZOMBIES"g_sound_win_zombies)
    
amx_load_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN HUMANS"g_sound_win_humans)
    
amx_load_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN NO ONE"g_sound_win_no_one)
    
    
// If we couldn't load custom sounds from file, use and save default ones
    
new index
    
if (ArraySize(g_sound_win_zombies) == 0)
    {
        for (
index 0index sizeof sound_win_zombiesindex++)
            
ArrayPushString(g_sound_win_zombiessound_win_zombies[index])
        
        
// Save to external file
        
amx_save_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN ZOMBIES"g_sound_win_zombies)
    }
    if (
ArraySize(g_sound_win_humans) == 0)
    {
        for (
index 0index sizeof sound_win_humansindex++)
            
ArrayPushString(g_sound_win_humanssound_win_humans[index])
        
        
// Save to external file
        
amx_save_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN HUMANS"g_sound_win_humans)
    }
    if (
ArraySize(g_sound_win_no_one) == 0)
    {
        for (
index 0index sizeof sound_win_no_oneindex++)
            
ArrayPushString(g_sound_win_no_onesound_win_no_one[index])
        
        
// Save to external file
        
amx_save_setting_string_arr(ZP_SETTINGS_FILE"Sounds""WIN NO ONE"g_sound_win_no_one)
    }
    
    
// Precache sounds
    
new sound[SOUND_MAX_LENGTH]
    for (
index 0index ArraySize(g_sound_win_zombies); index++)
    {
        
ArrayGetString(g_sound_win_zombiesindexsoundcharsmax(sound))
        if (
equal(sound[strlen(sound)-4], ".mp3"))
        {
            
format(soundcharsmax(sound), "sound/%s"sound)
            
precache_generic(sound)
        }
        else
            
precache_sound(sound)
    }
    for (
index 0index ArraySize(g_sound_win_humans); index++)
    {
        
ArrayGetString(g_sound_win_humansindexsoundcharsmax(sound))
        if (
equal(sound[strlen(sound)-4], ".mp3"))
        {
            
format(soundcharsmax(sound), "sound/%s"sound)
            
precache_generic(sound)
        }
        else
            
precache_sound(sound)
    }
    for (
index 0index ArraySize(g_sound_win_no_one); index++)
    {
        
ArrayGetString(g_sound_win_no_oneindexsoundcharsmax(sound))
        if (
equal(sound[strlen(sound)-4], ".mp3"))
        {
            
format(soundcharsmax(sound), "sound/%s"sound)
            
precache_generic(sound)
        }
        else
            
precache_sound(sound)
    }
    
    
OrpheuRegisterHookOrpheuGetFunction"InstallGameRules" ), "On_InstallGameRules"OrpheuHookPost );
         
_UpdateTeamScores OrpheuGetFunction"UpdateTeamScores""CHalfLifeMultiplay" );
}

public 
OrpheuHookReturn:On_InstallGameRules()
{
    
g_pGameRules OrpheuGetReturn();
}

public 
zp_fw_gamemodes_end()
{
    
// Determine round winner, show HUD notice
    
new sound[SOUND_MAX_LENGTH]
    if (!
zp_core_get_zombie_count())
    {
        
// Human team wins
        
if (get_pcvar_num(cvar_winner_show_hud))
        {
            
set_hudmessage(00200HUD_EVENT_XHUD_EVENT_Y00.03.02.01.0, -1)
            
ShowSyncHudMsg(0g_HudSync"%L"LANG_PLAYER"WIN_HUMAN")
        }
        
        if (
get_pcvar_num(cvar_winner_sounds))
        {
            
ArrayGetString(g_sound_win_humansrandom_num(0ArraySize(g_sound_win_humans) - 1), soundcharsmax(sound))
            
PlaySoundToClients(sound1)
        }
        
        
ChangeTeamScore21true )
                
UpdateTeamScores();
    }
    else if (!
zp_core_get_human_count())
    {
        
// Zombie team wins
        
if (get_pcvar_num(cvar_winner_show_hud))
        {
            
set_hudmessage(20000HUD_EVENT_XHUD_EVENT_Y00.03.02.01.0, -1)
            
ShowSyncHudMsg(0g_HudSync"%L"LANG_PLAYER"WIN_ZOMBIE")
        }
        
        if (
get_pcvar_num(cvar_winner_sounds))
        {
            
ArrayGetString(g_sound_win_zombiesrandom_num(0ArraySize(g_sound_win_zombies) - 1), soundcharsmax(sound))
            
PlaySoundToClients(sound1)
        }
        
        
ChangeTeamScore11true )
                
UpdateTeamScores();
    }
    else
    {
        
// No one wins
        
if (get_pcvar_num(cvar_winner_show_hud))
        {
            
set_hudmessage(00200HUD_EVENT_XHUD_EVENT_Y00.03.02.01.0, -1)
            
ShowSyncHudMsg(0g_HudSync"%L"LANG_PLAYER"WIN_NO_ONE")
        }
        
        if (
get_pcvar_num(cvar_winner_sounds))
        {
            
ArrayGetString(g_sound_win_humansrandom_num(0ArraySize(g_sound_win_humans) - 1), soundcharsmax(sound))
            
PlaySoundToClients(sound1)
        }
        
        
ChangeTeamScore21true )
                
UpdateTeamScores();
    }
}

// Block some text messages
public message_textmsg()
{
    new 
textmsg[22]
    
get_msg_arg_string(2textmsgcharsmax(textmsg))
    
    
// Game restarting/game commencing, reset scores
    
if (equal(textmsg"#Game_will_restart_in") || equal(textmsg"#Game_Commencing"))
    {
        
g_ScoreHumans 0
        g_ScoreZombies 
0
    
}
    
// Block round end related messages
    
else if (equal(textmsg"#Hostages_Not_Rescued") || equal(textmsg"#Round_Draw") || equal(textmsg"#Terrorists_Win") || equal(textmsg"#CTs_Win"))
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}

// Block CS round win audio messages, since we're playing our own instead
public message_sendaudio()
{
    new 
audio[17]
    
get_msg_arg_string(2audiocharsmax(audio))
    
    if(
equal(audio[7], "terwin") || equal(audio[7], "ctwin") || equal(audio[7], "rounddraw"))
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}

ChangeTeamScore( const iTeam, const iValuebool:Add )
{
    new 
iScore;
    
    if( 
Add )
        
iScore GetTeamScoreiTeam ) + iValue;
    else    
iScore iValue;
    
    
SetTeamScoreiTeamiScore );
}

UpdateTeamScores()
{
    
OrpheuCall_UpdateTeamScoresg_pGameRules );
}
    
// Plays a sound on clients
PlaySoundToClients(const sound[], stop_sounds_first 0)
{
    if (
stop_sounds_first)
    {
        if (
equal(sound[strlen(sound)-4], ".mp3"))
            
client_cmd(0"stopsound; mp3 play ^"sound/%s^""sound)
        else
            
client_cmd(0"mp3 stop; stopsound; spk ^"%s^""sound)
    }
    else
    {
        if (
equal(sound[strlen(sound)-4], ".mp3"))
            
client_cmd(0"mp3 play ^"sound/%s^""sound)
        else
            
client_cmd(0"spk ^"%s^""sound)
    }

signatures: https://forums.alliedmods.net/showpo...2&postcount=10

Last edited by wicho; 05-11-2015 at 20:55.
wicho is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:07.


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