Jump to content

AGENT_STEELMEAT

Members
  • Posts

    551
  • Joined

  • Last visited

Posts posted by AGENT_STEELMEAT

  1. How about instead of asking for a global ban list, you learn how to properly administrate your server? The reason MOJRM/whoever you have a hard-on for is able to keep coming back isn't because they have godly skills, it's because you don't know how to use the admin panel.

  2. Serial isn't enough. Serial would be easily changed and you know how. Global accounts will help in case when more than 1 person uses the one PC.

    The MTA serial system is very reliable and can't be changed easily, unless you switch computers. An account system, on the other hand, would be easy to work around (just register a new account). As far as people claiming that "oh my brother played on my PC and got banned and now I can't play", 99% of the time they are lying. I speak from experience.

    We must protect creators of software as good as we can.
    MTA needs more strictness. Verified server should be the only ones visible in internet. Other server would work only in local network or be visible maximum 6h or something like that.

    I agree with in regards to theft prevention within the actual software, and heavier moderation on the community page. Once you start scanning servers / removing server from the browser, you've gone to far. One of MTA's greatest strengths is the openness of the platform, and any attempt to protect content creators needs to keep that in mind. This is like the SOPA/PIPA debate, but on a much smaller scale.

    I joined the server COD2MOD (this one, which uses my scripts without permission) and one guy keeped putting in chat "lol". Votekick didn't help, the rest of players have ignored my asks for pressing "1". Each time I killed this guy, he keeped insulting me. No admins on server, bad-behaved kids destroy my pleasure of game...

    Well, people suck. Put a bunch of kids behind a monitor and give them anonymity and you'll always see stuff like that. It''s normal and to be expected. If there aren't any admins on the server and votekick doesn't help, then move on to a different server.

  3. It sucks to hear that your stuff got stolen, but in reality, there isn't much the Team can (or should) do about stolen resources.

    - No server should be banned remotely. Such moderation tactics are always subject to abuse and controversy, and are typically more trouble to implement & moderate than they are worth. However, a server 'verification' system would be a good idea, where servers can apply for a verification to protect their name in the server browser. That said, there should never be a 'verified' tab, verified servers should just get a discrete checkmark next to their name or something. Also, servers already have unique IDs assigned to them, but its only used internally.

    - Global accounts are not necessary, that is what client serials are for.

    - Client-side scripts are protected from theft already, look up the new protected flag that ryden added a while ago.

    The place where the MTA Team could (and should) try to hammer away at these issues is on the community center. A proper flagging system and a stricter set of guidelines would do a lot of good there (such as not allowing resources containing compiled scripts or obvious luac output).

    I really can't comment on player behavior, since I really haven't seen anything that bad. On the whole, I feel like MTA has a more sophisticated player base than, say, Xbox live. Or maybe I just don't hang out on the bad servers enough.

  4.   
    local screenWidth, screenHeight = guiGetScreenSize() 
      
    local function renderRectangle() 
        if getKeyState("m") then 
            dxDrawRectangle(screenWidth * 0.7, screenHeight * 0.5, screenWidth * 0.15, screenHeight * 0.5, tocolor(0,0,0,100), false) 
        end 
    end 
    addEventHandler("onClientRender", root, renderRectangle) 
      
    

    I based the relative values off of a resolution of 1920x1080, you might need to re-adjust them.

  5. how to reply to a girl that is too fat on okcupid:

    hey there thanks for messaging lego is all i wanted as a kid so i think i am good at it one time i ate a lego and my mom had to search one of my poos for it so i know all about lego trust me. i see you are canadian californian which is really cool cause i want to go to la and vancouver and just gamble the whole time. how long until you finish your veterinary studies?

  6. Sad to see that most of the people that try to help on this forum are all idiots. How unfortunate.

    Anyway - this uses dxDrawText's wordBreak parameter to wrap the text, and the clip parameter to stop it from drawing outside the box. It might need some tweaking to suit your needs, but the basics are there.

      
    -- Basic constants 
    local SCREEN_WIDTH, SCREEN_HEIGHT = guiGetScreenSize() 
    local BOX_LEFT, BOX_TOP = (SCREEN_WIDTH/2) - 150, (SCREEN_HEIGHT/2) - 150 
    local BOX_WIDTH, BOX_HEIGHT = 300, 300 
    local BOX_COLOR = tocolor(0, 0, 0, 200) 
    local FONT_HEIGHT, EXPIRE_TIME = dxGetFontHeight(1, "default-bold"), 15000 
      
    -- Table of all notifications 
    local g_notifications = {} 
      
    -- Adds a notification to the notification list 
    function addNotification(message, r, g, b) 
        if type(message) ~= "string" then 
            error("Invalid argument(s) to addNotification() [expected string at argument 1]!", 2); 
        end 
         
        if type(r) ~= "number" then 
            r = 255 
            g = 255 
            b = 255 
        end 
         
         
        -- If 5 notifications already exist, remove the oldest one 
        -- If this is the first notification, call addEventHandler 
         
        if #g_notifications >= 5 then 
            table.remove(g_notifications) 
        elseif #g_notifications <= 0 then 
            addEventHandler("onClientRender", root, drawNotifications) 
        end 
         
        -- Determine the height of this notification 
        local notificationWidth = dxGetTextWidth(message, 1, "default-bold") 
        local numLines = math.ceil(notificationWidth / BOX_WIDTH) 
        local notificationHeight = (FONT_HEIGHT + 1) * numLines 
                 
        -- Insert the new notification at beginning of table (it will be drawn at the top of the box) 
        table.insert(g_notifications, 1, {message, tocolor(r, g, b), getTickCount(), notificationHeight}) 
    end 
      
    -- Draws the notifications 
    function drawNotifications() 
        -- Draw the base rectangle 
        dxDrawRectangle(BOX_LEFT, BOX_TOP, BOX_WIDTH, BOX_HEIGHT, BOX_COLOR) 
         
        -- Track the top of the notification and the current tick count 
        local notificationTop = BOX_TOP + 2 
        local thisTick = getTickCount() 
         
        for i, notification in ipairs(g_notifications) do 
            -- Remove this notification if it is expired 
            -- If there are no more notifications, call removeEventHandler 
            if thisTick - notification[3] >= EXPIRE_TIME then 
                table.remove(g_notifications, i) 
                if #g_notifications <= 0 then 
                    removeEventHandler("onClientRender", root, drawNotifications) 
                    return 
                end 
            else 
             
                -- Draw this notification, and increment notificationTop so we can draw the next one under it 
                dxDrawText(notification[1], BOX_LEFT, notificationTop, BOX_LEFT + BOX_WIDTH, BOX_TOP + BOX_HEIGHT,  
                            notification[2], 1, "default-bold", "left", "top", true, true) 
                         
                notificationTop = notificationTop + notification[4] + 2 
            end 
        end 
    end 
      
    

    mta-screen_2012-05-27_22-30-40.png

    GET ON MY LEVEL.

  7. Account data is fine for basic RPG modes that don't need to share data across services. They are integrated into MTA, so they are easier to use, and they are just as efficient (in terms of latency between the server and database) if not more than MySQL.

    XML should not be used for account data - XML is meant to store small amounts of data, i.e the elements of a map or the settings of a gamemode. Using XML in places where there will be a lot of read/write accesses is just a bad idea, not to mention it's very inefficient.

    Also, it is just as easy to view account data/SQLite tables as it is MySQL, you just need to download the SQLite browser (or implement your own GUI in MTA, which is also quite easy).

  8. Depends - what sort of functionality do you want in your gamemode?

    Do you want player's account data to be easily available to other services (i.e a web server, or another MTA server)? Use MySQL.

    Otherwise, use the internal account functions for storing account data.

    It's not so much about performance as much as it is about proper usage.

  9. Hey karlis, I would be very interested in using your knives script as a part of the stealth resource that I am re-writing - however that would entail you releasing this script with an open-source license. If you are interested, let me know.

×
×
  • Create New...