Szerző Téma: 0.3c Object help  (Megtekintve 1765 alkalommal)

0.3c Object help
« Dátum: 2011. február 03. - 20:34:06 »
0 Show voters
Sziasztok. Az lenne a problémám ezzel a scripttel, hogy mikor beírom a parancsot csak 1másodpercig adja a kezébe az objectet és nem marad ott. Nem tudom mi lehet a baj ezért szeretnék segítséget kérni.
 
#include <a_samp>
#define COLOR_INTERFACE_BODY 0xFDE39DAA
public OnPlayerCommandText(playerid,cmdtext[])
{
    if(!strcmp(cmdtext,\"/szerszám\",true))
    {
        new Float:ap;
        GetPlayerArmour(playerid,ap);
        if(ap>0) return SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Te már elõvetted a szerszámod\");
        if(GetPlayerSkin(playerid)>179 && GetPlayerSkin(playerid)<181)
        {
        SetPlayerAttachedObject(playerid, 1, 18644, 6, 0.082242, 0.039213, 0.000000, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
        SetPlayerAttachedObject(playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
        SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a szerszámaidat.\");
        }
        else
        {
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Ezt a parancsot csak a szerelõktagok használhatják.\");
        }
        return 1;
    }
    return 0;
}
public OnPlayerUpdate(playerid)
{
    new Float:ap;
    GetPlayerArmour(playerid,ap);
    if(ap<1)
    {
        RemovePlayerAttachedObject(playerid,1);
        RemovePlayerAttachedObject(playerid,2);
    }
    return 1;
}
public OnFilterScriptExit()
{
    for(new i; i<MAX_PLAYERS; i++)
    {
        RemovePlayerAttachedObject(i,1);
        RemovePlayerAttachedObject(i,2);
        RemovePlayerAttachedObject(i,3);
        RemovePlayerAttachedObject(i,4);
    }
    return 1;
}

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
0.3c Object help
« Válasz #1 Dátum: 2011. február 03. - 20:59:10 »
0 Show voters
A játékos páncéljának ehhez mi köze ?  :-\\

0.3c Object help
« Válasz #2 Dátum: 2011. február 03. - 21:12:46 »
0 Show voters
Ugye úgy próbáltam, hogy egy script alapján átalakítani és benne maradt segítenél? Nem rég kezdtem a scriptelést és még vannak ilyen hibák..

0.3c Object help
« Válasz #3 Dátum: 2011. február 03. - 21:55:28 »
0 Show voters
Az OnPlayerUpdate másodpercenként lefut nemde? És ott van, h Remove...gondolom az törli ki 1mp alatt...Próbáld meg, h kiveszed a benne lévõ Remove-s sorokat(rakd megjegyzésbe //... és akkor ha tévedsz akkor csak kiveszel két //-t és megvagy.)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
0.3c Object help
« Válasz #4 Dátum: 2011. február 03. - 22:56:14 »
0 Show voters
Van arra parancs, hogy levegye ?
 

#include <a_samp>
#define COLOR_INTERFACE_BODY 0xFDE39DAA
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
    if ( !strcmp ( cmdtext, \"/szerszám\", true ) )
    {
        if ( GetPVarInt ( playerid, \"Szerszam\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a szerszámod\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 1, 18644, 6, 0.082242, 0.039213, 0.000000, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SetPlayerAttachedObject ( playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a szerszámaidat.\");
            SetPVarInt ( playerid, \"Szerszam\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    return 0;
}
public OnFilterScriptExit ( )
{
    for ( new i; i < MAX_PLAYERS; i++ )
    {
        RemovePlayerAttachedObject ( i, 1 );
        RemovePlayerAttachedObject ( i, 2 );
        RemovePlayerAttachedObject ( i, 3 );
        RemovePlayerAttachedObject ( i, 4 );
    }
    return 1;
}

0.3c Object help
« Válasz #5 Dátum: 2011. február 04. - 14:31:51 »
0 Show voters
Nincs még rá parancs elõbb ezt szeretném megoldani, most az a problémám, hogy ugye ott két object van és mikor beírom a parancsot csak ezt jeleníti meg:
SetPlayerAttachedObject ( playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );

 ebben még ha tudnátok segíteni megköszönném.

0.3c Object help
« Válasz #6 Dátum: 2011. február 04. - 15:16:16 »
0 Show voters
Nem értek, hozzá de gondolom azért csak 1objectet ad a kezébe mert csak egy fér el.
Csinálj egy másik parancsot, nem tudom milyen szerszámok, most csak pl. /csavarhúzó és akkor oda azt az objectet aztán új parancs pl. /kalapács és oda meg a kalapácsot. Mert akkor egy object lesz a kezében.
Ha hülyeséget írtam ezzel akkor tekintsétek tárgytalannak... :p :D

0.3c Object help
« Válasz #7 Dátum: 2011. február 04. - 15:37:48 »
0 Show voters
Másik scriptbõl próbáltam átalakítani ott meg adta mind a 2 kezébe, egyébként én sem értek hozzá szóval nem tudom.

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
0.3c Object help
« Válasz #8 Dátum: 2011. február 04. - 16:01:34 »
0 Show voters
nekem müködik egymagában a kalapács:
 
if(strcmp(cmdtext, \"/szerszám\", true) == 0) {
{
SetPlayerAttachedObject ( playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
}
return 1;
}

 
dehogy törölni hogykell azt nemtom..
E:
jajj bocs sry... férreolvastam megcsinaltatom 1 óra mulva küldömis a megoldást
E:
Semmi baj örülök hogy tudtok segíteni:) Köszönöm.
ChuckNoris:Ne duplapostolj.
« Utoljára szerkesztve: 2011. február 25. - 14:33:21 írta ChuckNorris »

0.3c Object help
« Válasz #9 Dátum: 2011. február 05. - 12:45:04 »
0 Show voters
C:\\Documents and Settings\\Tibi\\Asztal\\szerelõ.pwn(25) : error 021: symbol already defined: \"OnPlayerCommandText\"
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
 Most két parancsra vettem külön ezt írja:s Ha tudtok kérlek segítsetek.
E:
Küldöm a mostani scriptem megnéznétek kérlek.
 
#include <a_samp>
#define COLOR_INTERFACE_BODY 0xFDE39DAA
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
    if ( !strcmp ( cmdtext, \"/Kalapács\", true ) )
    {
        if ( GetPVarInt ( playerid, \"Kalapacs\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a kalapácsod\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a kalapácsod.\");
            SetPVarInt ( playerid, \"Kalapacs\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    return 0;
}
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
    if ( !strcmp ( cmdtext, \"/csavarhúzó\", true ) )
    {
        if ( GetPVarInt ( playerid, \"csavarhuzo\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a csavarhúzódat\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 3, 18644, 6, 0.082242, 0.039213, 0.000000, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a csavarhúzód.\");
            SetPVarInt ( playerid, \"csavarhuzo\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    return 0;
}
public OnFilterScriptExit ( )
{
    for ( new i; i < MAX_PLAYERS; i++ )
    {
        RemovePlayerAttachedObject ( i, 1 );
        RemovePlayerAttachedObject ( i, 2 );
        RemovePlayerAttachedObject ( i, 3 );
        RemovePlayerAttachedObject ( i, 4 );
    }
    return 1;
}

 
C:\\Documents and Settings\\Tibi\\Asztal\\szerelõ.pwn(26) : error 021: symbol already defined: \"OnPlayerCommandText\"
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error. Ez a hibám most:S
« Utoljára szerkesztve: 2011. február 25. - 14:33:48 írta ChuckNorris »

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
0.3c Object help
« Válasz #10 Dátum: 2011. február 05. - 20:37:15 »
0 Show voters
kijavítottam tessék: (nem próbáltam XD)
 
#include <a_samp>
#define COLOR_INTERFACE_BODY 0xFDE39DAA
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
    if ( !strcmp ( cmdtext, \"/Kalapács\", true ) )
    {
        if ( GetPVarInt ( playerid, \"Kalapacs\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a kalapácsod\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 2, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a kalapácsod.\");
            SetPVarInt ( playerid, \"Kalapacs\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
return 1;
}
    if ( !strcmp ( cmdtext, \"/csavarhúzó\", true ) )
    {
        if ( GetPVarInt ( playerid, \"csavarhuzo\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a csavarhúzódat\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 3, 18644, 6, 0.082242, 0.039213, 0.000000, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a csavarhúzód.\");
            SetPVarInt ( playerid, \"csavarhuzo\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    return 0;
}
public OnFilterScriptExit ( )
{
    for ( new i; i < MAX_PLAYERS; i++ )
    {
        RemovePlayerAttachedObject ( i, 1 );
        RemovePlayerAttachedObject ( i, 2 );
        RemovePlayerAttachedObject ( i, 3 );
        RemovePlayerAttachedObject ( i, 4 );
    }
    return 1;
}

 
OnPlayerCommandText 2X volt berakva xD

Nem elérhető Buba

  • 540
    • Profil megtekintése
0.3c Object help
« Válasz #11 Dátum: 2011. február 05. - 20:57:30 »
0 Show voters
rikzjee
Látom, nagyon új vagy még, de nem baj, mert én sem vagyok profi. Egy scripten belül csak egyszer szerepelhet a public OnPlayerCommandText (de a többivel is így van)
de azon belül több parancsot lehet létrehozni

0.3c Object help
« Válasz #12 Dátum: 2011. február 05. - 21:27:23 »
0 Show voters
Buba: Igen, sajnos még nagyon kezdõ vagyok, de megszeretném tanulni a scriptelést. Szerintem a 0-ához képest fejlõdtem már remélem jó úton haladok.
SanyiProf: Köszi a segítséget jó lett.
Most a következõ célom, hogy két skinre csináljam meg ugyan ez alapján megírtam átírtam a skin ID-t és mikor belépek beírom a parancsot kiírja, hogy Ez a parancsot csak a szerelõtagok használhatják. A másik hogy szeretnék hozzá kérni egy /eltesz parancsot is ha ezt megtudnátok oldani.
 
#include <a_samp>
#define COLOR_INTERFACE_BODY 0xFDE39DAA
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
    if ( !strcmp ( cmdtext, \"/kalapács\", true ) )
    {
        if ( GetPVarInt ( playerid, \"kalapacs\" ) == 1 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a kalapácsod\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 1, 18635, 5, 0.0, 0.044200, -0.060892, 156.370300, 0.0, 0.0, 1.0, 1.0, 1.0 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a kalapácsod.\");
            SetPVarInt ( playerid, \"kalapacs\", 1 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
      return 1;
  }
    if ( !strcmp ( cmdtext, \"/csavarhúzó\", true ) )
    {
        if ( GetPVarInt ( playerid, \"csavarhuzo\" ) == 2 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a csavarhúzódat\" );
        if ( GetPlayerSkin ( playerid ) >179 && GetPlayerSkin ( playerid ) < 181 )
        {
            SetPlayerAttachedObject ( playerid, 2, 18644, 6, 0.082242, 0.039213, 0.000000, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a csavarhúzód.\");
            SetPVarInt ( playerid, \"csavarhuzo\", 2 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    if ( !strcmp ( cmdtext, \"/kalapács\", true ) )
    {
        if ( GetPVarInt ( playerid, \"kalapacs\" ) == 3 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a kalapácsod\" );
        if ( GetPlayerSkin ( playerid ) >126 && GetPlayerSkin ( playerid ) < 128 )
        {
            SetPlayerAttachedObject ( playerid, 3, 18635, 6, 0.038329, -0.032494, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a kalapácsod.\");
            SetPVarInt ( playerid, \"kalapacs\", 3 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
      return 1;
  }
    if ( !strcmp ( cmdtext, \"/csavarhúzó\", true ) )
    {
        if ( GetPVarInt ( playerid, \"csavarhuzo\" ) == 4 ) return SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Te már elõvetted a csavarhúzódat\" );
        if ( GetPlayerSkin ( playerid ) >126 && GetPlayerSkin ( playerid ) < 128 )
        {
            SetPlayerAttachedObject ( playerid, 4, 18644, 6, 0.120055, -0.002112, 0.022211, 180.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
            SendClientMessage(playerid,COLOR_INTERFACE_BODY,\"Elõvetted a csavarhúzód.\");
            SetPVarInt ( playerid, \"csavarhuzo\", 4 );
        }
        else
        {
            SendClientMessage ( playerid,COLOR_INTERFACE_BODY, \"Ezt a parancsot csak a szerelõktagok használhatják.\" );
        }
        return 1;
    }
    return 0;
}
public OnFilterScriptExit ( )
{
    for ( new i; i < MAX_PLAYERS; i++ )
    {
        RemovePlayerAttachedObject ( i, 1 );
        RemovePlayerAttachedObject ( i, 2 );
        RemovePlayerAttachedObject ( i, 3 );
        RemovePlayerAttachedObject ( i, 4 );
    }
    return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal