Avatar billede steen_hansen Forsker
20. september 2004 - 23:34 Der er 3 kommentarer og
1 løsning

Hjælp til tydning af events

Jeg kender stort set intet til C, så jeg håber flg. script er lavet i C :o)

void ProcessCheat()
{
    string sCheatName;
    ref mc;
    sCheatName = GetEventData();
    mc = GetMainCharacter();

    switch(sCheatName)
    {
        case "Immortal":
            if(LAi_IsImmortal(GetMainCharacter()))
            {               
                LAi_SetImmortal(GetMainCharacter(), false);
                Log_SetStringToLog("God mode OFF");
            }else{
               
                LAi_SetImmortal(GetMainCharacter(), true);
                Log_SetStringToLog("God mode ON");
            }
        break;
        case "ShotGun":
            if(globalSGMode != false)
            {
                globalSGMode = false;
                Log_SetStringToLog("Shotgun mode OFF");
            }else{
                globalSGMode = true;
                Log_SetStringToLog("Shotgun mode ON");
            }
        break;

        case "Gold":
            mc.money = sti(mc.money) + 100000;
            Log_SetStringToLog(" + 100000 G");
        break;
        case "Skill":
            mc.skill.freeskill = 1;
   
            mc.skill.freeskill = sti(mc.skill.freeskill) + 50;
            Log_SetStringToLog(" + 50 SP");
        break;
        case "Reputation":
            mc.reputation = REPUTATION_NEUTRAL;
            Log_SetStringToLog("Reputation Set to NEUTRAL");
        break;
        case "Morale":

        break;
        case "Encounters":
            if(CheckAttribute(mc,"worldmapencountersoff") == 0)
            {
                mc.worldmapencountersoff = "1";
                Log_SetStringToLog("Worldmap encounters OFF");
            }
            else
            {
                if(mc.worldmapencountersoff == "1")
                {
                    mc.worldmapencountersoff = "0";
                    Log_SetStringToLog("Worldmap encounters ON");
                }
                else
                {
                    mc.worldmapencountersoff = "1";
                    Log_SetStringToLog("Worldmap encounters OFF");
                }
            }
        break;
        case "MainCharacter":
            mc.model    = "Danielle";
            mc.sex = "woman";
            mc.FaceId = 30;
            mc.model.animation = "woman";
            mc.model.height = 1.75;
        break;
        case "soundoff":
            SendMessage(&Sound,"ll",MSG_SOUND_SET_ENABLED,0);
            Log_SetStringToLog("Sound OFF");
        break;
    }
}


Hvordan skal denne kodestump tydes? Hvilke muligheder har man, og kan I se hvor man har de muligheder? Jeg ved det ikke er meget at gå efter, men jeg håber I er så skrappe, at I kan fortælle mig hvad der skal gøres :o)
Avatar billede arne_v Ekspert
20. september 2004 - 23:37 #1
Det ligner ikke C/C++.

(brug af strenge som case værdier)
Avatar billede arne_v Ekspert
20. september 2004 - 23:38 #2
Men ellers er koden jo meget læselig !

Eller måske ikke. Afhænger jo nok lidt af om man kan programmere.
Avatar billede steen_hansen Forsker
20. september 2004 - 23:44 #3
Ok, filen hedder seadogs.c, så jeg troede det var skrevet i C, sorry :/

Jo, det er meget letlæseligt, men jeg kan ikke udlede hvor i spillet man skal stå ud fra scriptet.

Jeg kan godt se at man får 100000 ved et tryk på G, man får forøget sine skills med 50 point ved S + P etc. Men jeg kan ikke se hvilke kriterier, der skal være opfyldt, før man får disse muligheder.
Avatar billede steen_hansen Forsker
23. september 2004 - 20:18 #4
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester