Jump to content

[HELP] Errors in spawn resource


HeK

Recommended Posts

These are the errors:

spawn\c_main.lua:28: addEventHandler: 'onClientRender' with this function is already handled.

-- Made By XX3, from scratch with MS Notepad. Purpose: To make a new exotic compact HUD. 
-- You may edit this resource, but please credit me if you wanted to post an edited / extended version.  
-- PS: I was in MTA SA to show what Indonesia is really made of!  
  
  
-- Weapon tables for ammo. 
        resourceroot = getResourceRootElement(getThisResource()) 
    local noreloadweapons = {} --Weapons that doesn't reload (including the flamethrower, minigun, which doesn't have reload anim). 
    noreloadweapons[16] = true 
    noreloadweapons[17] = true 
    noreloadweapons[18] = true 
    noreloadweapons[19] = true 
    noreloadweapons[25] = true 
    noreloadweapons[33] = true 
    noreloadweapons[34] = true 
    noreloadweapons[35] = true 
    noreloadweapons[36] = true 
    noreloadweapons[37] = true 
    noreloadweapons[38] = true 
    noreloadweapons[39] = true 
    noreloadweapons[41] = true 
    noreloadweapons[42] = true 
    noreloadweapons[43] = true 
  
    local meleespecialweapons = {} --Weapons that don't shoot, and special weapons. 
    meleespecialweapons[0] = true 
    meleespecialweapons[1] = true 
    meleespecialweapons[2] = true 
    meleespecialweapons[3] = true 
    meleespecialweapons[4] = true 
    meleespecialweapons[5] = true 
    meleespecialweapons[6] = true 
    meleespecialweapons[7] = true 
    meleespecialweapons[8] = true 
    meleespecialweapons[9] = true 
    meleespecialweapons[10] = true 
    meleespecialweapons[11] = true 
    meleespecialweapons[12] = true 
    meleespecialweapons[13] = true 
    meleespecialweapons[14] = true 
    meleespecialweapons[15] = true 
    meleespecialweapons[40] = true 
    meleespecialweapons[44] = true 
    meleespecialweapons[45] = true 
    meleespecialweapons[46] = true 
  
function DXdraw() 
--Variables 
        sWidth, sHeight = guiGetScreenSize() -- Getting the screen size 
  
        health = getElementHealth( getLocalPlayer() ) 
        lineLength1 = 114 * ( health / 100 ) -- Health bar 
  
        armor = getPedArmor( getLocalPlayer() ) 
        lineLength2 = 114 * ( armor / 100 ) -- Armor bar 
         
        ammoinclip = getPedAmmoInClip (getLocalPlayer()) -- The ammo inside the clip 
        totalammo = getPedTotalAmmo(getLocalPlayer())-getPedAmmoInClip(getLocalPlayer()) -- The total ammo minus ammo inside clip 
        totalammo2 = getPedTotalAmmo(getLocalPlayer()) 
        showammo1 = ammoinclip 
        showammo2 = totalammo 
        showammo3 = totalammo2 
  
        moneycount=getPlayerMoney(getLocalPlayer()) 
        money= '$' ..moneycount -- Money 
  
        local hour, mins = getTime () 
        time = hour .. ":" .. (((mins < 10) and "0"..mins) or mins) -- Time. This one makes the minutes always show by 2 digits (3:05 instead of 3:5) 
        local wantedlevel = getPlayerWantedLevel (getLocalPlayer()) --Getting the player's wanted level. 
         
         
-------- Dynamic health colour thanks to 50p ---------- 
        tick = getTickCount ()  
         
-- For active health bar 
      local maxHealth = 100;  -- get max health stat 
        local colourPercent = ( health / maxHealth ) * 200; 
        local red, green; -- we don't need blue because we don't use it, it'll be 0 
        if health < ( maxHealth / 2 ) then 
        red = 200; 
        green = ( health / 50 ) * ( colourPercent * 2 ); 
else 
        green = 200; 
        red = 200 - ( ( health - 50 ) / 50 ) * 200; 
end 
-- For inactive health bar 
        local maxHealth = 75;  -- get max health stat 
        local colourPercent1 = ( health / maxHealth ) * 75; 
        local red1, green1; -- we don't need blue because we don't use it, it'll be 0 
        if health < ( maxHealth / 2 ) then 
        red1 = 75; 
        green1 = ( health / 50 ) * ( colourPercent1 * 2 ); 
else 
        green1 = 75; 
        red1 = 75 - ( ( health - 50 ) / 50 ) * 75; 
end 
local color1 = tocolor( red1, green1, 0, 150 ) 
local color2 = tocolor( red, green, 0, 200 ) 
  
 -- For the health bar 
 if getTickCount () %1500 < 500 and health <= 20 and armor <=0 then -- If health is less than 20%, armor is 0%, the health bar will blink by hiding the health bar every 1.5 seconds. 
  
 else  
 dxDrawRectangle(sWidth-206,sHeight-29,114.0,14.0,color1, false) -- Health inactive bar 
 dxDrawRectangle(sWidth-206,sHeight-29,lineLength1,14.0,color2,false) --Health active bar 
 end 
  
 if armor <= 0 then 
  
 else 
dxDrawRectangle(sWidth-206,sHeight-43,lineLength2,14.0,tocolor(200,200,200,200),false) -- Armor active bar 
dxDrawRectangle(sWidth-206,sHeight-43,114.0,14.0,tocolor(50,50,50,150),false) -- Armor inactive bar 
end 
  
------ DX drawing that are visible at all times 
dxDrawRectangle(sWidth-84,sHeight-48,78.0,33.0,tocolor(0,0,0,150),false) -- GTA Time DX Rectangle 
  
dxDrawText(tostring (money),sWidth-200,sHeight-78,sWidth-5,sHeight-54,tocolor(0,0,0,200),1.0,"pricedown","right","top",false,false,false) -- Money DX text (shadow) 
dxDrawText(tostring (money),sWidth-202,sHeight-81,sWidth-7,sHeight-57,tocolor(0,100,0,220),1.0,"pricedown","right","top",false,false,false) -- Money DX text 
dxDrawText(tostring (time),sWidth-81,sHeight-46,sWidth-10,sHeight-16,tocolor(250,250,250,200),1.0,"diploma","center","top",false,false,false) -- GTA Time DX text 
  
------- Weapon icons & Ammo DX drawings 
local weaponID = getPedWeapon (getLocalPlayer()); -- Get weapon ID 
dxDrawImage(sWidth-266,sHeight-60,48.0,52.0,"icons/".. tostring( weaponID ) .. ".png",0.0,0.0,0.0,tocolor(255,255,255,200),false) -- Weapon icons image. Check the icons file if you want to take and replace weapon icons. 
  
-- now decide if the optional stuff should be drawn 
if noreloadweapons [getPedWeapon(getLocalPlayer())] then 
dxDrawText(tostring (showammo3),sWidth-400,sHeight-47,sWidth-288,sHeight-12,tocolor(0,255,255,200),1.0,"bankgothic","right","top",false,false,false) -- No reload weapons (for shotgun, grenades, etc) 
  
elseif meleespecialweapons [getPedWeapon(getLocalPlayer())] then 
-- Draw Nothing for melee and special weapons. 
  
else --Weapons that reloads. 
        dxDrawText(tostring (showammo2),sWidth-414,sHeight-47,sWidth-369,sHeight-18,tocolor(0,255,255,200),1.0,"bankgothic","right","top",false,false,false) 
        dxDrawText("|",sWidth-361,sHeight-48,sWidth-385,sHeight-8,tocolor(255,200,0,200),1.0,"bankgothic","left","top",false,false,false) 
        dxDrawText(tostring (showammo1),sWidth-345,sHeight-47,sWidth-272,sHeight-12,tocolor(0,255,255,200),1.0,"bankgothic","left","top",false,false,false) 
end 
  
if wantedlevel == 0 then 
                    -- Draw nothing (Wanted level 0) 
            elseif wantedlevel == 1 then 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 1 
             
            elseif wantedlevel == 2 then 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 2 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                     
            elseif wantedlevel == 3 then 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 3 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                     
            elseif wantedlevel == 4 then 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 4 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                     
            elseif wantedlevel == 5 then 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(0,0,0,100),false) 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 5 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
            else 
                    dxDrawImage(sWidth-21,sHeight-212,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) -- Wanted level 6 
                    dxDrawImage(sWidth-21,sHeight-190,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-168,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-148,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-126,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
                    dxDrawImage(sWidth-21,sHeight-105,16.0,19.0,"images/star.png",0.0,0.0,0.0,tocolor(255,255,255,255),false) 
end      
end -- End of the DX Drawing function 
  
  
-------- HUD toogle command functions. 
  
function hudChanger () 
    addEventHandler("onClientRender", getRootElement(), DXdraw) 
    showPlayerHudComponent ( "armour", false ) 
    showPlayerHudComponent ( "health", false ) 
    showPlayerHudComponent ( "money", false ) 
    showPlayerHudComponent ( "clock", false ) 
    showPlayerHudComponent ( "weapon", false ) 
    showPlayerHudComponent ("ammo", false) 
    showPlayerHudComponent ( "money", false ) 
     showPlayerHudComponent ( "wanted", false ) 
end 
  
addCommandHandler ( "showhud", hudChanger ) -- Shows the Alternate HUD 
addCommandHandler ( "hidegtahud", hudChanger ) -- Hides the GTA HUD  
addEventHandler( "onClientResourceStart", resourceroot, hudChanger )  
addEventHandler( "onPlayerJoin", resourceroot, hudChanger ) -- The same, but also on player join. 
  
function hudChanger2 () 
     removeEventHandler("onClientRender", getRootElement(), DXdraw) 
    showPlayerHudComponent ( "armour", true )     
    showPlayerHudComponent ( "health", true )  
    showPlayerHudComponent ( "money", true ) 
    showPlayerHudComponent ( "clock", true ) 
    showPlayerHudComponent ( "weapon", true ) 
    showPlayerHudComponent ("ammo", true) 
    showPlayerHudComponent ( "money", true) 
     showPlayerHudComponent ( "wanted", true ) 
end 
addCommandHandler ( "hidehud", hudChanger2) -- Removes the HUD, and shows the GTA HUD. 
addCommandHandler ( "showgtahud", hudChanger2)  
addEventHandler("onClientResourceStop", resourceroot, hudChanger2) -- When you stop the resource, executes. 
  
function hudChanger3 () 
     removeEventHandler("onClientRender", getRootElement(), DXdraw) 
     showPlayerHudComponent ("all", false) 
end 
addCommandHandler ( "hideall", hudChanger3 ) -- Shows the Alternate HUD 
  
function radarcommand1 () 
        showPlayerHudComponent ("radar", true) 
end 
addCommandHandler( "showradar", radarcommand1 ) 
  
function radarcommand2 () 
        showPlayerHudComponent ("radar", false) 
end 
addCommandHandler( "hideradar", radarcommand2 ) 

WARNING: [scripts]\spawn\s_main.lua:25: Bad 'team' pointer' @ 'countPlayersInTeam'(1)

g_root = getRootElement( ); 
classGroups = { }; 
  
  
addEvent( "spawn_clientRequestSpawn", true ); 
addEventHandler( "spawn_clientRequestSpawn", g_root, 
    function( categoryIndex, classIndex, skinIndex ) 
        if skinIndex then 
            local class = classGroups[ categoryIndex ].classes[ classIndex ]; 
            local skin = class.skinMngr.skins[ skinIndex ]; 
            local spawn = true; 
            local spawned; 
            --[[if not classGroups[ cetegoryIndex ].owner then -- if there is NO owner of the clan/gang spawn player 
                spawn = true; 
            else -- if there IS owner of the clan/gang then check if he's member of the clan/gang 
                 
            end]] 
             
            if spawn then 
                if not class.team then 
                    class.team = createTeam( class.name, class.color.red, class.color.green, class.color.blue ); 
                end 
                 
                local plrTeam = getPlayerTeam( client ); 
                if ( ( plrTeam ) and ( plrTeam == class.team ) and ( countPlayersInTeam( plrTeam ) == 1 ) ) then 
                    destroyElement( plrTeam ); 
                end 
                 
                spawned = spawnPlayer( 
                    client, 
                    skin.spawnLoc.x, 
                    skin.spawnLoc.y, 
                    skin.spawnLoc.z, 
                    skin.spawnLoc.rot, 
                    skin.modelId, 
                    0, 0, 
                    class.team 
                ); 
            end 
             
            if spawned then 
                setElementData( client, "team", class.name ) 
                fadeCamera( client, true ); 
                setCameraTarget( client, client ); 
                setTimer( setCameraTarget, 200, 1, client, client ); 
                 
                triggerClientEvent( client, "spawn_SpawnedSuccessfully", client ); 
                 
                --setPlayerMoney( client, 500 ); 
                for _, weapon in ipairs( class.weaponMngr.weapons ) do 
                    giveWeapon( client, weapon.id, weapon.ammo, false ); 
                end 
                createBlipAttachedTo( client, 0, 2, class.color.red, class.color.green, class.color.blue ) 
            else 
                triggerClientEvent( client, "spawn_FailedToSpawn", client ); 
                if countPlayersInTeam( class.team ) == 0 then 
                    class.team = nil; 
                end 
            end 
        end 
    end 
); 
  
addEventHandler( "onPlayerSpawn", g_root, 
    function ( ) 
     
    end 
); 
  
addEventHandler( "onPlayerWasted", g_root, 
    function( ) 
        fadeCamera( source, false, 4 ); 
        setTimer( requestMenu, 5000, 1, source ); 
        deleteAllPlayerBlips( source ) 
    end 
); 
  
function requestMenu( player ) 
    callClientFunc( player, "showSpawnMenu", true, true ); 
    callClientFunc( player, "classSelected" ); 
end 
  
  
addCommandHandler( "kill", 
    function( plr ) 
        killPed( plr ); 
    end 
) 
  
  
  
function preloadClassesInfo( ) 
    local groups = getElementsByType( "category" ); 
    for _, group in ipairs( groups ) do 
        table.insert( classGroups, Group:New( group ) ); 
    end 
end 
addEventHandler( "onResourceStart", getResourceRootElement(), preloadClassesInfo ) 
  
  
    function deleteAllPlayerBlips(player) 
        if (not player) then return end 
        local elements = getAttachedElements(player) 
        if (elements) then 
            for i, element in ipairs(elements) do 
                if (element and getElementType(element) == "blip") then 
                    destroyElement(element) 
                end 
            end 
        end 
    end 
  
addEventHandler( "onPlayerQuit", g_root, function() deleteAllPlayerBlips(source) end ); 
  
  
------------------------------------------------------------------------------------------ 
------------------------------------------------------------------------------------------ 
function callClientFunc( player, funcName, ... ) 
    if #{ ... } ~= 0 then 
        triggerClientEvent( player, "_clientCallFunction", root, funcName, ... ) 
    else 
        triggerClientEvent( player, "_clientCallFunction", root, funcName ) 
    end 
end 
  
addEvent( "_serverCallFunction", true ) 
addEventHandler( "_serverCallFunction", root,  
    function( funcName, ... ) 
        _G[ funcName ](...) 
    end 
) 

Link to comment
g_root = getRootElement( ); 
classGroups = { }; 
  
  
addEvent( "spawn_clientRequestSpawn", true ); 
addEventHandler( "spawn_clientRequestSpawn", g_root, 
    function( categoryIndex, classIndex, skinIndex ) 
        if skinIndex then 
            local class = classGroups[ categoryIndex ].classes[ classIndex ]; 
            local skin = class.skinMngr.skins[ skinIndex ]; 
            local spawn = true; 
            local spawned; 
            --[[if not classGroups[ cetegoryIndex ].owner then -- if there is NO owner of the clan/gang spawn player 
                spawn = true; 
            else -- if there IS owner of the clan/gang then check if he's member of the clan/gang 
                
            end]] 
            
            if spawn then 
                if not class.team then 
                    class.team = createTeam( class.name, class.color.red, class.color.green, class.color.blue ); 
                end 
                
                local plrTeam = getPlayerTeam( client ); 
                if ( ( isElement(plrTeam) ) and ( plrTeam == class.team ) and ( countPlayersInTeam( plrTeam ) == 1 ) ) then 
                    destroyElement( plrTeam ); 
                end 
                
                spawned = spawnPlayer( 
                    client, 
                    skin.spawnLoc.x, 
                    skin.spawnLoc.y, 
                    skin.spawnLoc.z, 
                    skin.spawnLoc.rot, 
                    skin.modelId, 
                    0, 0, 
                    class.team 
                ); 
            end 
            
            if spawned then 
                setElementData( client, "team", class.name ) 
                fadeCamera( client, true ); 
                setCameraTarget( client, client ); 
                setTimer( setCameraTarget, 200, 1, client, client ); 
                
                triggerClientEvent( client, "spawn_SpawnedSuccessfully", client ); 
                
                --setPlayerMoney( client, 500 ); 
                for _, weapon in ipairs( class.weaponMngr.weapons ) do 
                    giveWeapon( client, weapon.id, weapon.ammo, false ); 
                end 
                createBlipAttachedTo( client, 0, 2, class.color.red, class.color.green, class.color.blue ) 
            else 
                triggerClientEvent( client, "spawn_FailedToSpawn", client ); 
                if countPlayersInTeam( class.team ) == 0 then 
                    class.team = nil; 
                end 
            end 
        end 
    end 
); 
  
addEventHandler( "onPlayerSpawn", g_root, 
    function ( ) 
    
    end 
); 
  
addEventHandler( "onPlayerWasted", g_root, 
    function( ) 
        fadeCamera( source, false, 4 ); 
        setTimer( requestMenu, 5000, 1, source ); 
        deleteAllPlayerBlips( source ) 
    end 
); 
  
function requestMenu( player ) 
    callClientFunc( player, "showSpawnMenu", true, true ); 
    callClientFunc( player, "classSelected" ); 
end 
  
  
addCommandHandler( "kill", 
    function( plr ) 
        killPed( plr ); 
    end 
) 
  
  
  
function preloadClassesInfo( ) 
    local groups = getElementsByType( "category" ); 
    for _, group in ipairs( groups ) do 
        table.insert( classGroups, Group:New( group ) ); 
    end 
end 
addEventHandler( "onResourceStart", getResourceRootElement(), preloadClassesInfo ) 
  
  
    function deleteAllPlayerBlips(player) 
        if (not player) then return end 
        local elements = getAttachedElements(player) 
        if (elements) then 
            for i, element in ipairs(elements) do 
                if (element and getElementType(element) == "blip") then 
                    destroyElement(element) 
                end 
            end 
        end 
    end 
  
addEventHandler( "onPlayerQuit", g_root, function() deleteAllPlayerBlips(source) end ); 
  
  
------------------------------------------------------------------------------------------ 
------------------------------------------------------------------------------------------ 
function callClientFunc( player, funcName, ... ) 
    if #{ ... } ~= 0 then 
        triggerClientEvent( player, "_clientCallFunction", root, funcName, ... ) 
    else 
        triggerClientEvent( player, "_clientCallFunction", root, funcName ) 
    end 
end 
  
addEvent( "_serverCallFunction", true ) 
addEventHandler( "_serverCallFunction", root, 
    function( funcName, ... ) 
        _G[ funcName ](...) 
    end 
) 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...