XMLDocument xml;
XMLElement *exml,*oxml;
unsigned int idx;
+ bool stop = false;
for(auto &n : npcd){
if(n.npc == speaker){
ui::dialogBox(speaker->name,"",false,exml->GetText());
ui::waitForDialog();
}
+ if(exml->Attribute("call")){
+ for(auto &n : currentWorld->npc){
+ if(!strcmp(n->name,exml->Attribute("call"))){
+ if(exml->QueryUnsignedAttribute("callid",&idx) == XML_NO_ERROR){
+ for(auto &n2 : npcd){
+ if(n2.npc == n){
+ n2.index = idx;
+ break;
+ }
+ }
+ }
+ n->addAIFunc(commonAIFunc,false);
+ break;
+ }
+ }
+ }
if(exml->QueryUnsignedAttribute("nextid",&idx) == XML_NO_ERROR){
for(auto &n : npcd){
if(n.npc == speaker){
break;
}
}
- return 1;
+ if(exml->QueryBoolAttribute("stop",&stop) == XML_NO_ERROR && stop)
+ return 0;
+ else if(exml->QueryBoolAttribute("pause",&stop) == XML_NO_ERROR && stop)
+ return 1;
+ else return commonAIFunc(speaker);
}
return 0;
}
std::vector<std::string> xmlFiles;
static char *file;
bool dialog;
+ float spawnx;
XMLDocument xml;
XMLElement *wxml;
earth.back()->generate(wxml->UnsignedAttribute("width"));
}
}else if(!strcmp(name,"mob")){
- earth.back()->addMob(wxml->UnsignedAttribute("type"),wxml->FloatAttribute("x"),wxml->FloatAttribute("y"));
+ if(wxml->QueryFloatAttribute("x",&spawnx) != XML_NO_ERROR)
+ earth.back()->addMob(wxml->UnsignedAttribute("type"),getRand() % earth.back()->getTheWidth() / 2,100);
+ else
+ earth.back()->addMob(wxml->UnsignedAttribute("type"),wxml->FloatAttribute("x"),wxml->FloatAttribute("y"));
}else if(!strcmp(name,"npc")){
- earth.back()->addNPC(wxml->FloatAttribute("x"),wxml->FloatAttribute("y"));
+ if(wxml->QueryFloatAttribute("x",&spawnx) != XML_NO_ERROR)
+ earth.back()->addNPC(getRand() % earth.back()->getTheWidth() / 2.0f,100);
+ else
+ earth.back()->addNPC(wxml->FloatAttribute("x"),wxml->FloatAttribute("y"));
+
if(wxml->Attribute("name")){
delete[] earth.back()->npc.back()->name;
earth.back()->npc.back()->name = new char[strlen(wxml->Attribute("name"))+1];
<style background="0" bgm="assets/music/embark.wav" />
<generation type="Random" width="500" />
- <!--<mob type="1" x="250" y="100" />-->
+ <mob type="1" />
- <npc name="Ralph" x="0" y="100" hasDialog="true"/>
+ <npc name="Ralph" hasDialog="true" />
+ <npc name="Johnny" hasDialog="true" />
</World>
gg.
</text>
- <text id="2">
- Frrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+ <text id="2" call="Johnny" callid="1">
+ what you have done it to trick Microsoft
</text>
</Dialog>
+
+<Dialog name="Johnny">
+ <text id="0" nextid="1" stop="true">
+ Sup bro!
+ </text>
+
+ <text id="1" >
+ My name's Johnny.
+ </text>
+</Dialog>