ArcEmu: [addition]doscripttext - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[addition]doscripttext need testing

#1 User is offline   sanctum32 

  • Occasional Poster
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 28-November 10
  • Gender:Male

Posted 18 May 2011 - 02:24 PM

created for arcemu r4203

it adds feature to hold script texts in database, makes emoteshot, seperated AddEmote and Emote function into one.

TODO:
* add multilanguage support

http://pastebin.com/Dem2zym0

small example:

DoScriptText(uint32 TextId, bool Event = false, EventType pEventType=Event_None);

Not event:
DoScriptText(12345); // 12345 is text id from script_texts table


Evented:
DoScriptText(12345, true, Event_OnCombat);

if Event_OnCombat, but Event == false, it will not make text
if Event == true and Event_none, then also will not created any text

apply it to world database
DROP TABLE IF EXISTS `script_texts`;
CREATE TABLE `script_texts` (
  `Id` INT(10) NOT NULL AUTO_INCREMENT,
  `Text` LONGTEXT,
  `TextType` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
  `SoundId` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
  `EmoteId` TINYINT(4) NOT NULL DEFAULT '0',
  `Comment` CHAR(255) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8;


anyway, functions, like as announcements also should be remaked.
Posted Image
Posted Image
Sorry for my bad english
0

#2 User is offline   WAmadeus 

  • Cunning Code Composer
  • PipPipPip
  • Group: Developers
  • Posts: 287
  • Joined: 23-July 09
  • Gender:Male
  • Location:Brazil

Posted 18 May 2011 - 09:57 PM

+	Field* CurrentField = NULL;
+	CurrentField = ScriptTextData->Fetch();


You could just use:

+	Field* CurrentField = ScriptTextData->Fetch();


+	if(pText == NULL)
+	{
+		sLog.outDebug("ArcScripts2: Text entry %u hasn't text, skipping...", TextId);
+		return;
+	}else if(pText == NULL || pEmote)
+	{
+		sLog.outDebug("ArcScripts2: Text entry %u hasn't text, but has EmoteId, skipping...", TextId);
+		return;
+	}else if(UseEvent==true || pEventType==Event_None)
+	{
+		sLog.outDebug("ArcScripts2: Text entry %u has wrong event type, check it in scripts, skipping...", TextId);
+		return;
+	}


The first "else" with never reach, because if "pText == NULL", the first "if" will match, doesn't matter the value of pEmote.

The second "else" should be
+	}else if(UseEvent==true && pEventType==Event_None)

because if the caller of this function wants to use an event (UseEvent == true), it should only block if the caller didn't pass a valid event.
0

#3 User is offline   SgT-Fatality 

  • Member
  • Pip
  • Group: Members
  • Posts: 29
  • Joined: 03-November 08
  • Gender:Male
  • Location:Switzerland
  • Interests:Parkour !

Posted 20 May 2011 - 09:35 AM

Thank you for your addition ! But isn't it better to load all the text data at startup ?
Into the Wild
Sorry for my mistakes in english
0

#4 User is offline   sanctum32 

  • Occasional Poster
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 28-November 10
  • Gender:Male

Posted 20 May 2011 - 09:42 AM

hm, maybe, i'll try it after when i completely i'll finish spell difficulty and ScriptEscortai work.
anyway, not sure about it.
Posted Image
Posted Image
Sorry for my bad english
0

#5 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 20 May 2011 - 05:16 PM

Use storage to store all script_texts on core startup (remember that all script registers are processed when dll is loaded so you can load it from DB here). You can even make your own ai system which will be loading values for scripts from DB, it's not that hard.
Posted Image
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users