Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define AUTO_DLLMAIN
- #include <DynRPG/DynRPG.h>
- using namespace RPG;
- // Converts a string to lower case
- char* toLowerCase(char* str)
- {
- int differ = 'A'-'a';
- char ch;
- int ii = strlen(str);
- for (int i=0; i <ii;i++)
- {
- strncpy(&ch,str+i,1);
- if (ch>='A' && ch<='Z')
- {
- ch = ch-differ;
- memcpy(str+i,&ch,1);
- }
- }
- return str;
- }
- int usedSwitch = -1;
- int walkingSpeed = 4;
- // Comment callback
- bool onComment(const char* text, const RPG::ParsedCommentData* parsedData, RPG::EventScriptLine* nextScriptLine,
- RPG::EventScriptData* scriptData, int eventId, int pageId, int lineId, int* nextLineId)
- {
- char* lowerCommand = toLowerCase((char*)(parsedData->command));
- if (strcmp(lowerCommand, "dynrun") == 0)
- {
- if (parsedData->parametersCount >= 3 && parsedData->parameters[0].type == RPG::PARAM_NUMBER
- && parsedData->parameters[0].number <= 6 && parsedData->parameters[0].number >= 1
- && parsedData->parameters[1].type == RPG::PARAM_NUMBER
- && parsedData->parameters[1].number <= 6 && parsedData->parameters[1].number >= 1
- && parsedData->parameters[2].type == RPG::PARAM_NUMBER && parsedData->parameters[2].number >= 1
- && RPG::switches[parsedData->parameters[2].number])
- {
- usedSwitch = parsedData->parameters[2].number;
- walkingSpeed = parsedData->parameters[1].number;
- if ((GetAsyncKeyState(VK_SHIFT) & 0x8000) == 0x8000)
- RPG::hero->speed = parsedData->parameters[0].number;
- else
- RPG::hero->speed = parsedData->parameters[1].number;
- }
- }
- if (lowerCommand != NULL)
- delete lowerCommand;
- return true;
- }
- // Resets speed when switch deactivated
- bool onSetSwitch(int id, bool value)
- {
- if (usedSwitch > 0 && id == usedSwitch && !value)
- {
- RPG::hero->speed = walkingSpeed;
- usedSwitch = -1;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement