Szerző Téma: Útzár és Szögesdrót lerakási gond  (Megtekintve 2357 alkalommal)

Útzár és Szögesdrót lerakási gond
« Dátum: 2012. október 27. - 18:08:33 »
0 Show voters
Üdv!
Az a problémám a parancs jó és a lerakás is egy szempontból. Viszont mikor én lerakok egy útzárat és  a társam is lerak 1 útzárat az én útzáram és szögesdrótom eltûnik! Ezt hogy oldhatnám meg? Itt az útzár és a szögesdrót parancs kódrésze!
Aki segítene annak adok 2 db pluszt. Úgy szeretném hogy minden játékos tudjon lerakni egyett és azt fel tudja szedni amit õ lerakot. Elõre is köszönöm!
Kódrész:
   
if(strcmp(cmd, \"/szögesdrót-le\", true) == 0 || strcmp(cmd, \"/szogesdrot-le\", true) == 0)
    {
        if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
        {
            if(szogesdrot == true) return SendClientMessage(playerid,COLOR_ORANGE,\"Figyelem.Már raktak le szögesdrótot, ha leraksz mégegyet, a régit nem lehet felvenni.\"), szogesdrot = false;
            szogesdrot = true;
            GetPlayerPos(playerid, xxx, yyy, zzz);
            DestroyObject(drot);
            drot = CreateObject(2899, xxx+1, yyy, zzz-0.9, 0.0, 0.0, 0.0);
            SendClientMessage(playerid,COLOR_ORANGE,\"Leraktál egy szögesdrótot. Felvenni a /szögesdrót-fel paranccsal tudod.\");
            return 1;
        }
    }
    if(strcmp(cmd, \"/szögesdrót-fel\", true) == 0 || strcmp(cmd, \"/szogesdrot-fel\", true) == 0)
    {
        if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 ||  PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
        {
            szogesdrot = false;
            DestroyObject(drot);
            SendClientMessage(playerid,COLOR_ORANGE,\"Felszedtél egy szögesdrótot!\");
            return 1;
        }
    }
    if(strcmp(cmd, \"/útzár-le\", true) == 0 || strcmp(cmd, \"/utzar-le\", true) == 0)
    {
        if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
        {
            if(utlezaras == true)
            utlezaras = true;
            GetPlayerPos(playerid,xxxx,yyyy,zzzz);
            DestroyObject(utzar);
            SendClientMessage(playerid,COLOR_GREEN,\"Leraktál egy útzárat. Felvenni a /útzár-fel paranccsal tudodd!\");
            utzar = CreateObject(973, xxxx+1, yyyy, zzzz-0.4, 0.0, 0.0, 90.0);
            return 1;
        }
    }
    if(strcmp(cmd, \"/útzár-fel\", true) == 0 || strcmp(cmd, \"/utzar-fel\", true) == 0)
    {
        if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
        {
            if(IsPlayerInRangeOfPoint(playerid,4.0, xxxx,yyyy,zzzz))
            {
                utlezaras = false;
                SendClientMessage(playerid,COLOR_GREEN,\"Felszedtél egy útzárat!\");
                DestroyObject(utzar);
                return 1;
            }
        }
    }

Útzár és Szögesdrót lerakási gond
« Válasz #1 Dátum: 2012. október 27. - 21:52:25 »
0 Show voters
(49008) : warning 213: tag mismatch
(49008) : error 036: empty statement
(49032) : warning 213: tag mismatch
(49032) : error 036: empty statement
Kódrész:
 
if(PlayerInfo[playerid][pRoadblock] == drot == CreateObject(2899, xxx+1, yyy, zzz-0.9, 0.0, 0.0, 0.0));
if(PlayerInfo[playerid][pRoadblock] == utzar == CreateObject(973, xxxx+1, yyyy, zzzz-0.4, 0.0, 0.0, 90.0));

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Útzár és Szögesdrót lerakási gond
« Válasz #2 Dátum: 2012. október 27. - 22:34:21 »
0 Show voters
if(PlayerInfo[playerid][pRoadblock] == CreateObject(2899, xxx+1, yyy, zzz-0.9, 0.0, 0.0, 0.0);
if(PlayerInfo[playerid][pRoadblock] == CreateObject(973, xxxx+1, yyyy, zzzz-0.4, 0.0, 0.0, 90.0);

Útzár és Szögesdrót lerakási gond
« Válasz #3 Dátum: 2012. október 28. - 09:50:50 »
0 Show voters

Útzár és Szögesdrót lerakási gond
« Válasz #4 Dátum: 2012. október 28. - 10:03:41 »
0 Show voters
timbaland10 neken nem szkript kell.... hanem leszabályozni hogy 1 játékos csak egyett tudjon letenni útzár és szögesdrótból és mikor felveszi ne a másikét hanem a sajátját vegye fel amit lerakott.
Itt az újabb hibás kódrész:
(49033) : error 001: expected token: \")\", but found \"return\"
(49008) : error 036: empty statement
(49008) : error 001: expected token: \")\", but found \";\"
         
 if(PlayerInfo[playerid][pRoadblock] == CreateObject(2899, xxx+1, yyy, zzz-0.9, 0.0, 0.0, 0.0);
if(PlayerInfo[playerid][pRoadblock] == CreateObject(973, xxxx+1, yyyy, zzzz-0.4, 0.0, 0.0, 90.0)
return 1;

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Útzár és Szögesdrót lerakási gond
« Válasz #5 Dátum: 2012. október 28. - 10:19:35 »
0 Show voters
 if(PlayerInfo[playerid][pRoadblock] == CreateObject(2899, xxx+1, yyy, zzz-0.9, 0.0, 0.0, 0.0))
if(PlayerInfo[playerid][pRoadblock] == CreateObject(973, xxxx+1, yyyy, zzzz-0.4, 0.0, 0.0, 90.0))

Útzár és Szögesdrót lerakási gond
« Válasz #6 Dátum: 2012. október 28. - 11:29:30 »
0 Show voters
Most próbálok egy jobb szögesdrót szkriptet ebbe kéne a segítség!
Hibás Sorok:
(518) : error 017: undefined symbol \"sInfo\"
(30613) : error 017: undefined symbol \"SzogesdrotInfo\"
(30613) : error 036: empty statement
(30613) : error 017: undefined symbol \"i\"
(30613) : fatal error 107: too many error messages on one line
 
new SpikeInfo[MAX_SPIKESTRIPS][sInfo];
for(new i = 0; i < sizeof(sInfo); i++)
                 if(IsPlayerInRangeOfPoint(playerid, 3.0, SzogesdrotInfo[szX], SzogesdrotInfo[szY], SzogesdrotInfo[szZ]))
« Utoljára szerkesztve: 2012. október 28. - 21:28:42 írta Chris_Antonio »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Útzár és Szögesdrót lerakási gond
« Válasz #7 Dátum: 2012. október 29. - 01:36:08 »
+1 Show voters
ha az 1. kódból a DestroyObject-eket kiszeded a lerakásnál akkor nem fogja törölni a már lent levõket...
az utolsó kódnál valamit elrontottál...ahogy látom a nevekkel vagy bajban...
1. az enumot nem sInfo néven hoztad létre
2. döntsd már el hogyan nevezed el :D
létrehozás:
 
new SpikeInfo[MAX_SPIKESTRIPS][sInfo];

 
hivatkozás:
 
SzogesdrotInfo[szX]

 

(30613) : error 017: undefined symbol \"i\"[/quote]
ezt gondolom az if-es sorra írja...ajánlom { } kitételét hogy behatárold a ciklust...
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Útzár és Szögesdrót lerakási gond
« Válasz #8 Dátum: 2012. október 29. - 11:52:26 »
0 Show voters
(30613) : error 028: invalid subscript (not an array or too many subscripts): \"sInfo\"
(30613) : warning 215: expression has no effect
(30613) : error 001: expected token: \";\", but found \"]\"
(30613) : error 029: invalid expression, assumed zero
(30613) : fatal error 107: too many error messages on one line
 
if(IsPlayerInRangeOfPoint(playerid, 3.0, sInfo[sX], sInfo[sY], sInfo[sZ]))

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Útzár és Szögesdrót lerakási gond
« Válasz #9 Dátum: 2012. október 29. - 13:24:07 »
+1 Show voters
ezt minimális angol tudással ki lehet javítani :D
\"not an array\" = nem egy tömb
az sInfo szerintem az enum neve volt és nem a tömbbé...
próbáld meg SpikeInfo-val...
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Útzár és Szögesdrót lerakási gond
« Válasz #10 Dátum: 2012. október 29. - 16:50:04 »
0 Show voters
Egyébként
http://www.mediafire.com/?uaoyoyo0tm2
ezt a scriptet akarom betenni a módomba az include-val együtt. Ezen dolgozgatok. Maga a script ha külön script-ként van mûködik viszont át akarom  rakni a módba az inc részét meg a szkriptet is ebben kéne a segítség.
(35844) : error 079: inconsistent return types (array & non-array)
(35845) : error 079: inconsistent return types (array & non-array)
(35884) : error 079: inconsistent return types (array & non-array)
(35890) : error 079: inconsistent return types (array & non-array)
(35897) : error 079: inconsistent return types (array & non-array)
(35906) : error 079: inconsistent return types (array & non-array)
(35913) : error 079: inconsistent return types (array & non-array)
(35919) : error 079: inconsistent return types (array & non-array)
(35926) : error 079: inconsistent return types (array & non-array)
(35932) : error 079: inconsistent return types (array & non-array)
(36009) : error 079: inconsistent return types (array & non-array)
(36198) : error 079: inconsistent return types (array & non-array)
(36391) : error 079: inconsistent return types (array & non-array)
(36396) : error 079: inconsistent return types (array & non-array)
(36406) : error 079: inconsistent return types (array & non-array)
(36441) : error 079: inconsistent return types (array & non-array)
(36456) : error 079: inconsistent return types (array & non-array)
(36471) : error 079: inconsistent return types (array & non-array)
(36493) : error 079: inconsistent return types (array & non-array)
(36518) : error 079: inconsistent return types (array & non-array)
(36543) : error 079: inconsistent return types (array & non-array)
(36551) : error 079: inconsistent return types (array & non-array)
(36574) : error 079: inconsistent return types (array & non-array)
(36582) : error 079: inconsistent return types (array & non-array)
(36605) : error 079: inconsistent return types (array & non-array)
(36616) : error 079: inconsistent return types (array & non-array)
« Utoljára szerkesztve: 2012. október 29. - 17:49:19 írta Chris_Antonio »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Útzár és Szögesdrót lerakási gond
« Válasz #11 Dátum: 2012. október 29. - 22:20:12 »
+1 Show voters
error 079: inconsistent return types (array & non-array)[/quote]
ránézésre csak 99%-osan voltam biztos abban hogy mit is jelent ezért kicsit csaltam :)
 
079 inconsistent return types (array & non-array)
The function returns both values and arrays, which is not allowed.
If a function returns an array, all return statements must specify
an array (of the same size and dimensions).
[/quote]
forrás: http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
a függvények visszatérési értékével van problémája...van ahol értékkel és van ahol tömbbel tér vissza a függvényed ! szóval döntened kell...vagy tömb vagy egyetlen érték !
ja és ha máskor leírod milyen errort ír a pawnod akkor jó lenne ha kódot is mellékelnél :)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Útzár és Szögesdrót lerakási gond
« Válasz #12 Dátum: 2012. október 30. - 11:49:22 »
0 Show voters
Köszönöm szépen mostmár jó csak annyi a bajom vele hogy csak 1 ember rakhat le egyett. Úgy akarnám hogy, aki az adott frakcióba van vagy munkába rendõr vagy swatos. Annak minden tagja tudjon legalább 1 db-t lerakni belõle és felszedni. ne csak 1 ember... erre várok ötleteket...
Itt a lerakás és a felszedés kód részlet:
 
stock CreateStrip(Float:x,Float:y,Float:z,Float:Angle)
{
    for(new i = 0; i < sizeof(SpikeInfo); i++)
     {
         if(SpikeInfo[sCreated] == 0)
         {
            SpikeInfo[sCreated]=1;
            SpikeInfo[sX]=x;
            SpikeInfo[sY]=y;
            SpikeInfo[sZ]=z-0.7;
            SpikeInfo[sObject] = CreateObject(2899, x, y, z-0.9, 0, 0, Angle-90);
}
     }
return 0;
}
stock DeleteClosestStrip(playerid)
{
    for(new i = 0; i < sizeof(SpikeInfo); i++)
     {
         if(IsPlayerInRangeOfPoint(playerid, 2.0, SpikeInfo[sX], SpikeInfo[sY], SpikeInfo[sZ]))
        {
             if(SpikeInfo[sCreated] == 1)
            {
                SpikeInfo[sCreated]=0;
                SpikeInfo[sX]=0.0;
                SpikeInfo[sY]=0.0;
                SpikeInfo[sZ]=0.0;
                DestroyObject(SpikeInfo[sObject]);
             }
         }
     }
    return 0;
}
encode_tires(tires1, tires2, tires3, tires4) {
return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
}
stock CreateRoadBlock(Float:x,Float:y,Float:z,Float:Angle)
{
    for(new i = 0; i < sizeof(RoadBlockInfo); i++)
     {
         if(RoadBlockInfo[rbCreated] == 0)
         {
            RoadBlockInfo[rbCreated]=1;
            RoadBlockInfo[rbX]=x;
            RoadBlockInfo[rbY]=y;
            RoadBlockInfo[rbZ]=z-0.4;
            RoadBlockInfo[rbObject] = CreateObject(973, x, y, z-0.4, 0, 0, 90.0,Angle-90);
}
     }
return 0;
}
stock DeleteClosestRoadBlock(playerid)
{
    for(new i = 0; i < sizeof(RoadBlockInfo); i++)
     {
         if(IsPlayerInRangeOfPoint(playerid, 2.0, RoadBlockInfo[rbX], RoadBlockInfo[rbY], RoadBlockInfo[rbZ]))
        {
             if(RoadBlockInfo[rbCreated] == 1)
            {
                RoadBlockInfo[rbCreated]=0;
                RoadBlockInfo[rbX]=0.0;
                RoadBlockInfo[rbY]=0.0;
                RoadBlockInfo[rbZ]=0.0;
                DestroyObject(RoadBlockInfo[rbObject]);
             }
         }
     }
    return 0;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal