GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Zsoma - 2010. június 23. - 22:13:42

Cím: Bolt script
Írta: Zsoma - 2010. június 23. - 22:13:42
Hali.
Csabesz irt nekem egy scriptet. Olyat szerettem volna h kiválasztja a ruhát a dialogbol de még nem veszi meg, csak átlakitja a skinjét olyanra és megkérdezi egy másik dialogban h valoban megveszi-e.
Ha az igenre ment akkor levonta a pénzt, ha  a nemre akkor isszarakta a skinjét amilyen volt.
nos 2 baja van.
1. Nem arra arakja vissza a skinjét, hanem a cj skinre. (van regrendszermiatt elmentett skin)
2. nem volnja le a pénzt.
megj.: azért kellett new money; al megoldani, mert minden ruha másmennyibe kerül.
aki tud kérem segitsen!  :)
ime a script:
 
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    new SkinID, Money;
    if ( dialogid == 4 && response )
    {
        switch ( listitem )
        {
            case 0:
            {
               if ( GetPlayerMoney ( playerid ) > 3999 )
               {
          SkinID = GetPlayerSkin ( playerid );
          SetPlayerSkin ( playerid, 2 );
          Money = 4000;
          ShowPlayerDialog ( playerid, 5 ,DIALOG_STYLE_MSGBOX, \"\", \"Megvásárolod ezt a ruhát?\",\"Igen\",\"Nem\");
      }
            }
            case 1:
            {
            //
            }
        }
        return 1;
    }
    if ( dialogid == 5 )
    {
        if ( response )
        {
            GivePlayerMoney ( playerid, -Money );
            TogglePlayerControllable ( playerid, 1 );
        }
        else
        {
            SetPlayerSkin ( playerid, SkinID );
        }
    }
    return 1;
}
Cím: Bolt script
Írta: Csabesz - 2010. június 23. - 22:52:40
A Skines dolog a SA:MP hibájából ered.
Mert a GetPlayerSkin függvény hibás akár csak a GetPlayerColor.  :(
Cím: Bolt script
Írta: Zsoma - 2010. június 24. - 08:46:44
és a pénz? :D arra mi a megoldás?
Cím: Bolt script
Írta: Game94 - 2010. június 24. - 11:26:37
Próbáld meg így :
 
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
    new SkinID;
    if ( dialogid == 4 && response )
    {
        switch ( listitem )
        {
            case 0:
            {
               if ( GetPlayerMoney ( playerid ) > 3999 )
               {
          SkinID = GetPlayerSkin ( playerid );
          SetPlayerSkin ( playerid, 2 );
          ShowPlayerDialog ( playerid, 5 ,DIALOG_STYLE_MSGBOX, \"\", \"Megvásárolod ezt a ruhát?\",\"Igen\",\"Nem\");
      }
            }
            case 1:
            {
            //
            }
        }
        return 1;
    }
    if ( dialogid == 5 )
    {
        if ( response )
        {
            GivePlayerMoney ( playerid, -4000 );
            TogglePlayerControllable ( playerid, 1 );
        }
        else
        {
            SetPlayerSkin ( playerid, SkinID );
        }
    }
    return 1;
}
Cím: Bolt script
Írta: Zsoma - 2010. június 24. - 16:07:12
Megnéztem, de a pénzt nem vonja le, mer ugye 4000ret von le de minden ruha más árú.
Mindegy kifejlesztettem egy uj megoldást, azt kivitelezem :D
De azért köszi mindnekinek aki segitett/segiteni akart  :D