Szerző Téma: Derby  (Megtekintve 1431 alkalommal)

Derby
« Dátum: 2010. június 30. - 10:33:52 »
0 Show voters
Sziasztok
csináltam egy derbyt és ojan segítséget szeretnék kérni hogy a derbibol csak /exit-derby -vel lehessen kilépni és a /off-derby vel belépni a derbybe
mejnek a teleport koordinátái a derbynek: 1526.8193,-1027.9990,23.9216
és azt szeretném hogy a /exit-derby vel ebbe a koordinátába rakja ha beírja: -666.6516,1521.9204,86.5108
Remélem érthetoen fogalmaztam :D
elore is köszönöm a segítséget!

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Derby
« Válasz #1 Dátum: 2010. június 30. - 10:52:14 »
0 Show voters
Változóval egyszeruen meg lehet csinálni.
 

new bool:PlayerInDerby [ MAX_PLAYERS ];
public OnPlayerConnect ( playerid )
{
   PlayerInDerby [ playerid ] = false;
}
public OnPlayerCommandText ( playerid, cmdtext [ ] )
{
   if ( strcmp ( cmdtext, \"/off-derby\", true ) == 0 )
   {
       if ( PlayerInDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \" Már a derby zónához teleportáltál!\");
       if ( IsPlayerInAnyVehicle ( playerid ) ) return SetVehiclePos ( GetPlayerVehicleID ( playerid ), 1526.8193,-1027.9990,23.9216 );
       PlayerInDerby [ playerid ] = true;
       return 1;
   }
   if ( strcmp ( cmdtext, \"/exit-derby\", true ) == 0 )
   {
       if ( PlayerInDerby [ playerid ] == false ) return SendClientMessage ( playerid, 0x00000, \"Nem vagy a derby zónában!\");
       PlayerInDerby [ playerid ] =false;
       SendClientMessage ( playerid, 0x00000, \"Ki lépétál a derby zónából!\");
       SetPlayerPos ( playerid, -666.6516,1521.9204,86.5108 );
       return 1;
   }
   return 0;
}

 
És másold be ezt a kódrészletet a parancsok elé, amiket nem használhat ha a derby zónában van.:
 

if ( PlayerInDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \");

 
Használd egészséggel.  ;)
« Utoljára szerkesztve: 2010. június 30. - 11:07:03 írta Csabesz »

Derby
« Válasz #2 Dátum: 2010. június 30. - 11:05:35 »
0 Show voters
beraktam mindent ahova kell és
 

D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 017: undefined symbol \"PlayerInDerby\"
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : warning 215: expression has no effect
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 001: expected token: \";\", but found \"]\"
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 029: invalid expression, assumed zero
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
4 Errors.

 
Mi lehet a hiba ja és amelyik parancsot nemhasználhatja azt hova kell beírni?
 

#include <a_samp>
#if defined FILTERSCRIPT
new bool:PlayerInDerby [ MAX_PLYERS ];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"       X-Zyte derby By:Eric            \");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\"          X-Zyte derby By:Eric      \");
print(\"----------------------------------\\n\");
}
#endif
 
public OnPlayerConnect(playerid)
{
    PlayerInDerby [ playerid ] = false;
return 1;
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if ( PlayerInDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \");
    if ( strcmp ( cmdtext, \"/off-derby\", true ) == 0 )
    {
        if ( PlayerInDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \" Már a derby zónához teleportáltál!\");
        if ( IsPlayerInAnyVehicle ( playerid ) ) return SetVehiclePos ( GetPlayerVehicleID ( playerid ), 1526.8193,-1027.9990,23.9216 );
        PlayerInDerby [ playerid ] = true;
        return 1;
    }
    if ( strcmp ( cmdtext, \"/exit-derby\", true ) == 0 )
    {
        if ( PlayerInDerby [ playerid ] == false ) return SendClientMessage ( playerid, 0x00000, \"Nem vagy a derby zónában!\");
        PlayerInDerby [ playerid ] =false;
        SendClientMessage ( playerid, 0x00000, \"Ki lépétál a derby zónából!\");
        SetPlayerPos ( playerid, -666.6516,1521.9204,86.5108 );
        return 1;
    }
    return 0;
}

 
így raktam be ígykel?
« Utoljára szerkesztve: 2010. június 30. - 11:08:33 írta Pioneer »

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Derby
« Válasz #3 Dátum: 2010. június 30. - 11:10:42 »
0 Show voters
Idézetet írta: Pioneer date=1277888735\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2234\" data-ipsquote-contentclass=\"forums_Topic
beraktam mindent ahova kell és
 

D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 017: undefined symbol \"PlayerInDerby\"
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : warning 215: expression has no effect
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 001: expected token: \";\", but found \"]\"
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : error 029: invalid expression, assumed zero
D:\\JÁTÉKOK\\GTA San Andreas\\szeró\\pawno\\new.pwn(52) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
4 Errors.

 
Mi lehet a hiba ja és amelyik parancsot nemhasználhatja azt hova kell beírni?
 
Nem tudom mi nem értheto rajta...
Vannak pl a teleportok sorba egy más után és azok elé be másolod azt az egy sort.
Tessék, 100% hogy muködik. Am te rontottál el 1-2 dolgot...
 

#include <a_samp>
new bool:PlayerInDerby [ MAX_PLAYERS ];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"       X-Zyte derby By:Eric            \");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
   PlayerInDerby[ playerid ] = false;
   return 1;
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if ( PlayerInDerby[ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \");
   if ( strcmp ( cmdtext, \"/off-derby\", true ) == 0 )
   {
       if ( PlayerInDerby[ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \" Már a derby zónához teleportáltál!\");
       if ( IsPlayerInAnyVehicle ( playerid ) ) return SetVehiclePos ( GetPlayerVehicleID ( playerid ), 1526.8193,-1027.9990,23.9216 );
       PlayerInDerby[ playerid ] = true;
       return 1;
   }
   if ( strcmp ( cmdtext, \"/exit-derby\", true ) == 0 )
   {
       if ( PlayerInDerby[ playerid ] == false ) return SendClientMessage ( playerid, 0x00000, \"Nem vagy a derby zónában!\");
       PlayerInDerby[ playerid ] =false;
       SendClientMessage ( playerid, 0x00000, \"Ki lépétál a derby zónából!\");
       SetPlayerPos ( playerid, -666.6516,1521.9204,86.5108 );
       return 1;
   }
   return 0;
}
« Utoljára szerkesztve: 2010. június 30. - 11:21:29 írta Csabesz »

GroX

  • Vendég
Derby
« Válasz #4 Dátum: 2010. június 30. - 11:10:53 »
0 Show voters
A script tetejére másold be:
 
new bool:PlayerInDerby[MAX_PLAYERS];

Derby
« Válasz #5 Dátum: 2010. június 30. - 11:15:55 »
0 Show voters
Ugy néz ki hogy jó csak kikell próbálnom
de ha ezt beillesztem a teleport felé akkor error
 
if ( PlayerInDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \"); 

 


#include <a_samp>
new bool:pDerby [ MAX_PLAYERS ];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"       X-Zyte derby By:Eric            \");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
/*public OnPlayerConnect(playerid)
{
   pDerby [ playerid ] = false;
   return 1;
}*/
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if ( pDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \");
   if ( strcmp ( cmdtext, \"/off-derby\", true ) == 0 )
   {
       if ( pDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \" Már a derby zónához teleportáltál!\");
       if ( IsPlayerInAnyVehicle ( playerid ) ) return SetVehiclePos ( GetPlayerVehicleID ( playerid ), 1526.8193,-1027.9990,23.9216 );
       pDerby [ playerid ] = true;
       return 1;
   }
   if ( strcmp ( cmdtext, \"/exit-derby\", true ) == 0 )
   {
       if ( pDerby [ playerid ] == false ) return SendClientMessage ( playerid, 0x00000, \"Nem vagy a derby zónában!\");
       pDerby [ playerid ] =false;
       SendClientMessage ( playerid, 0x00000, \"Ki lépétál a derby zónából!\");
       SetPlayerPos ( playerid, -666.6516,1521.9204,86.5108 );
       return 1;
            }
 
         if (strcmp(\"/derby\", cmdtext, true, 10) == 0)
   {
      new pName[MAX_PLAYER_NAME];
        new string[256];
        GetPlayerName(playerid, pName, sizeof(pName));
        format(string, sizeof(string), \"%s elteleportált a derby-hez!(/derby) \", pName);
        SendClientMessageToAll(0x99FF00AA, string);
           SetPlayerPos(playerid,-1011.9091,-1009.4459,129.2126);
   return 1;
   }
   
   
   
           return 0;
}

 a /derbys teleportot szeretném hogy ne engedje ha bentvan a zónába pls csinálja meg valaki és küldje vissza a kódot
Köszi
« Utoljára szerkesztve: 2010. június 30. - 13:40:37 írta Pioneer »

Derby
« Válasz #6 Dátum: 2010. június 30. - 13:41:08 »
0 Show voters
Megcsinálná akkor valaki kéremszépen ott a kód meg minden!

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Derby
« Válasz #7 Dátum: 2010. június 30. - 13:49:55 »
0 Show voters
Ne duplapostolj!
 

#include <a_samp>
new bool:pDerby [ MAX_PLAYERS ];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"       X-Zyte derby By:Eric            \");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
    pDerby [ playerid ] = false;
    return 1;
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
    if ( strcmp ( cmdtext, \"/off-derby\", true ) == 0 )
    {
        if ( pDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \" Már a derby zónához teleportáltál!\");
        if ( IsPlayerInAnyVehicle ( playerid ) ) return SetVehiclePos ( GetPlayerVehicleID ( playerid ), 1526.8193,-1027.9990,23.9216 );
        pDerby [ playerid ] = true;
        return 1;
    }
    if ( strcmp ( cmdtext, \"/exit-derby\", true ) == 0 )
    {
        if ( pDerby [ playerid ] == false ) return SendClientMessage ( playerid, 0x00000, \"Nem vagy a derby zónában!\");
        pDerby [ playerid ] =false;
        SendClientMessage ( playerid, 0x00000, \"Ki lépétál a derby zónából!\");
        SetPlayerPos ( playerid, -666.6516,1521.9204,86.5108 );
        return 1;
    }
    if (strcmp(\"/derby\", cmdtext, true, 10) == 0)
    {
        if ( pDerby [ playerid ] == true ) return SendClientMessage ( playerid, 0x00000, \"Nem használhatod a parancsokat, mert a derby zónában vagy! \");
        new pName[MAX_PLAYER_NAME];
        new string[256];
        GetPlayerName(playerid, pName, sizeof(pName));
        format(string, sizeof(string), \"%s elteleportált a derby-hez!(/derby) \", pName);
        SendClientMessageToAll(0x99FF00AA, string);
        SetPlayerPos(playerid,-1011.9091,-1009.4459,129.2126);
return 1;
    }
    return 0;
}

Derby
« Válasz #8 Dátum: 2010. június 30. - 19:25:22 »
0 Show voters
Az /exit-derby nemmüxik és más teleportot is tudok használni pedig beillesztettem amit kelett!

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Derby
« Válasz #9 Dátum: 2010. június 30. - 20:05:17 »
0 Show voters
Csabesz: A /derby parancsnál nem adtál true értéket a változónak és sokkal egyszerubb (és kevésbé terhelo) lenne, ha Per Player Variable Systemet használnál hozzá.

Derby
« Válasz #10 Dátum: 2010. július 01. - 08:01:58 »
0 Show voters
Rájöttem kicsit másképp de jó am köszi a segítséget bár végül is megoldottam de azé kösz:D zárok

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal