Jump to content

Peec

Members
  • Posts

    13
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Peec

  1. Hello,

    GD is enabled in my php.ini and also the routes.conf does have that line. Also the GD dll exists in my php\\ext folder.

    Still it's not working, I did found this: http://php.net/manual/en/function.imagecreatefromjpeg.php

    Can it have to do anything with that?

    The error is basicly this:

    http://imageshack.us/f/36/captchai.png

    Just a white screen with on the top left the image library icon with the red cross (image not found)

    I found this in my phpinfo:

    gd

    GD Support enabled

    GD Version bundled (2.0.34 compatible)

    FreeType Support enabled

    FreeType Linkage with freetype

    FreeType Version 2.4.3

    GIF Read Support enabled

    GIF Create Support enabled

    JPEG Support enabled

    libJPEG Version 6b

    PNG Support enabled

    libPNG Version 1.2.46

    WBMP Support enabled

    XBM Support enabled

    Directive Local Value Master Value

    gd.jpeg_ignore_warning 0 0

    Okay, ( I get it working on both linux (Centos) and windows ), but here is what you can try:

    Go into gnomewow/controller/Captcha.php

    replace all the contents with this:

    <?php namespace wow\\controller;  
    class Captcha extends \\gnomephp\\captcha\\CaptchaController{
    
         public function index($name, $width, $height){
            ini_set("gd.jpeg_ignore_warning", 1);
            error_reporting(0);
            parent::index($name, $width, $height);
        }
    }
    
    

    Now try again, to see if image works, please tell if it works, i will post changes in svn in this case : )

    Thanks!

    Oh and btw: Update the latest version of gnomephp and gnomewow, we're now only supporting MaNGOS core, much fixes was added - i didn't have time to test well - but now only ManGOS is supported.

  2. Hi mate,

    The captcha is not working for me, it only displayes the image cannot be found logo with the red X.

    Does it work for you?

    Kind regards!

    Hi.

    The captcha should be working.

    try go to /index.php/captcha/captchaReg/300/75 , see if u get any errors.

    make sure you have PHP GD extension installed and enabled.

    also, in gnomewow/config/routes.conf, make sure this line of code is there ( its there by default ):

    {extend=core/captcha}

  3. Thanks, hope you will test! Just make sure to read the Install guide on the wiki page!

    Post bug reports / features wanted such as:

    * more customization on specific things

    * new features

    * etc.

    --

    * Version 1.0A officially released.

    * Support for UDB

    * Added Player start item modification. Easily edit / remove player starting items with simple Itemid:amount or just itemId to the list, save and it will add items for the specific class in all races that are applicable.

    itemlistediting.png

    Uploaded with ImageShack.us

    * Admin Panel revamped, more structure, better help texts and system for extending the ACP.

    * XHTML validation.

    * Commands page for admins with nice layout.

    commandsinterface.png

    Uploaded with ImageShack.us

  4. well this is 10/10 website

    Thank you

    P.S. I can't be a dev but if u need testing just let me know

    Thanks, i'm sure we will need testing and if bugs - remove these asap, i try to bugtest as good as possible but i have not unit tested gnomewow yet - but that is the plan before i release 1.0A.

    For update:

    - News system ( including support for comments added )

    - About page , dynamic from db.

    - more.

  5. [h]GnomeWoW[/h]

    GnomeWoW is a total solution for private server website, it supports only the MaNGOS core.

    It's created from scratch, and features is popping up every day.

    Easy install, easy upgrade.

    News

    11.11.2011

    Added a complete PayPal donation system with automatic item mailer / gold mailer depending on the donation package you create in the admin GUI.

    Really, really flexible and bullet proof, tested in paypal sandbox and working properly!

    [h]Nerd features:[/h]

    • Super flexible
    • MVC ( Model view controller design pattern )
    • Nice urls ( eg. example.com/login )
    • Based on a framework ( GnomePHP )
    • Doctrine ORM for neat database handling.
    • Great support for many servers ( MaNGOS , trinity, Skyfire ... )
    • Super XSS and SQL Injection secure ( it's not possible to hack, everything is blocked on the framework level )
    • Inline editing for GM's logged in.
    • .. and so much more ..

    [h]End user features:[/h]

    • Register

    1. With option to send thank you email
    2. With option to lock account until verified by a email that gets automatically sent.

    [*]Login

    [*]Account management

    [*]Forgot password feature

    [*]Server list

    [*]News sytem ( with commenting feature )

    [*]Statistics

    • Top 10 Arena teams
    • Top 10 PvP
    • Characters online
    • Uptime

    [*]About page

    [*]Great admin panel!

    [*]Easy modifications by config files

    [*]Easy to modify design

    More to come ..

    [h]Installing[/h]

    http://code.google.com/p/gnomewow/wiki/Installation

    [h]Project page[/h]

    http://code.google.com/p/gnomewow/

    [h]Update[/h]

    http://code.google.com/p/gnomewow/wiki/Updating

    [h]Need more good devs[/h]

    We are always in need of good developers that have experience with MVC model and Doctrine library. If you want to join, send me a email to [email protected], tell about yourself and your coding skills!

    Hope you enjoy!

    [h]Screenshots (early stages)[/h]

    accountmanagerj.th.png

    adminindex.th.png

    indexpb.th.png

    inlineediting.th.png

    loginxl.th.png

    realminfo.th.png

    registerbv.th.png

  6. I was surfing around trying to find a source for a DBCtoCSV extractor. I found this source, it works...

    Usage: main.exe DBCfile.dbc

    It will print the DBC as CSV to the commandline...

    However, it doesn't support STRINGS in the DBC file, it outputs everything as an integer.

    Anyone know how to fix this?

    I also wanted to rewrite this to PHP version, but my knowledge of streams and working with bytes and files is limited in PHP. But for now i will use exec("main.exe", $op) ...

    Example error:

    It outputs :

    1,12,1,4140,49,50,1,1065353216,7,7,15007,1096,4,81,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16712191,10,17,10,0

    Instead of exampleways:

    1,12,1,4140,49,50,1,1065353216,7,7,15007,1096,4,81,4,0,0,0,0,"WARRIOR","Warrior",0,0,0,0,0,0,0,0,0,16712191,10,17,10,0

    Here's the C++ script. Compilable on windows atleast:

    #include <cassert>
    #include <cstdio>
    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    
    const int MAXFIELDS = 256;
    char DELIMITER = ',';
    
    struct header {
       char id[4];
       size_t nRecords, nFields, recordSize, textSize;
    };
    
    union field {
       float fval;
       int ival;
    };
    
    enum types {
       T_INT,
       T_FLOAT,
       T_STR
    };
    
    int gInt[MAXFIELDS], gFloat[MAXFIELDS], gStr[MAXFIELDS];
    
    void analyzeRow(header &h, FILE *f, char *text)
    {
       field x;
    
       for (int i=0; i<h.nFields; i++) {
           fread(&x, 4, 1, f);
    
           if ((x.fval<-0.1f && x.fval > -10000.0f) || (x.fval>0.1f && x.fval < 10000.0f)) {
               gFloat[i]++;
           } else {
               if ((x.ival>10) && (x.ival<h.textSize) && (text[x.ival-1]==0)) {
                   gStr[i]+=5;
    
               } else {
                   gInt[i]++;
               }
           }
    
       }
    
    }
    
    int types[MAXFIELDS];
    
    
    
    void printTypes(header &h)
    {
       for (int i=0; i<h.nFields; i++) {
           if (i!=0) cout << DELIMITER;
           string s;
           switch (types[i]) {
               case T_INT: s = "INT"; break;
               case T_FLOAT: s = "FLOAT"; break;
               case T_STR: s = "STRING"; break;
           }
           cout << s;
       }
       cout << endl;
    }
    
    void printRow(header &h, FILE *f, char *text)
    {
       field x[MAXFIELDS];
       fread(&x, h.nFields, 4, f);
    
       for (int i=0; i<h.nFields; i++) {
           if (i!=0) cout << DELIMITER;
           string s;
           switch (types[i]) {
               case T_INT:
                   cout << x[i].ival;
                   break;
               case T_FLOAT:
                   cout << x[i].fval;
                   break;
               case T_STR:
                   s = string(text + x[i].ival);
                   bool delim = false;
                   for (int k=0; k<s.length(); k++) {
                       if (s[k]==DELIMITER) {
                           delim = true;
                           break;
                       }
                   }
                   if (delim) cout << "\\"";
                   cout << s;
                   if (delim) cout << "\\"";
                   break;
           }
       }
       cout << endl;
    }
    
    void convert(const char *fname)
    {
       string fn = fname;
       int l = fn.length();
       if (l<5) return;
       fn[l-4] = '.';
       fn[l-3] = 'c';
       fn[l-2] = 's';
       fn[l-1] = 'v';
    
       FILE *f = fopen(fname, "r");
       header h;
       fread(&h, 5, 4, f);
    
       assert(h.nFields <= MAXFIELDS);
    
       char *text;
       text = new char[h.textSize];
    
       fseek(f, h.nRecords * h.recordSize, SEEK_CUR);
       fread(text, h.textSize, 1, f);
       fseek(f, 0x14, SEEK_SET);
    
       // analyze first 300 or so rows
       int nr = 300;
       if (nr > h.nRecords) nr = h.nRecords;
    
       for (int i=0; i<MAXFIELDS; i++) gInt[i] = gFloat[i] = gStr[i] = 0;
    
       for (int i=0; i<nr; i++) analyzeRow(h, f, text);
    
       int val[MAXFIELDS];
       for (int i=0; i<MAXFIELDS; i++) {
           types[i] = T_INT;
           val[i] = gInt[i];
    
           if (gFloat[i] > val[i]) {
               types[i] = T_FLOAT;
               val[i] = gFloat[i];
           }
    
           if (gStr[i] > val[i]) {
               types[i] = T_STR;
           }
       }
    
       // output
       fseek(f, 0x14, SEEK_SET);
    
    
       printTypes(h);
    
       for (int i=0; i<h.nRecords; i++) {
           printRow(h, f, text);
       }
    
    
    
       delete[] text;
    }
    
    int main(int argc, char *argv[])
    {
       for (int i=1; i<argc; i++) {
           if (!strcmp(argv[i],"-d") && i<argc-2) {
               DELIMITER = argv[i+1][0];
           }
           convert(argv[i]);
       }
       return 0;
    }
    
    

  7. Thanks for the constructive comments to this case freghar & Vladimir!

    I'm actually working on a object oriented installer for mangos (php commandline based), so that's why i needed to find out how these revision numbers are generated.

    I will do a parse to find the revision number, actually i found that this command:

    git --no-pager log --max-count=1 --pretty="oneline"

    Will be the best to parse from , because it Generates a post like this:837017e8f4a723843ff7e6bc2b2d8fceb5b61834 [8526] Added upper limit for cell search radius, affect max visibility and AOE spell range. Set to 333 yards.

    Just require explode(' ', $s) and str_replace :) Simple and easy.

    I'm not a fan of parsing strings that is not 100% sure to be in correct format but i guess its Ok :)

  8. Mangos is now ported to git wich is really nice by the way!

    I was wondering:

    We have a revision number right now, example:

    [root@mangos mangos]# git --no-pager log --max-count=1

    commit 837017e8f4a723843ff7e6bc2b2d8fceb5b61834

    Author: Ambal <[email protected]>

    Date: Tue Sep 22 00:23:41 2009 +0300

    [8526] Added upper limit for cell search radius, affect max visibility and AOE spell range. Set to 333 yards.

    You see the [8526] , is this revision a manual job for the developers?

    SVN was based on these revision numbers, but does git support this, or do developers add it like manually to the title and add sql updates with the titles number?

    So if i want to create an automatic process to fetch the "Revision number" of MaNGOS, i would have to parse the information i get from "git --no-pager log --max-count=1" , and find the number between the [ and ] tags ?

  9. I just set up mangos again.

    I have added alot of items in `playercreateinfo_item`...

    Currently mangos will not add more than the first bag.

    This patch sends the items that could not be added in mailbox.

    I dont know if this is offical or not, but it is very handy.

    Btw:

    msg = CanStoreNewItem( NULL_BAG, NULL_SLOT, sDest, titem_id, titem_amount );

    was an uneeded change.

    Index: src/game/Player.cpp
    ===================================================================
    --- src/game/Player.cpp        (revision 6572)
    +++ src/game/Player.cpp        (working copy)
    @@ -637,15 +637,29 @@
                    // attempt store
                    ItemPosCountVec sDest;
                    // store in main bag to simplify second pass (special bags can be not equipped yet at this moment)
    -                msg = CanStoreNewItem( INVENTORY_SLOT_BAG_0, NULL_SLOT, sDest, titem_id, titem_amount );
    +                msg = CanStoreNewItem( NULL_BAG, NULL_SLOT, sDest, titem_id, titem_amount );
                    if( msg == EQUIP_ERR_OK ) 
                    {
                            StoreNewItem( sDest, titem_id, true, Item::GenerateItemRandomPropertyId(titem_id) );
                            continue;                                                                             // stored, to next
                    }
    
    +                // Peec edit..
    +                // Yah.. Send the item in mail to the player..
    +                
    +                MailItemsInfo mi;                                                                     // item list preparing
    +
    +                if(Item* item = Item::CreateItem(item_id_itr->item_id,item_id_itr->item_amount,this))
    +                {
    +                        item->SaveToDB();                                             // save for prevent lost at next mail load, if send fail then item will deleted
    +                        mi.AddItem(item->GetGUIDLow(), item->GetEntry(), item);
    +                }
    +                std::string subject = GetSession()->GetMangosString(LANG_NOT_EQUIPPED_ITEM);
    +                WorldSession::SendMailTo(this, MAIL_NORMAL, MAIL_STATIONERY_NORMAL, GetGUIDLow(), GetGUIDLow(), subject, 0, &mi, 0, 0, NOT_READ);
    +                // End peec EDIT
    +
                    // item can't be added
    -                sLog.outError("STORAGE: Can't equip or store initial item %u for race %u class %u , error msg = %u",titem_id,race,class_,msg);
    +                sLog.outError("STORAGE: Can't equip or store initial item %u for race %u class %u , error msg = %u. However, the item was sent to player in-mail.",titem_id,race,class_,msg);
            }
    
            // bags and main-hand weapon must equipped at this moment

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use