This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

Module: Orpheu (v2.6.3)


Post New Thread Reply   
 
Thread Tools Display Modes
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 11-15-2014 , 11:14   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1341

Sorry, I mean config files, not signatures. In okapi you hardcode the symbol on linux and the signature on windows into the source, where in orpheu you have a config file where you can change values very easy. Well, offsets have different values from windows/linux and to know which value should you use you need to check is_linux_server. Or I'm missing something ?
__________________
HamletEagle is offline
colossus
Member
Join Date: Sep 2013
Old 11-16-2014 , 12:40   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1342

I have errors

Quote:
11/16/2014 - 14:22:05: [AMXX] Plugin "round_terminator.amxx" failed to load: Module/Library "orpheu" required for plugin. Check modules.ini.
11/16/2014 - 14:22:05: Called dynanative into a paused plugin.
I use v2.6.1
colossus is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 11-16-2014 , 12:52   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1343

@HamletEagle:

where in orpheu you have a config file where you can change values very easy
Not really a good argument because signature is not going to change unless there are changes in the related code area or special situation like the Steam update where compilers have been updated to more recent version. So if you provide old/new signatures/symbols, this is unlikely you will ever need to update your plugin. That's said, a config file would be welcomed to share more easily and yes such data should not be hardcoded. But unsure how it should be done in Okapi.

Well, offsets have different values from windows/linux
If you are talking about function offset, it should not be used anyway. It's very easy to make a signature. Offset could be useful to test something fastly, but, making a signature took like 10s to 30s, not a big deal.
If you're talking specific situation where you need to handle some memory structure or something, you might need to deal with windows/linux specificity. But I agree too, i would prefer to define such static datas in a config file.

@colossus:

Well don't pause the plugin?
__________________
Arkshine is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viņa del Mar, Chile
Old 11-22-2014 , 13:43   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1344

No body discovered an issue on latest version?
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 11-23-2014 , 16:30   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1345

Hello, I have a problem I use one plugin with Orpheu but I get this error [AMXX] Plugin "zp50_team_scoring.amxx" failed to load: Module/Library "orpheu" required for plugin. Check modules.ini. i dunno why this error appears i installed as three time the version of orpheu 2.6.1..

This is the plugin:

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)
    }

And i use this signatures https://forums.alliedmods.net/showpo...2&postcount=10

] amx_modules
Currently loaded modules:
name version author status
unknown unknown unknown bad load
Fun 1.8.3-dev AMX Mod X Dev Team running
Engine 1.8.3-dev AMX Mod X Dev Team running
FakeMeta 1.8.3-dev AMX Mod X Dev Team running
CStrike 1.8.3-dev AMX Mod X Dev Team running
CSX 1.8.3-dev AMX Mod X Dev Team running
MySQL 1.8.3-dev AMX Mod X Dev Team running
Ham Sandwich 1.8.3-dev AMX Mod X Dev Team running
nVault 1.8.3-dev AMX Mod X Dev Team running
GeoIP Extented 1.0.2 AMX Mod X Dev Team running
10 modules

] meta list
Currently running plugins:

[ 1] AMX Mod X, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 2] Orpheu, v2.6.1, Nov 13 2014, by joaquimandrade & Arkshine, see http://forums.alliedmods.net/showthread.php?t=116393
[ 3] Fun, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 4] Engine, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 5] FakeMeta, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 6] CStrike, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 7] CSX, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org/
[ 8] MySQL, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org/
[ 9] Ham Sandwich, v1.8.3-dev, Sep 10 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
9 plugins

Appears one bad load I guess is the module Orpheu, but i dont understand why thiss appears if i have already registered in modules.ini

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;
;; Put third party modules below here. ;;
;; You can just list their names, without the _amxx ;;
;; or file extension. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;

orpheu

Last edited by wicho; 11-23-2014 at 16:32.
wicho is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 11-23-2014 , 16:35   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1346

You don't need to modify modules.ini. Server under windows xp/2003 ?
__________________

Last edited by Arkshine; 11-23-2014 at 16:36.
Arkshine is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 11-23-2014 , 17:13   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1347

No linux..
wicho is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 11-23-2014 , 17:23   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1348

Do you have access to machine console so you can execute some binary?

And also, could you try to type in the HLDS server console:

meta_debug 1
meta refresh

And see if it gives some useful information.

Check your server log as well in case it has oufput something.
__________________

Last edited by Arkshine; 11-23-2014 at 17:27.
Arkshine is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 11-23-2014 , 18:10   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1349

Yes i have access...

meta refresh
L 11/23/2014 - 15:01:24: [META] Refreshing the plugins on demand...
L 11/23/2014 - 15:01:24: [META] ini: Begin re-reading plugins list: /servers/zp/cstrike/addons/metamod/plugins.ini
L 11/23/2014 - 15:01:24: [META] ini: Read plugin config for: AMX Mod X
L 11/23/2014 - 15:01:24: [META] ini: Finished reading plugins list: /servers/zp/cstrike/addons/metamod/plugins.ini; Found 3 plugins
L 11/23/2014 - 15:01:24: [META] dll: Updating plugins...
L 11/23/2014 - 15:01:24: [META] dll: Finished updating 9 plugins; kept 3, loaded 0, unloaded 0, reloaded 0, delayed 0

Last edited by wicho; 11-23-2014 at 18:11.
wicho is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 11-23-2014 , 18:23   Re: Module: Orpheu (v2.5.1)
Reply With Quote #1350

Then try to use that:

- Unzip and copy dlsym where the Orpheu binary is. (amxmodx/modules/)
- Then from your console:

Code:
chmod +x dlsym
./dlsym orpheu_amxx_i386.so
It should say if whether module is loaded or a specific error.
Attached Files
File Type: zip dlsym.zip (1.8 KB, 125 views)
__________________

Last edited by Arkshine; 11-23-2014 at 18:25.
Arkshine 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 22:48.


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