Jump to content

Yiv

Inactive Member
  • Posts

    160
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by Yiv

  1. As I have the same problem I tried what Timasu said but didn't help.

     

    Other suggestions?

     

    Regards

     

    Edit:

    The problem is maybe in this codeblock:

    void CDBManager::SetLocale(const char * szLocale)
    {
    	const std::string stLocale(szLocale);
    	sys_log(0, "SetLocale start" );
    	for (int n = 0; n < SQL_MAX_NUM; ++n)
    	{
    		m_mainSQL[n]->SetLocale(stLocale);
    		m_directSQL[n]->SetLocale(stLocale);
    		m_asyncSQL[n]->SetLocale(stLocale);
    	}
    	sys_log(0, "End setlocale %s", szLocale);
    }

    The syslog "SetLocale start" appears in my syslog file but the syslog "End setlocale x" doesn't appear.

    Same for you guys?

  2. Nice tutorial, but I receive some errors:

    config.cpp:570:3: error: 'unique_ptr' is not a member of 'std'
       std::unique_ptr<SQLMsg> pMsg(AccountDB::instance().DirectQuery(szQuery));
    
    g++49: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
    

    My Makefile:

    PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)
    
    GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
    BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
    #P4_VERSION = $(shell svnversion -n .)
    P4_VERSION = 000
    PUB_VERSION = dev
    
    CC = g++49
    
    INCDIR =
    LIBDIR =
    BINDIR = ..
    OBJDIR = OBJDIR
    $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
    
    # Standard Setting
    LIBS = -pthread -lm -lmd
    # Removed -fno-rtti 
    CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_ -Wl,-rpath,/usr/home/dev/share/libs -std=c++11
    
    ifeq ($(GCC_VERSION), 4)
    CFLAGS += -mtune=i686 -fstack-protector-all
    else
    CFLAGS += -mcpu=i686
    endif
    
    # boost
    INCDIR += -I../../../Extern/include/boost
    
    # DevIL
    INCDIR += -I../../libdevil
    LIBDIR += -L../../libdevil
    LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg
    
    # MySQL
    #ifeq ($(BSD_VERSION), 7)
    INCDIR += -I../../libmysql/7.x-5.1.35
    LIBDIR += -L../../libmysql/7.x-5.1.35
    #else
    #INCDIR += -I../../libmysql/5.x-5.1.35
    #LIBDIR += -L../../libmysql/5.x-5.1.35
    #endif
    
    LIBS += -lmysqlclient -L/usr/local/lib/mysql -lz
    
    # Miscellaneous external libraries
    INCDIR += -I../../../Extern/include
    LIBDIR += -L../../../Extern/lib
    LIBS += -lcryptopp -lgtest
    
    # HackShield
    INCDIR += -I../../libhackshield/include
    LIBDIR += -L../../libhackshield/lib
    LIBS += -lanticpxsvr
    
    # XTrap
    INCDIR += -I../../libxtrap/include
    
    # openssl
    #INCDIR += -I/usr/include
    #LIBS += -lssl
    #LIBS += /usr/lib/libssl.a
    
    # Project Library
    INCDIR += -I../../liblua/include
    INCDIR += -I/usr/local/include
    INCDIR += -L/usr/local/lib/mysql
    INCDIR += -I../../libserverkey
    LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib -L../../libserverkey
    LIBDIR += -L/usr/local/lib
    LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lserverkey
    USE_STACKTRACE = 0
    ifeq ($(USE_STACKTRACE), 1)
    LIBS += /usr/local/lib/libexecinfo.a
    endif
    
    TARGET  = $(BINDIR)/game_r$(P4_VERSION)_$(PUB_VERSION)
    
    CFILE	= minilzo.c
    
    CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp
    		  arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp
    		  char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp
    		  char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp
    		  cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp
    		  desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp
    		  entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp
    		  guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp
    		  input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp
    		  item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp
    		  locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp
    		  messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp
    		  party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp
    		  questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp
    		  questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp
    		  questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp
    		  questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp
    		  questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp
    		  refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp
    		  skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp
    		  wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp
    		  BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp
    		  HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp
    		  SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp
    		  auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp
    		  buff_on_attributes.cpp check_server.cpp dragon_soul_table.cpp DragonSoul.cpp
    		  group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp
    		  shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp
    
    
    COBJS	= $(CFILE:%.c=$(OBJDIR)/%.o)
    CPPOBJS	= $(CPPFILE:%.cpp=$(OBJDIR)/%.o)
    
    MAINOBJ = $(OBJDIR)/main.o
    MAINCPP = main.cpp
    
    TESTOBJ = $(OBJDIR)/test.o
    TESTCPP = test.cpp
    TEST_TARGET = $(BINDIR)/test
    
    default: $(TARGET) $(TEST_TARGET)
    
    $(OBJDIR)/minilzo.o: minilzo.c
    	@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
    	@echo compile $<
    
    $(OBJDIR)/version.o: version.cpp
    	#@$(CC) $(CFLAGS) -D__USER__="$(USER)" -D__HOSTNAME__="$(HOSTNAME)" -D__PWD__="$(PWD)" -D__P4_VERSION__="$(P4_VERSION)" -c $< -o $@
    	@$(CC) $(CFLAGS) -D__P4_VERSION__="$(SVN_VERSION)" -c $< -o $@
    	@echo compile $<
    
    $(OBJDIR)/%.o: %.cpp
    	@echo compile $<
    	@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
    
    limit_time:
    	@echo update limit time
    	@python update_limit_time.py
    
    $(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
    	@echo linking $(TARGET)....
    	@$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)
    
    $(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
    	@echo linking $(TEST_TARGET)
    	@$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test
    
    clean:
    	@rm -f $(COBJS) $(CPPOBJS)
    	@rm -f $(BINDIR)/game_r* $(BINDIR)/conv
    
    tag:
    	ctags *.cpp *.h *.c
    
    dep:
    	makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) $(TESTCPP) 2> /dev/null > Depend
    
    sinclude Depend
    

    Somebody can help me?

     

    Regards

  3. Even if I already had an enhancement in my compiler like your translate thing I used your because I didn't have the define thing (don't want to use the pre_qc.py always).

     

    Could it be that the compiler has a problem with functions now?

     

    e5e8432acf.png

     

    locale/germany/quest/object/state/oxevents

    oxevents={["start"]=0,open= function ()oxevent open 
    
    oxevent open 
    
    
    
    
    ,quiz= function ()oxevent quiz 
    
    oxevent quiz 
    
    
    
    
    ,check= function ()gmlist 
    i table getn gmlist 
    gmlist i pc name 
    
    
    
    
    
    }

    oxevent.quest

    quest oxevents begin 
    	state start begin 
    		function open() 
    			if(oxevent.open() == 0) then 
    				return 0 
    			elseif(oxevent.open() == 1) then 
    				return 1 
    			else 
    				return 2 
    			end 
    		end
    		function quiz() 
    			if(oxevent.quiz(1,30) == 0) then 
    				return 0 
    			elseif(oxevent.quiz(1,30) == 1) then 
    				return 1  
    			else 
    				return 2 
    			end 
    		end 
    		function check() 
    			local gmlist = {"[NA]Raysis"}
    			for i = 1,table.getn(gmlist),1 do 
    				if(gmlist[i] == pc.name) then 
    					return true 
    				else 
    					return false 
    				end 
    			end 
    		end 
    		 
    		when 20011.chat."Der OX-Wettbewerb" with pc.is_gm() and oxevents.check() == true and game.get_event_flag("automatic_oxevent_status") == 0 begin 
    			say_title(mob_name(npc.get_race())..":") 
    			say("") 
    			say("Möchtest du den Wettbewerb starten? ") 
    			say("") 
    			local s = select(locale.yes,locale.no) 
    			if(s == 2) then return end 
    			say_title(mob_name(npc.get_race())..":") 
    			say("") 
    			say_reward("Info: Uhrzeit: "..os.date("%H")) 
    			say("") 
    			say("Um wie viel Uhr soll der Wettbewerb starten? ") 
    			local times = tonumber(input() )
    			if(times == "" or tonumber(times) == nil) then return end 
    			say_title(mob_name(npc.get_race())..":") 
    			say("") 
    			game.set_event_flag("automatic_oxevent_opentime",times) 
    			say("Der Wettbewerb wurde gestartet!") 
    			say("Wird in "..times.." Stunden geöffnet! ") 
    			game.set_event_flag("automatic_oxevent_status",1) 
    			server_timer('check',30) 
    		end 
    		 
    		when check.server_timer begin 
    			if(os.date("%H") == game.get_event_flag("automatic_oxevent_opentime")) then 
    				if(oxevents.open() == 0) then 
    					print("Der Wettbewerb wurde bereits Gestartet!") 
    				elseif(oxevents.open() == 1) then 
    					notice_all("~~~~~~~~~~~     OX-EVENT     ~~~~~~~~~~~")
    					notice_all("Das OX-Event beginnt in wenigen Minuten.")
    					notice_all("Um daran teilzunehmen, sprecht mit Uriel.")
    					notice_all("~~~~~~~~~~~     OX-EVENT     ~~~~~~~~~~~")
    					server_timer('countdownone',60) 
    				else 
    					print("Es ist ein Fehler aufgetreten!") 
    				end 
    			else 
    				server_timer('checktwo',30) 
    			end 
    		end 
    		 
    		when checktwo.server_timer begin 
    			if(os.date("%H") == game.get_event_flag("automatic_oxevent_opentime")) then 
    				if(oxevents.open() == 0) then 
    					print("Der Wettbewerb wurde bereits Gestartet!") 
    				elseif(oxevents.open() == 1) then 
    					notice_all("~~~~~~~~~~~     OX-EVENT     ~~~~~~~~~~~")
    					notice_all("Das OX-Event beginnt in wenigen Minuten.")
    					notice_all("Um daran teilzunehmen, sprecht mit Uriel.")
    					notice_all("~~~~~~~~~~~     OX-EVENT     ~~~~~~~~~~~")
    					server_timer('countdownone',60) 
    				else 
    					print("Es ist ein Fehler aufgetreten!") 
    				end 
    			else 
    				server_timer('check',30) 
    			end 
    		end	 
    		 
    		when countdownone.server_timer begin 
    			notice_all("<OX> Ihr habt noch 4 Minuten Zeit, um am OX-Event teilzunehmen.") 
    			server_timer("countdowntwo",60) 
    		end 
    		 
    		when countdowntwo.server_timer begin 
    			notice_all("<OX> Ihr habt noch 3 Minuten Zeit, um am OX-Event teilzunehmen.")
    			server_timer("countdownthree",60) 
    		end 
    		 
    		when countdownthree.server_timer begin 
    			notice_all("<OX> Ihr habt noch 2 Minuten Zeit, um am OX-Event teilzunehmen.") 
    			server_timer("countdownfour",60) 
    		end 
    		 
    		when countdownfour.server_timer begin 
    			notice_all("<OX> Ihr habt noch 1 Minuten Zeit, um am OX-Event teilzunehmen.") 
    			server_timer("countdownfive",30) 
    		end 
    		 
    		when countdownfive.server_timer begin 
    			notice_all("<OX> Die Teilnahme am OX-Event wird in 30 Sekunden geschlossen.")
    			server_timer("countdown",30) 
    		end 
    		 
    		when countdown.server_timer begin 
    			notice_all("<OX> Die Teilnahmemöglichkeit am OX-Event wurde geschlossen.")
    			notice_all("<OX> Es können nur noch Zuschauer beitreten.")
    			game.set_event_flag("automatic_oxevent_status",2) 
    			server_timer('playercheck',10) 
    			game.set_event_flag("automatic_oxevent_opentime",0) 
    		end 
    		 
    		when playercheck.server_timer begin 
    			if(pc.get_map_index() == 113) then 
    				if(oxevent.get_attender() == 0) then 
    					notice_all("<OX> Das OX-Event wurde beendet, da es keine Teilnehmer gab.")
    					game.set_event_flag("automatic_oxevent_status",0) 
    					game.set_event_flag("automatic_oxevent_opentime",0) 
    				else 
    					return 
    				end 
    			else 
    				server_timer("oxeventstart",10) 
    			end 
    		end 
    		 
    		when oxeventstart.server_timer begin 
    			if(pc.get_map_index() == 113) then 
    				if(oxevents.quiz() == 0) then 
    					print("Der Wettbewerb wurde beendet!") 
    				elseif(oxevents.quiz() == 1) then 
    					notice_in_map("Frage wurde gestellt...") 
    					server_timer("goon",30) 
    				else 
    					print("Seit ihr bereit für die nächste Frage?") 
    				end 
    			else 
    				return 
    			end 
    		end 
    		 
    		when goon.server_timer begin 
    			-- Check 
    			if(oxevent.get_attender() == 0) then 
    				notice_in_map("Das Event wird beendet, da es keine Teilnehmer mehr gibt.")
    				game.set_event_flag("automatic_oxevent_status",0) 
    				game.set_event_flag("automatic_oxevent_opentime",0) 
    				warp_all_to_village() 
    			elseif(oxevent.get_attender() == 1) then 
    				notice_in_map("Das Event ist vorbei. Der Gewinner erhält sein Item.")
    				oxevent.give_item(20, 1)
    				game.set_event_flag("automatic_oxevent_status",0) 
    				game.set_event_flag("automatic_oxevent_opentime",0) 
    				server_timer("over",20) 
    			else 
    				server_timer("goontwo",30) 
    			end 
    		end 
    		 
    		when over.server_timer begin 
    			warp_all_to_village() 
    		end 
    		 
    		when goontwo.server_timer begin
    			if(oxevent.get_attender() == 0) then 
    				notice_in_map("Das Event wird beendet, da es keine Teilnehmer mehr gibt.")
    				game.set_event_flag("automatic_oxevent_status",0) 
    				game.set_event_flag("automatic_oxevent_opentime",0) 
    				warp_all_to_village() 
    			elseif(oxevent.get_attender() == 1) then 
    				notice_in_map("Das Event ist vorbei. Der Gewinner erhält sein Item.")
    				oxevent.give_item(20, 1)
    				game.set_event_flag("automatic_oxevent_status",0) 
    				game.set_event_flag("automatic_oxevent_opentime",0) 
    				server_timer("over",20) 
    			else 
    				server_timer("goon",30) 
    			end 
    		end
    		when 20011.chat."Der OX-Wettbewerb" begin 
    			addimage(25, 25, "oxevent.tga")
    			say("[ENTER][ENTER][ENTER][ENTER][ENTER]")
    			say_npc_title()
    			say("")
    			if(game.get_event_flag("automatic_oxevent_status") == 2) then 
    				say("Das Event läuft bereits. Du kannst nurnoch als[ENTER]Zuschauer beitreten.") 
    				say_reward("Möchtest du als Zuschauer beitreten?")
    				local s = select(locale.yes,locale.no) 
    				if(s == 2) then return end 
    				pc.warp(896300, 28900) 
    			elseif(game.get_event_flag("automatic_oxevent_status") == 1) then 
    				say("Du kannst am OX-Event teilnehmen.[ENTER]Möchtest du teilnehmen?")
    				local s = select(locale.yes,locale.no,"Als Zuschauer") 
    				if(s == 1) then 
    					pc.warp(896500, 24600) 
    				elseif(s == 3) then 
    					pc.warp(896300, 28900) 
    				end 
    			else
    				say("Das Event findet derzeit nicht statt.")
    				say("")
    				return
    			end 
    		end 
    	end 
    end
    

     

    You can help?

     

    Regards

  4. Dear community,

     

    yesterday I worked at my server a bit and before I went to bed I wanted to check if everything's working fine, so I logged in and played a bit. Then I logged out, closed the server and shutdowned my pc. Today I wanted to go on working at it but now, if I try to login with my client the client closes at loading screen without any syserr (client & serverside). The strange thing is I changed nothing!

     

    Here's the console output of channel1 scince I opened my client and tried to login into my test character:

    75fcd0f413.png

     

    Can you help me?

     

    Regards

  5. Dear community,

     

    I wanted to give myself the option with expanding to an international server, so I want to script my quests multilingualable. For this, I wrote a function lang.get_text(string) which searches in a table for the entry and returns the text in the language the user has chosen.

    Everything's fine but if I try this:

    when npc_list.BIOLOGIST.chat.lang.get_text("test_quest_chat") begin

    The compiler arborts with this:

     

    SHLVL=1:25:when doesn't have begin-end clause. (lang)
    Abort trap (core dumped)

     

    Someone may help me?

     

    Regards

  6. Dear community,

    I have a big problem with my client. Since I reinstalled my pc I can't login because if I try to the client crashes after selecting character (in loading window) and closes with a small window full of question marks in which I could select yes and no.

    In my syserr is just one thing which could (!) cause the problem: invalid idx 0

    May someone be so friendly and help me?

    Regards

  7. I already thought about doing this but as STARK said it's much work so I simply took other ways. I also recalculated a bit (just a few things).

    I think it would be awesome but I saw how much work this is so I wish you much luck!

    Regards

  8. Dear community,

     

    for a quest I'm currently writing I need a new quest event which is thrown if the character is around a special position. The position can be fixed but the thing is that I don't know how to solve this without a even function (C++) which is checking the current position every second. I don't think that this is good for performance so is there any other possibillity? How is it done at portals, for example?

     

    Regards

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.