Raised This Month: $ Target: $400
 0% 

Some help plz...


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
jacker
Junior Member
Join Date: Apr 2008
Old 12-04-2009 , 04:35   Some help plz...
Reply With Quote #1

Hey Guys ;)


I've been trying to make a LAN server with SH mod.. all works gr8 except some stuff which i can't find out how to do...

nr. 1 I got this hero called "ghostface" he is more likely known as "scream" but he doesn't have rebirth... can some1 add that to him and post .sma or post .sma for scream ?

nr. 2 I have made goldenAK with Jtpizzalover's shgen but he doesn't give wep ea spawn so can any1 upload him with wep at ea spawn or something like that?

nr. 3 is to get terrorist working atm it says this "[AMXX] Plugin "sh_terrorist.amxx" failed to load: Plugin uses an unknown function (name "DispatchKeyValue") - check your modules.ini." ( is done )

nr. 4 is to get supergirl working atm it says this "[AMXX] Plugin "sh_supergirl.amxx" failed to load: Plugin uses an unknown function (name "trace_line") - check your modules.ini." ( is done )

nr. 5 is to get fade working atm it says this "[AMXX] Run time error 10 (plugin "sh_fade.amxx") (native "sh_create_hero") - debug not enabled!" can any1 find out what the problem is or make another fade for me with same abilitie's and model?

nr. 6 I would like to get the hero called "SuperAUG" or "GoldenAUG" can any1 upload .sma for it ?

nr. 7 I have this hero called "Amazo" but he doesn't make me faster ( his speed is on 2000 ) any1 got an idea why i'm not faster with him than if I have jason? ( jason has 600 in speed on my LAN server )

this is just a suggestion ( if it haven't been made yet )
can any1 make an hero generator like Jtpizzalover's ( http://esiana.com/shgen/old.html ) but with more than it has now fx. life reg., revive, skins for more than 1 wep, dmg for more than 1 wep, life drain, hook, no fall dmg, give wep at every spawn/respawn & if u have other ideas plz put 'em in...

I hope some1 can help me with my problems and maybe also with my suggestion...

come on man... no 1 can/wonna help me with the last stuff?

Last edited by jacker; 12-13-2009 at 04:45.
jacker is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 12-04-2009 , 04:52   Re: Some help plz...
Reply With Quote #2

To start, make sure you're running the latest Amxx version ( 1.8.1 ) and metamod version ( 1.19 ).
__________________
Arkshine is offline
jacker
Junior Member
Join Date: Apr 2008
Old 12-04-2009 , 05:20   Re: Some help plz...
Reply With Quote #3

Quote:
Originally Posted by Arkshine View Post
To start, make sure you're running the latest Amxx version ( 1.8.1 ) and metamod version ( 1.19 ).

I'm sure that I run amxx 1.8.1 but how can I check metamod?
jacker is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 12-04-2009 , 05:26   Re: Some help plz...
Reply With Quote #4

Paste the output of the following server commands :

meta list
amxx list
amxx modules

If you don't have an access to the server console you can use the rcon :

amx_rcon meta list
amx_rcon amxx list
amx_rcon amxx modules
__________________
Arkshine is offline
jacker
Junior Member
Join Date: Apr 2008
Old 12-04-2009 , 05:31   Re: Some help plz...
Reply With Quote #5

this is what is shows... hope u can tell me what to do from it....



] meta list
PHP Code:
Currently loaded plugins:
description stat pend file vers src load unlod
1AMX Mod X RUN amxmodx_mm.dll v1.8.1.3 ini Start ANY 
2Fun RUN fun_amxx.dll v1.8.1.3 pl1 ANY ANY 
3Engine RUN engine_amxx.dll v1.8.1.3 pl1 ANY ANY 
4FakeMeta RUN fakemeta_amxx.dl v1.8.1.3 pl1 ANY ANY 
5CStrike RUN cstrike_amxx.dll v1.8.1.3 pl1 ANY ANY 
6CSX RUN csx_amxx.dll v1.8.1.3 pl1 ANY ANY 
7Ham Sandwich RUN hamsandwich_amxx v1.8.1.3 pl1 ANY ANY 
7 plugins
7 running
Unknown command
madassassin_maxheal 
Welcome to Condition Zero
] amxx list
Code:
Currently loaded plugins:
name version author file status 
[ 1] Admin Base 1.8.1.3746 AMXX Dev Team admin.amxx running 
[ 2] Admin Commands 1.8.1.3746 AMXX Dev Team admincmd.amxx running 
[ 3] Admin Help 1.8.1.3746 AMXX Dev Team adminhelp.amxx running 
[ 4] Slots Reservation 1.8.1.3746 AMXX Dev Team adminslots.amxx running 
[ 5] Multi-Lingual System 1.8.1.3746 AMXX Dev Team multilingual.am running 
[ 6] Menus Front-End 1.8.1.3746 AMXX Dev Team menufront.amxx running 
[ 7] Commands Menu 1.8.1.3746 AMXX Dev Team cmdmenu.amxx running 
[ 8] Players Menu 1.8.1.3746 AMXX Dev Team plmenu.amxx running 
[ 9] Maps Menu 1.8.1.3746 AMXX Dev Team mapsmenu.amxx running 
[ 10] Plugin Menu 1.8.1.3746 AMXX Dev Team pluginmenu.amxx running 
[ 11] Admin Chat 1.8.1.3746 AMXX Dev Team adminchat.amxx running 
[ 12] Anti Flood 1.8.1.3746 AMXX Dev Team antiflood.amxx running 
[ 13] Scrolling Message 1.8.1.3746 AMXX Dev Team scrollmsg.amxx running 
[ 14] Info. Messages 1.8.1.3746 AMXX Dev Team imessage.amxx running 
[ 15] Admin Votes 1.8.1.3746 AMXX Dev Team adminvote.amxx running 
[ 16] NextMap 1.8.1.3746 AMXX Dev Team nextmap.amxx running 
[ 17] Nextmap Chooser 1.8.1.3746 AMXX Dev Team mapchooser.amxx running 
[ 18] TimeLeft 1.8.1.3746 AMXX Dev Team timeleft.amxx running 
[ 19] Pause Plugins 1.8.1.3746 AMXX Dev Team pausecfg.amxx running 
[ 20] Stats Configuration 1.8.1.3746 AMXX Dev Team statscfg.amxx running 
[ 21] StatsX 1.8.1.3746 AMXX Dev Team statsx.amxx running 
[ 22] SuperHero Core 1.2.0.10 JTP10181/{HOJ}Ba superheromodnva running 
[ 23] SUPERHERO Master Chief 1.6 Spartan-117/vitt sh_masterchief. running 
[ 24] SUPERHERO Ghostface 1.0 vittu sh_ghostface.am running 
[ 25] SUPERHERO Anubis 1.2.0.10 AssKicR/JTP10181 sh_anubis.amxx running 
[ 26] SUPERHERO Black Panthe 1.2.0.10 AssKicR/JTP10181 sh_blackpanther running 
[ 27] SUPERHERO Captain Amer 1.2.0.10 {HOJ} Batman/JTP sh_captaina.amx paused 
[ 28] SUPERHERO Daredevil 1.2.0.10 {HOJ} Batman/JTP sh_daredevil.am running 
[ 29] SUPERHERO Dracula 1.2.0.10 {HOJ} Batman/JTP sh_dracula.amxx running 
[ 30] SUPERHERO Grandmaster 1.2.0.10 {HOJ} Batman/JTP sh_grandmaster. running 
[ 31] SUPERHERO Punisher 1.2.0.10 {HOJ} Batman sh_punisher.amx running 
[ 32] SUPERHERO Shadowcat 1.2.0.10 {HOJ} Batman sh_shadowcat.am running 
[ 33] SUPERHERO Xavier 1.2.0.10 {HOJ} Batman sh_xavier.amxx running 
[ 34] SUPERHERO Bazooka 4.0 JTP10181 / AssKi sh_bazooka.amxx running 
[ 35] SUPERHERO Beast 1.0 Vectren sh_beast.amxx running 
[ 36] SUPERHERO Blink 2.4 scoutPractice / sh_blink.amxx running 
[ 37] SUPERHERO Domino 1.2 vittu sh_domino.amxx running 
[ 38] SUPERHERO frieza 1.1 Gorlag/Batman / sh_frieza.amxx running 
[ 39] SUPERHERO Gambit 1.3 Vectren / vittu sh_gambit.amxx running 
[ 40] SUPERHERO Gohan 1.2 sharky sh_gohan.amxx paused 
[ 41] SUPERHERO Goku 1.5 |RIC|_ALBANIAN / sh_goku.amxx running 
[ 42] SUPERHERO Phoenix 1.1 [FTW]-S.W.A.T / sh_phoenix.amxx running 
[ 43] SUPERHERO Poison Ivy 1.5 AssKicR / vittu sh_poisonivy.am running 
[ 44] SUPERHERO The Tick 1.3 vittu sh_thetick.amxx running 
[ 45] SUPERHERO Agent Zero 1.0 Freecode sh_agentzero.am running 
[ 46] SuperHero Monitor 1.3 vittu sh_monitor.amxx running 
[ 47] SUPERHERO Swat 1.0 Tassadarmaster / sh_swat.amxx running 
[ 48] SUPERHERO Flash 1.18 {HOJ} Batman sh_flash.amxx debug 
[ 49] SUPERHERO Yoda 1.2 AssKicR / Freeco sh_yoda.amxx running 
[ 50] SUPERHERO Wonder Woman 1.0 AssKicR sh_wonderwoman. running 
[ 51] SUPERHERO T-800 2.0 Bum_Boy16 sh_t800.amxx running 
[ 52] SUPERHERO Amazo 1.81 Soldateen sh_amazo.amxx running 
[ 53] unknown unknown unknown sh_terrorist.am bad load 
[ 54] SUPERHERO Superman 1.2.0.10 {HOJ} Batman sh_superman.amx running 
[ 55] unknown unknown unknown sh_supergirl.am bad load 
[ 56] SUPERHERO Super Saiyan 1.1 vittu sh_ssjgohan.amx running 
[ 57] SUPERHERO Spider-Man 1.2.0.10 {HOJ} Batman/JTP sh_spiderman.am running 
[ 58] SUPERHERO Light Armor 1.1 dakilla_msv sh_lightarmor.a running 
[ 59] SUPERHERO Fade 1.0 bLiNd / (_msv) c sh_fade.amxx running 
[ 60] SUPERHERO Shang-Chi 1.1 AssKicR sh_shangchi.amx running 
[ 61] SUPERHERO Red Blood 1.2 FireWalker877 sh_redblood.amx running 
[ 62] SUPERHERO Penguin 1.2 Yang/vittu sh_penguin.amxx running 
[ 63] SUPERHERO Necromancer 1.0 Rolnaaba sh_necro.amxx running 
[ 64] SUPERHERO Morph 1.2 BLU3 V1Z10N / Fr sh_morph.amxx running 
[ 65] SUPERHERO Master Blast 1.0 Organs Rare/Chiv sh_mblaster.amx running 
[ 66] SUPERHERO US MARINE 1.1 M0L sh_marine2008.a running 
[ 67] SUPERHERO Mad Assassin 1.4 dakilla_msv sh_madassassin. running 
[ 68] SUPERHERO Mac Daddy 1.3 dakilla_msv sh_macdaddy.amx running 
[ 69] SUPERHERO Heavy Armor 1.1 dakilla_msv sh_heavyarmor.a running 
[ 70] SUPERHERO Goldenak 1.81 soldateen sh_goldenak.amx running 
[ 71] SUPERHERO Dirty Harry 1.2 Om3gA sh_dirty.amxx running 
[ 72] SUPERHERO General 1.1 [Pentium4].killa sh_general.amxx running 
[ 73] SUPERHERO Jason Voorhe 1.0 vittu sh_jason.amxx running 
[ 74] SUPERHERO DarthMaul 1.2 sharky/JTP10181 sh_darthmaul.am running 
[ 75] SUPERHERO DarkPredator 1.0 kanu | DarkPreda sh_darkpredator running 
[ 76] SUPERHERO Danimoth X 2.1 1sh0t2killz sh_danimoth.amx running 
[ 77] SUPERHERO Cola Lover 1.3 Dr Dream sh_colalover.am running 
[ 78] SUPERHERO Bat Team 1.0 bLiNd sh_batteam.amxx running 
[ 79] SUPERHERO Agent 1.3 AssKicR & -|-LoA sh_agent.amxx running 
( 53) Load fails: Plugin uses an unknown function (name "DispatchKeyValue") - check your modules.ini.
( 55) Load fails: Plugin uses an unknown function (name "trace_line") - check your modules.ini.
79 plugins, 75 running
] amxx modules
PHP Code:
Currently loaded modules:
name version author status 
1Fun 1.8.1.3746 AMX Mod X Dev Team running 
2Engine 1.8.1.3746 AMX Mod X Dev Team running 
3FakeMeta 1.8.1.3746 AMX Mod X Dev Team running 
4nVault 1.8.1.3746 AMX Mod X Dev Team running 
5CStrike 1.8.1.3746 AMX Mod X Dev Team running 
6CSX 1.8.1.3746 AMX Mod X Dev Team running 
7Ham Sandwich 1.8.1.3746 AMX Mod X Dev Team
8unknown unknown unknown bad load 
8 modules
7 correct 

Last edited by jacker; 12-08-2009 at 01:47.
jacker is offline
jacker
Junior Member
Join Date: Apr 2008
Old 12-06-2009 , 06:12   Re: Some help plz...
Reply With Quote #6

Come on.. no1 knows why I get those errors ???
jacker is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 12-06-2009 , 06:16   Re: Some help plz...
Reply With Quote #7

It's weird because DispatchKeyValue() and trace_line() are from engine module, and it's loaded for you. Can you give a link to these hereos ?
__________________
Arkshine is offline
jacker
Junior Member
Join Date: Apr 2008
Old 12-06-2009 , 07:21   Re: Some help plz...
Reply With Quote #8

a friend of mine send them to me... all I know is that he fund them on this homepage...

should I upload .sma for both of them or?
(I compile all heroes just to be sure they r updated... but here the original gave same failure)

btw, do u know what I should about fade ?

.sma for terrorist
PHP Code:
//Terrorist!
/* CVARS - copy and paste to shconfig.cfg
//terrorist
terrorist_level 0
*/
#include <amxmod>
#include <Vexd_Utilities>
#include <superheromod>
#include <amxmisc> 
#include <engine>
#include <fun>
#include <cstrike>
#include <csx>
#include <fakemeta_util>
// GLOBAL VARIABLES
new gHeroName[]="Terrorist"
new bool:gHasTerroristPower[SH_MAXSLOTS+1]
new 
bool:can_plant
new gCurrentWeapon[SH_MAXSLOTS+1]
new 
planter
new g_state
new g_bombEnts[2] = {0,0}
new 
maxplayers
new bombs
#define giveTotal 2
new weapArray[giveTotal][24] = {
"weapon_c4",
"weapon_ak47"
}
//----------------------------------------------------------------------------------------------
public plugin_init()
{
// Plugin Info
register_plugin("SUPERHERO Terrorist","1.0","MEGA / Krot@l / Velocity36 / Kensai")
register_plugin"Custom Terrorist Win Sound/Message" "1.0""Amxx community" );
register_messageget_user_msgid"SendAudio" ),"message_sendaudio" );
register_messageget_user_msgid"TextMsg" ) ,"message_textmsg" );
 
 
// DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG
register_cvar("terrorist_level""0")
register_cvar("terrorist_c4plant""60")
register_cvar("terroritt_maxbombs""100")
// FIRE THE EVENT TO CREATE THIS SUPERHERO!
shCreateHero(gHeroName"Terrorist""Plant AnyWhere You Want + Free AK"false"terrorist_level" )
// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)
register_srvcmd("terrorist_init""terrorist_init")
shRegHeroInit(gHeroName"terrorist_init")
register_event("ResetHUD","newRound","b")
register_event("CurWeapon","changeWeapon","be","1=1")
register_event("TextMsg""game_restart""a""1=4""2&#Game_C""2&#Game_w")
register_event("SendAudio""round_end""a""2=%!MRAD_terwin""2=%!MRAD_ctwin""2=%!MRAD_rounddraw")
register_logevent("new_round"2"0=World triggered""1=Round_Start")
register_event("StatusIcon""gotbomb""be""1=1""1=2""2=c4")
 
}
//----------------------------------------------------------------------------------------------
public terrorist_init()
{
// First Argument is an id
new temp[6]
read_argv(1,temp,5)
new 
id str_to_num(temp)
// 2nd Argument is 0 or 1 depending on whether the id has terrorist
read_argv(2,temp,5)
new 
hasPowers str_to_num(temp)
if (!
is_user_connected(id)) return
//Reset thier shield restrict status
//Shield restrict MUST be before weapons are given out
shResetShield(id)
if ( 
hasPowers ) {
terrorist_giveweapons(id)
create_bombtarget()
}
//This gets run if they had the power but don't anymore
else if ( gHasTerroristPower[id] ) {
terrorist_dropweapons(id)
remove_bombtarget()
}
//Sets this variable to the current status
gHasTerroristPower[id] = (hasPowers != 0)
g_state hasPowers
}
//----------------------------------------------------------------------------------------------
public newRound(id)
{
if ( 
gHasTerroristPower[id] && is_user_alive(id) && shModActive() ) {
set_task(0.1"terrorist_giveweapons",id)
set_task(get_cvar_float("terrorist_c4plant"), "enable_planting"97564673)
{
set_task(6.0"bomb_carrier")
}
}
}
//----------------------------------------------------------------------------------------------
/*public cmdPlantAnywhere(id,level,cid)
{
new arg[32]
read_argv(1,arg,31)
new state = str_to_num(arg) ? 1 : 0
if(g_state == state)
{
console_print(id, "Terrorist is already %s", g_state ? "enabled" : "disabled")
return PLUGIN_HANDLED
}
g_state = state
if(g_state) create_bombtarget()
else remove_bombtarget()
console_print(id, "Terrorist has been %s", g_state ? "enabled" : "disabled")
return PLUGIN_HANDLED
 
}*/
//----------------------------------------------------------------------------------------------
public gotbomb(id)
{
planter id
return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
public round_end()
{
set_task(4.0"disable_planting"78645135)
}
//----------------------------------------------------------------------------------------------
public game_restart()
{
set_task(0.5"disable_planting"71586461)
}
//----------------------------------------------------------------------------------------------
public disable_planting()
{
if(
task_exists(97564673)) remove_task(97564673)
planter 0
can_plant 
false
}
//----------------------------------------------------------------------------------------------
public terrorist_giveweapons(id)
{
if ( !
is_user_alive(id) ) return
for (new 
0giveTotalx++) {
shGiveWeapon(idweapArray[x])
}
// Give CTs a Defuse Kit
if ( get_user_team(id) == shGiveWeapon(id,"item_thighpack")
}
//----------------------------------------------------------------------------------------------
public bomb_carrier(id)
{
new 
clipammowep get_user_weapon(idclipammo)
 
for(new 
i=1i<=maxplayersi++)
{
if(
is_user_connected(i) && wep == CSW_C4)
{
cs_set_user_plant(id00)
}
}
return 
1
}
//----------------------------------------------------------------------------------------------
public terrorist_dropweapons(id)
{
if ( !
is_user_alive(id) ) return
for (new 
0giveTotalx++) {
engclient_cmd(id,"drop"weapArray[x])
}
new 
iCurrent = -1
new Float:weapvel[3]
while ( (
iCurrent FindEntity(iCurrent"weaponbox")) > ) {
//Skip anything not owned by this client
if ( Entvars_Get_Edict(iCurrentEV_ENT_owner) != id) continue
//Get Weapon velocites
Entvars_Get_Vector(iCurrentEV_VEC_velocityweapvel)
//If Velocities are all Zero its on the ground already and should stay there
if (weapvel[0] == 0.0 && weapvel[1] == 0.0 && weapvel[2] == 0.0) continue
RemoveEntity(iCurrent)
}
}
//----------------------------------------------------------------------------------------------
public changeWeapon(id)
{
if ( !
shModActive() || !gHasTerroristPower[id] ) return
new 
weaponid read_data(2)
if ( 
gCurrentWeapon[id] != weaponid ) {
gCurrentWeapon[id] = weaponid
}
}
//----------------------------------------------------------------------------------------------
public enable_planting()
{
can_plant true
}
//----------------------------------------------------------------------------------------------
public create_bombtarget() 
{
new 
old_bomtarget find_ent_by_class(-1"func_bomb_target")
if(
old_bomtarget 0)
{
new 
Float:origin[3]
entity_get_vector(old_bomtargetEV_VEC_originorigin)
new 
bombtarget create_entity("func_bomb_target")
if(
bombtarget 0)
{
DispatchKeyValue(bombtarget"classname""func_bomb_target")
DispatchSpawn(bombtarget)
entity_set_size(bombtargetFloat:{-1000000.0,-1000000.0,-1000000.0}, Float:{1000000.0,1000000.0,1000000.0})
entity_set_string(bombtargetEV_SZ_classname"func_bomb_target")
entity_set_origin(bombtargetorigin)
g_bombEnts[0] = bombtarget
}
bombtarget create_entity("info_bomb_target")
if(
bombtarget 0)
{
DispatchKeyValue(bombtarget"classname""info_bomb_target")
DispatchSpawn(bombtarget)
entity_set_size(bombtargetFloat:{-1000000.0,-1000000.0,-1000000.0}, Float:{1000000.0,1000000.0,1000000.0})
entity_set_string(bombtargetEV_SZ_classname"info_bomb_target")
entity_set_origin(bombtargetorigin)
g_bombEnts[1] = bombtarget
}
}
}
//----------------------------------------------------------------------------------------------
public remove_bombtarget()
{
if(
is_valid_ent(g_bombEnts[0])) remove_entity(g_bombEnts[0])
if(
is_valid_ent(g_bombEnts[1])) remove_entity(g_bombEnts[1])
}
//----------------------------------------------------------------------------------------------
public client_prethink(id)
{
if(
g_state && id == planter && !can_plant)
{
new 
clipammoweapon get_user_weapon(idclipammo)
if(
weapon == CSW_C4)
{
entity_set_int(idEV_INT_buttonentity_get_int(idEV_INT_button) & ~IN_ATTACK)
}
}
}
//----------------------------------------------------------------------------------------------
public client_connect(id)
{
gHasTerroristPower[id] = false
}
//----------------------------------------------------------------------------------------------
public message_textmsgmsg_idmsg_destmsg_entity )
{
static 
message[3];
get_msg_arg_string2messagesizeof message );
if( 
message[1] == 'T' // #Terrorists_Win message
{
client_printmsg_entityprint_center"The Terrorist Succesfully Completed Operation" );
return 
PLUGIN_HANDLED
}
 
return 
PLUGIN_CONTINUE;
}
//---------------------------------------------------------------------------------------------
public message_sendaudiomsg_idmsg_destmsg_entity )
{
static 
message[10];
get_msg_arg_string2messagesizeof message );
if( 
message[7] == 't' // -- %!MRAD_terwin
{
client_cmdmsg_entity"spk your_new_sound" ); // or mp3 play
return PLUGIN_HANDLED
}
return 
PLUGIN_CONTINUE;
}
//-------------------------------------------------------------------------------------------
public bomb_planted(id)
{
bombs += 1
if(bombs >= get_cvar_num("terrorist_maxbombs"))
{
new 
players[32], pnum
get_players
(playerspnum ,"ae""TERRORIST")
for(new 
i=0i<pnumi++)
{
if(
user_has_weapon(players[i], CSW_C4)) fm_strip_user_gun(players[i], CSW_C4)
client_print(players[i], print_chat"*Max bombs reached!*")
}
}

//------------------------------------------------------------------------------------------- 
.sma for supergirl
PHP Code:
// SUPERGIRL! - the DC comics hero. Yeah - well not all of her powers or it'd be unfair...
/* CVARS - copy and paste to shconfig.cfg
//Supergirl
supergirl_level 0
supergirl_health 150 //Default Health 150
supergirl_armor 150 //Default Armor 150
supergirl_toggle 0 //(def 0=no, key must be held down to fly) (1=yes, toggle flying)
supergirl_flybeforeftime 0 //Fly before freezetime is over, 0=no 1=yes (def=0)
supergirl_flyspeed 300 //Velocity of flying (def=300)
*/
/*
* v2.2 - vittu - 6/24/05
* - Changed name from Superman to Supergirl.
* - Removed mode for default superman.
* - Minor code clean up.
*
* v2.1 - vittu - 4/22/05
* - Temp fix because this can be coded more efficiently.
* - Cleaned up and removed unused coding.
* - Fixed fly before Freezetime to be more reliable and not break flying
* ability when toggle was set to 1.
* - Removed low gravity when using flying mode, as I believe it wasn't intended.
*
* Hero Orginally named Superman created by AssKicR
*/
#include <amxmod>
#include <Vexd_Utilities>
#include <superheromod>
#if defined AMX98
#include <xtrafun> //Only for the constants, doesn't use any functions
#endif
// GLOBAL VARIBLES
new gHeroName[]="Supergirl"
new bool:gHasSupergirlPower[SH_MAXSLOTS+1]
new 
bool:gIsFlying[SH_MAXSLOTS+1]
new 
bool:roundfreeze
new Float:gVelocity[SH_MAXSLOTS+1][3]
//----------------------------------------------------------------------------------------------
public plugin_init()
{
// Plugin Info
register_plugin("SUPERHERO Supergirl""2.2""AssKicR")
// DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG
register_cvar("supergirl_level""0")
register_cvar("supergirl_health""150")
register_cvar("supergirl_armor""150")
register_cvar("supergirl_toggle""0")
register_cvar("supergirl_flybeforeftime""0"//this cvar needs re-nameing
register_cvar("supergirl_flyspeed""300")
// FIRE THE EVENT TO CREATE THIS SUPERHERO!
shCreateHero(gHeroName"Health/Armor/Flying""More Health, Free Armor, and Flying on +power key"true"supergirl_level")
// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)
// INIT
register_srvcmd("supergirl_init""supergirl_init")
shRegHeroInit(gHeroName"supergirl_init")
// EVENTS
register_event("ResetHUD""newSpawn""b")
// ROUND EVENTS
register_logevent("round_start"2"1=Round_Start")
register_logevent("round_end"2"1=Round_End")
register_logevent("round_end"2"1&Restart_Round_")
// KEY UP
register_srvcmd("supergirl_ku""supergirl_ku")
shRegKeyUp(gHeroName"supergirl_ku")
// KEY DOWN
register_srvcmd("supergirl_kd""supergirl_kd")
shRegKeyDown(gHeroName"supergirl_kd")
// Let Server know about Supergirl's Variables
shSetMaxHealth(gHeroName"supergirl_health")
shSetMaxArmor(gHeroName"supergirl_armor")
}
//----------------------------------------------------------------------------------------------
public supergirl_init()
{
// First Argument is an id
new temp[6]
read_argv(1,temp,5)
new 
id str_to_num(temp)
// 2nd Argument is 0 or 1 depending on whether the id has the hero
read_argv(2,temp,5)
new 
hasPowers str_to_num(temp)
// This gets run if they had the power but don't anymore
if ( !hasPowers && gHasSupergirlPower[id] && is_user_alive(id) ) {
shRemHealthPower(id)
shRemArmorPower(id)
if ( 
gIsFlying[id] ) {
stop_fly(id)
}
}
// Sets this variable to the current status
gHasSupergirlPower[id] = (hasPowers != 0)
}
//----------------------------------------------------------------------------------------------
public newSpawn(id)
{
if( 
gHasSupergirlPower[id] && gIsFlying[id] ) {
stop_fly(id)
}
}
//----------------------------------------------------------------------------------------------
// RESPOND TO KEYDOWN
public supergirl_kd()
{
// First Argument is an id
new temp[6]
read_argv(1temp5)
new 
id str_to_num(temp)
if ( !
is_user_alive(id) ) return
// If in toggle mode change this to a keyup event
if ( get_cvar_num("supergirl_toggle") && gIsFlying[id] ) {
stop_fly(id)
return
}
//could be done easier with just a !hasRoundStarted(), unless they want a removal of flight at round end
//left it this way cause it was how the orginal was done cept it was on radio messages instead
if ( roundfreeze && get_cvar_num("supergirl_flybeforeftime") == ) {
client_print(idprint_chat"[SH](Supergirl) You must wait until the round has started to fly")
playSoundDenySelect(id)
return
}
make_fly(id)
}
//----------------------------------------------------------------------------------------------
// RESPOND TO KEYUP
public supergirl_ku()
{
// toggle mode - keyup doesn't do anything!
if ( get_cvar_num("supergirl_toggle") ) return
// First Argument is an id
new temp[6]
read_argv(1,temp,5)
new 
id str_to_num(temp)
if ( !
gIsFlying[id] ) return
stop_fly(id)
}
//----------------------------------------------------------------------------------------------
public round_end()
{
roundfreeze true
//Should flight be removed when round ends if fly during freeze time cvar is 0?
}
//----------------------------------------------------------------------------------------------
public round_start()
{
roundfreeze false
}
//----------------------------------------------------------------------------------------------
public make_fly(id)
{
if( !
is_user_alive(id) || gIsFlying[id] ) return
client_print(idprint_center"Up, Up and Away! - Flying Mode ON")
set_user_gravity(id0.001)
set_task(0.1"user_fly"id""0"b")
gIsFlying[id] = true
}
//----------------------------------------------------------------------------------------------
public stop_fly(id)
{
if ( !
gIsFlying[id] ) return
//Don't really need to tell users when they die
if ( is_user_alive(id) ) client_print(idprint_center"Flying Mode OFF")
//resets users gravity after being set
shSetGravityPower(id)
gIsFlying[id] = false
remove_task
(id)
}
//----------------------------------------------------------------------------------------------
public user_fly(id)
{
new 
FloatxAngles[3]
new 
FloatxOrigin[3]
new 
xEnt
//No Death Event needed it gets turned off here
if ( !is_user_alive(id) ) {
stop_fly(id)
return 
PLUGIN_HANDLED
}
new 
butnprs Entvars_Get_Int(idEV_INT_button)
if(
butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_JUMP// FORWARD + MOVERIGHT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] -= 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(idget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK// FORWARD + MOVERIGHT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] -= 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_JUMP// FORWARD + MOVELEFT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] += 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_DUCK// FORWARD + MOVELEFT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] += 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_JUMP && butnprs&IN_MOVERIGHT && butnprs&IN_BACK// BACK + MOVERIGHT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] -= 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_BACK && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK// BACK + MOVERIGHT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] -= 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_JUMP && butnprs&IN_MOVELEFT && butnprs&IN_BACK// BACK + MOVELEFT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] += 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_BACK && butnprs&IN_MOVELEFT && butnprs&IN_DUCK// BACK + MOVELEFT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] += 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVERIGHT && butnprs&IN_FORWARD// MOVERIGHT + FORWARD
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] -= 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVERIGHT && butnprs&IN_BACK// MOVERIGHT + BACK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] -= 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVELEFT && butnprs&IN_FORWARD// MOVELEFT + FORWARD
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] += 45
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVELEFT && butnprs&IN_BACK// MOVELEFT + BACK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] += 135
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD && butnprs&IN_JUMP// FORWARD + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD && butnprs&IN_DUCK// FORWARD + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_BACK && butnprs&IN_JUMP// BACK + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] += 180
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_BACK && butnprs&IN_DUCK// BACK + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] += 180
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVERIGHT && butnprs&IN_JUMP// MOVERIGHT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] -= 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVERIGHT && butnprs&IN_DUCK// MOVERIGHT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] -= 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVELEFT && butnprs&IN_JUMP// MOVELEFT + JUMP
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles
[1] += 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVELEFT && butnprs&IN_DUCK// MOVELEFT + DUCK
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles
[1] += 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_FORWARD// FORWARD
{
VelocityByAim(idget_cvar_num("supergirl_flyspeed") , gVelocity[id])
}
else if(
butnprs&IN_BACK// BACK
{
VelocityByAim(id, -get_cvar_num("supergirl_flyspeed") , gVelocity[id])
}
else if(
butnprs&IN_DUCK// DUCK
{
gVelocity[id][0] = 0.0
gVelocity
[id][1] = 0.0
gVelocity
[id][2] = -get_cvar_num("supergirl_flyspeed") * 1.0
}
else if(
butnprs&IN_JUMP// JUMP
{
gVelocity[id][0] = 0.0
gVelocity
[id][1] = 0.0
gVelocity
[id][2] = get_cvar_num("supergirl_flyspeed") * 1.0
}
else if(
butnprs&IN_MOVERIGHT// MOVERIGHT
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] -= 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else if(
butnprs&IN_MOVELEFT// MOVELEFT
{
Entvars_Get_Vector(idEV_VEC_v_anglexAngles)
Entvars_Get_Vector(idEV_VEC_originxOrigin)
xEnt CreateEntity("info_target")
if(
xEnt == 0) {
return 
PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles
[1] += 90
ENT_SetOrigin
(xEntxOrigin)
Entvars_Set_Vector(xEntEV_VEC_v_anglexAngles)
VelocityByAim(xEntget_cvar_num("supergirl_flyspeed"), gVelocity[id])
RemoveEntity(xEnt)
}
else {
gVelocity[id][0] = 0.0
gVelocity
[id][1] = 0.0
gVelocity
[id][2] = 0.0
}
 
Entvars_Set_Vector(idEV_VEC_velocitygVelocity[id])
new 
FloatpOrigin[3]
new 
FloatzOrigin[3]
new 
FloatzResult[3]
Entvars_Get_Vector(idEV_VEC_originpOrigin)
zOrigin[0] = pOrigin[0]
zOrigin[1] = pOrigin[1]
zOrigin[2] = pOrigin[2] - 1000
TraceLn
(id,pOriginzOriginzResult)
//Supposed to be used to check if you moved up to set you to look like your swiming
//I think this could be done differently, like if he is flying and not on the ground
//and moving then set the swim look, etc...
if(Entvars_Get_Int(idEV_INT_sequence) != && (zResult[2] + 100) < pOrigin[2] && is_user_alive(id) && (gVelocity[id][0] > 0.0 && gVelocity[id][1] > 0.0 && gVelocity[id][2] > 0.0))
Entvars_Set_Int(idEV_INT_sequence8)
return 
PLUGIN_HANDLED
}
//---------------------------------------------------------------------------------------------- 

Last edited by jacker; 12-08-2009 at 01:48.
jacker is offline
vittu
SuperHero Moderator
Join Date: Oct 2004
Location: L.A. County, CA
Old 12-07-2009 , 15:09   Re: Some help plz...
Reply With Quote #9

For starters, you should have posted in SuperHero tech support section.

Second, enable the amxmod_compat.amxx plugin in your plugins.ini. Many older heroes like Supergirl will need this.


Last please don't PM me, I would have seen your post had it been in the correct section.
vittu is offline
Send a message via AIM to vittu Send a message via MSN to vittu Send a message via Yahoo to vittu
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 12-07-2009 , 15:57   Re: Some help plz...
Reply With Quote #10

Learn to use [code][/code] or [php][/php] tags when you post code or server output.
__________________
fysiks is online now
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:43.


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