Jump to content

Photo

How to make a sword do no damage


  • Please log in to reply
55 replies to this topic

#16 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 04:29 PM

QUOTE(linktopower @ Jul 4 2011, 03:26 PM) View Post

i have a Question do i have to combine my other script with this one?
and set the script to active


That depends if it takes up the active slot. All global scripts that take up the same slot must be combined into one for each slot.
If you want, I can combine them for you.

Edited by blackbishop89, 04 July 2011 - 04:31 PM.


#17 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 04:31 PM

yeah my other script takes a active slot
so how would i combine them?

#18 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 04:40 PM

It depends on the script. I'll have to see it. Can you post it?

#19 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 04:46 PM

here it is this script was made by Isdrakthül

CODE
import "std.zh"  int SaveX;
int SaveY;
bool WasOnLadder = false;

bool HookGrab(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT && Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y+15)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y+15)] == CT_HSGRAB){
            return(true);
        }
    }
    return(false);
}

bool OnLadder()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1){
        return(true);
    }
    return(false);
}

bool OnLadderDown()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] != CT_SCRIPT1 && Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] != CT_SCRIPT1 && (Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1)){
        return(true);
    }
    return(false);
}

bool isLSolidHorz(int y)
{
    int x;
    for(x=Link->X; x<=Link->X+16; x+=8)
    {
        if(x==Link->X+16) x--;
        if(Screen->isSolid(x, y)) return(true);
    }
    return(false);
}

bool isFiringHS(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT){
            return(true);
        }
    }
    return(false);
}

bool isJumping(){
    if((GetEquipmentA() == I_ROCSFEATHER && Link->InputA == true) || (GetEquipmentB() == I_ROCSFEATHER && Link->InputB == true) || Link->Jump > 1){
        return(true);
    }
    return(false);
}

global script Slot2{
    void run(){
    while(true){
        if(OnLadder() == true && HookGrab() == false && isJumping() == false){
            if(WasOnLadder == false){
                Link->Jump = 1;
                if(OnLadderDown()){
                    Link->Y++;
                    SaveY = Link->Y;
                }
            }
            else{
                Link->Jump = 0;
            }
            if(!isFiringHS()){
                if(Link->InputUp == true && !isLSolidHorz(Link->Y+7)){
                    SaveY--;
                }
                else if(Link->InputDown == true && !isLSolidHorz(Link->Y+16)){
                    SaveY++;
                }
                if(Link->InputLeft == true && !Screen->isSolid(Link->X-1, Link->Y+8) && !Screen->isSolid(Link->X-1, Link->Y+15)){
                    SaveX--;
                }
                else if(Link->InputRight == true && !Screen->isSolid(Link->X+16, Link->Y+8) && !Screen->isSolid(Link->X+16, Link->Y+15)){
                    SaveX++;
                }
            }
            Link->X = SaveX;
            Link->Y = SaveY;
            WasOnLadder = true;
        }
        else{
            if(WasOnLadder == true){
                Link->Jump = 0;
                WasOnLadder = false;
            }
            SaveX = Link->X;
            SaveY = Link->Y;
        }
        Waitframe();
    }
    }
}

item script Roc{
    void run(){
        if(OnLadder() == true){
            Link->Jump = 3;
        }
    }
}



what it does it makes link able to climb ladders in side view gravity

#20 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 04:55 PM

CODE
import "std.zh"  
const int SWORD3 = ?; //This should be set to the id of the item Link picks up.
const int SWORD3A = ?; //this should be set to the id of the sword that does damage
const int SWORD3B = ?; //and this should be set to the id of the sword that doesn't
int SaveX;
int SaveY;
bool WasOnLadder = false;

bool HookGrab(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT && Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y+15)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y+15)] == CT_HSGRAB){
            return(true);
        }
    }
    return(false);
}

bool OnLadder()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1){
        return(true);
    }
    return(false);
}

bool OnLadderDown()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] != CT_SCRIPT1 && Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] != CT_SCRIPT1 && (Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1)){
        return(true);
    }
    return(false);
}

bool isLSolidHorz(int y)
{
    int x;
    for(x=Link->X; x<=Link->X+16; x+=8)
    {
        if(x==Link->X+16) x--;
        if(Screen->isSolid(x, y)) return(true);
    }
    return(false);
}

bool isFiringHS(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT){
            return(true);
        }
    }
    return(false);
}

bool isJumping(){
    if((GetEquipmentA() == I_ROCSFEATHER && Link->InputA == true) || (GetEquipmentB() == I_ROCSFEATHER && Link->InputB == true) || Link->Jump > 1){
        return(true);
    }
    return(false);
}

global script Slot2{
    void run(){
    while(true){
        if(OnLadder() == true && HookGrab() == false && isJumping() == false){
            if(WasOnLadder == false){
                Link->Jump = 1;
                if(OnLadderDown()){
                    Link->Y++;
                    SaveY = Link->Y;
                }
            }
            else{
                Link->Jump = 0;
            }
            if(!isFiringHS()){
                if(Link->InputUp == true && !isLSolidHorz(Link->Y+7)){
                    SaveY--;
                }
                else if(Link->InputDown == true && !isLSolidHorz(Link->Y+16)){
                    SaveY++;
                }
                if(Link->InputLeft == true && !Screen->isSolid(Link->X-1, Link->Y+8) && !Screen->isSolid(Link->X-1, Link->Y+15)){
                    SaveX--;
                }
                else if(Link->InputRight == true && !Screen->isSolid(Link->X+16, Link->Y+8) && !Screen->isSolid(Link->X+16, Link->Y+15)){
                    SaveX++;
                }
            }
            Link->X = SaveX;
            Link->Y = SaveY;
            WasOnLadder = true;
        }
        else{
            if(WasOnLadder == true){
                Link->Jump = 0;
                WasOnLadder = false;
            }
            SaveX = Link->X;
            SaveY = Link->Y;
        }
if(Link->Item[SWORD3] == true){
                if(Link->MP > 0){
                    Link->Item[SWORD3A] = true;
                    Link->Item[SWORD3B] = false;
                }
                else{
                    Link->Item[SWORD3A] = false;
                    Link->Item[SWORD3B] = true;
                }
            }
        }
        Waitframe();
    }
    }
}

item script Roc{
    void run(){
        if(OnLadder() == true){
            Link->Jump = 3;
        }
    }
}


Edited the code so it's both of them combined. It might work, it might not. Let's just wait and see. I'm feeling lucky today!

Edited by blackbishop89, 04 July 2011 - 04:58 PM.


#21 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 05:05 PM

sorry but got a error here what it says
PASS 1: PARSING
LINE 119: SYNTAX ERROR UNEXPECTED RBRACE EXPECTING $END, ON TOKEN
--press a key--

#22 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 05:14 PM

QUOTE(linktopower @ Jul 4 2011, 04:05 PM) View Post

sorry but got a error here what it says
PASS 1: PARSING
LINE 119: SYNTAX ERROR UNEXPECTED RBRACE EXPECTING $END, ON TOKEN
--press a key--


That's an easy one. Open the buffer and go down to line 119 and remove the brace. Problem solved!


#23 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 05:18 PM

okay i got it compiled icon_biggrin.gif
okay i'm going to try it now

#24 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 05:20 PM

Good to hear!
Looking forward to feedback.

#25 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 05:32 PM

okay tried it in the game and it froze up and wound it do anything
i have to take a break for awhile..

#26 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 05:42 PM

QUOTE(linktopower @ Jul 4 2011, 04:32 PM) View Post

okay tried it in the game and it froze up and wound it do anything
i have to take a break for awhile..


Hmm... sounds like waitframe issue I'll need to take a look at your .z file. Do you mind posting what it contains.
Oh and post what allegro log says.

Edited by blackbishop89, 04 July 2011 - 05:43 PM.


#27 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 07:11 PM

okay here's what the .z file looks like


CODE
import "std.zh"  
const int SWORD3 = 143; //This should be set to the id of the item Link picks up.
const int SWORD3A = 144; //this should be set to the id of the sword that does damage
const int SWORD3B = 145; //and this should be set to the id of the sword that doesn't
int SaveX;
int SaveY;
bool WasOnLadder = false;

bool HookGrab(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT && Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y+15)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y+15)] == CT_HSGRAB){
            return(true);
        }
    }
    return(false);
}

bool OnLadder()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1){
        return(true);
    }
    return(false);
}

bool OnLadderDown()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] != CT_SCRIPT1 && Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] != CT_SCRIPT1 && (Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1)){
        return(true);
    }
    return(false);
}

bool isLSolidHorz(int y)
{
    int x;
    for(x=Link->X; x<=Link->X+16; x+=8)
    {
        if(x==Link->X+16) x--;
        if(Screen->isSolid(x, y)) return(true);
    }
    return(false);
}

bool isFiringHS(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT){
            return(true);
        }
    }
    return(false);
}

bool isJumping(){
    if((GetEquipmentA() == I_ROCSFEATHER && Link->InputA == true) || (GetEquipmentB() == I_ROCSFEATHER && Link->InputB == true) || Link->Jump > 1){
        return(true);
    }
    return(false);
}

global script Slot2{
    void run(){
    while(true){
        if(OnLadder() == true && HookGrab() == false && isJumping() == false){
            if(WasOnLadder == false){
                Link->Jump = 1;
                if(OnLadderDown()){
                    Link->Y++;
                    SaveY = Link->Y;
                }
            }
            else{
                Link->Jump = 0;
            }
            if(!isFiringHS()){
                if(Link->InputUp == true && !isLSolidHorz(Link->Y+7)){
                    SaveY--;
                }
                else if(Link->InputDown == true && !isLSolidHorz(Link->Y+16)){
                    SaveY++;
                }
                if(Link->InputLeft == true && !Screen->isSolid(Link->X-1, Link->Y+8) && !Screen->isSolid(Link->X-1, Link->Y+15)){
                    SaveX--;
                }
                else if(Link->InputRight == true && !Screen->isSolid(Link->X+16, Link->Y+8) && !Screen->isSolid(Link->X+16, Link->Y+15)){
                    SaveX++;
                }
            }
            Link->X = SaveX;
            Link->Y = SaveY;
            WasOnLadder = true;
        }
        else{
            if(WasOnLadder == true){
                Link->Jump = 0;
                WasOnLadder = false;
            }
            SaveX = Link->X;
            SaveY = Link->Y;
        }
if(Link->Item[SWORD3] == true){
                if(Link->MP > 0){
                    Link->Item[SWORD3A] = true;
                    Link->Item[SWORD3B] = false;
                }
                else{
                    Link->Item[SWORD3A] = false;
                    Link->Item[SWORD3B] = true;
                }
            }
        }
        Waitframe();
    }
    }


item script Roc{
    void run(){
        if(OnLadder() == true){
            Link->Jump = 3;
        }
    }
}

and here is my allegro

Zelda Classic v2.50 Beta (Build 20)
Allocating quest path buffers (4.00k/4.00k)...OK
Allocating map buffer (1008.84k/1012.84k)... OK
Allocating combo buffer (5.98k/1018.82k)... OK
Allocating string buffer (680.00k/1.66M)... OK
Allocating door combo buffer (159.50k/1.81M)... OK
Allocating dmap buffer (234.00k/2.04M)... OK
Allocating combo buffer (1.62M/3.66M)... OK
Allocating color data buffer (314.11k/3.97M)... OK
Allocating tile buffer (8.50M/12.47M)... OK
Allocating trash buffer (97.66k/12.56M)... OK
Allocating item buffer (31.00k/12.59M)... OK
Allocating weapon buffer (2.50k/12.59M)... OK
Allocating guy buffer (28.00k/12.62M)... OK
Allocating combo class buffer (33.30k/12.65M)... OK
Initializing Allegro... OK
Checking Files... OK
Allocating bitmap buffers... OK
Loading data files:
Zelda.Dat...OK
Fonts.Dat...OK
SFX.Dat...OK
Initializing sound driver... OK
Used switch: -windowed
set gfx mode succsessful at -2 8bpp 640 x 480
Triplebuffer not available
Loading saved games... OK
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.
Loading Quest...

Decrypting...okay.
Opening...okay.

I don't know but the whole program freezes
as soon as i start the game up

Edited by linktopower, 04 July 2011 - 07:12 PM.


#28 Mero

Mero

    Touch Fluffy Tail

  • Banned
  • Real Name:Tamamo No Mae
  • Location:Rainbow Factory

Posted 04 July 2011 - 08:05 PM

Okay It seems to be a waitframe issue. I'll need to recombine them.

Man combining scripts is hard work. So easy to make mistakes. Here you go, tested it myself should work.
CODE
import "std.zh"  
int SaveX;
int SaveY;
const SWORD3 = ?; //replace the questions marks like always.
const SWORD3A = ?;
const SWORD3B = ?;
bool WasOnLadder = false;

bool HookGrab(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT && Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X, HSCheck->Y+15)] == CT_HSGRAB || Screen->ComboT[ComboAt (HSCheck->X+15, HSCheck->Y+15)] == CT_HSGRAB){
            return(true);
        }
    }
    return(false);
}

bool OnLadder()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1){
        return(true);
    }
    return(false);
}

bool OnLadderDown()
{
    if(Screen->ComboT[ComboAt (Link->X, Link->Y+8)] != CT_SCRIPT1 && Screen->ComboT[ComboAt (Link->X+15, Link->Y+8)] != CT_SCRIPT1 && (Screen->ComboT[ComboAt (Link->X, Link->Y+15)] == CT_SCRIPT1 || Screen->ComboT[ComboAt (Link->X+15, Link->Y+15)] == CT_SCRIPT1)){
        return(true);
    }
    return(false);
}

bool isLSolidHorz(int y)
{
    int x;
    for(x=Link->X; x<=Link->X+16; x+=8)
    {
        if(x==Link->X+16) x--;
        if(Screen->isSolid(x, y)) return(true);
    }
    return(false);
}

bool isFiringHS(){
    int HSFor;
    for(HSFor = 1; HSFor <= Screen->NumLWeapons(); HSFor++){
        lweapon HSCheck = Screen->LoadLWeapon(HSFor);
        if(HSCheck->ID == LW_HOOKSHOT){
            return(true);
        }
    }
    return(false);
}

bool isJumping(){
    if((GetEquipmentA() == I_ROCSFEATHER && Link->InputA == true) || (GetEquipmentB() == I_ROCSFEATHER && Link->InputB == true) || Link->Jump > 1){
        return(true);
    }
    return(false);
}

global script Slot2{
    void run(){
    while(true){
        if(OnLadder() == true && HookGrab() == false && isJumping() == false){
            if(WasOnLadder == false){
                Link->Jump = 1;
                if(OnLadderDown()){
                    Link->Y++;
                    SaveY = Link->Y;
                }
            }
            else{
                Link->Jump = 0;
            }
            if(!isFiringHS()){
                if(Link->InputUp == true && !isLSolidHorz(Link->Y+7)){
                    SaveY--;
                }
                else if(Link->InputDown == true && !isLSolidHorz(Link->Y+16)){
                    SaveY++;
                }
                if(Link->InputLeft == true && !Screen->isSolid(Link->X-1, Link->Y+8) && !Screen->isSolid(Link->X-1, Link->Y+15)){
                    SaveX--;
                }
                else if(Link->InputRight == true && !Screen->isSolid(Link->X+16, Link->Y+8) && !Screen->isSolid(Link->X+16, Link->Y+15)){
                    SaveX++;
                }
            }
            Link->X = SaveX;
            Link->Y = SaveY;
            WasOnLadder = true;
        }
        else{
            if(WasOnLadder == true){
                Link->Jump = 0;
                WasOnLadder = false;
            }
            SaveX = Link->X;
            SaveY = Link->Y;
        }
if(Link->Item[SWORD3] == true){
                if(Link->MP > 0){
                    Link->Item[SWORD3A] = true;
                    Link->Item[SWORD3B] = false;
                }
                else{
                    Link->Item[SWORD3A] = false;
                    Link->Item[SWORD3B] = true;
                }
            }
        Waitframe();
    }
    }
}

item script Roc{
    void run(){
        if(OnLadder() == true){
            Link->Jump = 3;
        }
    }
}


There's gotta be a easier way of combining scripts. I need to look around.

Edited by blackbishop89, 04 July 2011 - 08:17 PM.


#29 Ventus

Ventus

    Legend

  • Members

Posted 04 July 2011 - 08:30 PM

now its saying there's a error on line 4
LINE 4 : SYNTAX ERROR, UNEXPECTED IDENTIFIER EXPECTING FLOAT, ON TOKEN SWORD3
----edit---
Okay i think i fixed it
on line's 4 5 6
you forgot to put

const SWORD3 = ?; //replace the questions marks like always.
const SWORD3A = ?;
const SWORD3B = ?;
-------^
you forgot to put int here

i got it compiled now i will try it know
---EDIT--
the game isn't freezing up no more
okay i gave link the mana sword and link has magic but it is not doing any damage? what do i do now?

Edited by linktopower, 05 July 2011 - 08:33 AM.


#30 Ventus

Ventus

    Legend

  • Members

Posted 05 July 2011 - 11:22 AM

Sorry blackbishop89 i just don't know how get it to work
i found another way to make my sword
in the item editor i edited the master sword
and change the damage on it to 1 and then made the sword beam 1000 damage!!
and the make it only use magic to shot the beams
but hey thanks for helping me i think i'm starting to understand scripts a little better now
and hey i will go ahead stick your name in my games credits for helping me understand scripts a little better now


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users