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: DarkRobe - 2012. November 11. - 23:49:11

Cím: Automata kapu error
Írta: DarkRobe - 2012. November 11. - 23:49:11
Sziasztok egy automata kaput próbáltam csinálni de van egy error
Itt a gm:
 

#include <a_samp>
new kapu;
forward message();
public OnGameModeInit()
{
    print(\"Starting timer...\");
    SetTimer(\"message\", 500, true); // Set a timer of 1000 miliseconds (1 second)
}
public message()
{
    print(\"1 second has passed.\");
}
{
kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
}
forward ajtotimer(); // prototípus
public ajtotimer(){
    new bool:nyissuk = false; // egy helyi változó
    for(new i; i<MAX_PLAYERS; i++){ // minden játékost ellenõrzünk
        if(!IsPlayerConnected(i)) continue; // ha nincs ilyen játékos, ugrunk a következõre
        if(IsPlayerInRangeOfPoint(i, 7.5, 1540.6999511719, -1627.9000244141, 15.199999809265)){
            nyissuk=true; // ha 7.5 egységen belül van, legyen kinyitva neki - az értékeket itt is helyettesítsük a csukott állapotéval
            break; // ha egy játékos a közelben van, nem nézünk tovább, hanem nyitunk
        }
    }
    if(nyissuk)
        MoveObject(kapu, 1540.9000244141, -1636, 15.199999809265, 5); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
    else
        MoveObject(kapu, 1540.6999511719, -1627.9000244141, 15.199999809265, 5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}

 
És az error:
 

C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\kapum.pwn(18) : error 055: start of function body without function header
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

 
A válaszokat elõre is köszi! :)
Cím: Automata kapu error
Írta: Kovacs_Richard - 2012. November 12. - 00:44:22
{
kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
}

 
nincs függvény fejrész...
szerintem ezt a kódot az OnGameModeInit alá akartad rakni...
Cím: Automata kapu error
Írta: Lömpi - 2012. November 12. - 00:47:03

{
kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
}
forward ajtotimer(); // prototípus
public ajtotimer(){
    ... blablabla

 
Ide nem raktál funkciót vagy ki törölted az eredetit ( public OnGameModeInit vagy FilterScriptInit )
Szerk: Sorry nem lattam hogy mar valaszoltak elöttem.
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 12. - 00:54:56
ez az error:
 

C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\idõzítõ.pwn(13) : error 055: start of function body without function header
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

 
és így néz ki most:
 

#include <a_samp>
new kapu;
forward message();
public OnGameModeInit()
{
kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
}
{
    print(\"Starting timer...\");
    SetTimer(\"message\", 1000, false); // Set a timer of 1000 miliseconds (1 second)
}
public message()
{
    print(\"1 second has passed.\");
}
forward ajtotimer(); // prototípus
public ajtotimer(){
    new bool:nyissuk = false; // egy helyi változó
    for(new i; i<MAX_PLAYERS; i++){ // minden játékost ellenõrzünk
        if(!IsPlayerConnected(i)) continue; // ha nincs ilyen játékos, ugrunk a következõre
        if(IsPlayerInRangeOfPoint(i, 7.5, 1540.6999511719, -1627.9000244141, 15.199999809265)){
            nyissuk=true; // ha 7.5 egységen belül van, legyen kinyitva neki - az értékeket itt is helyettesítsük a csukott állapotéval
            break; // ha egy játékos a közelben van, nem nézünk tovább, hanem nyitunk
        }
    }
    if(nyissuk)
        MoveObject(kapu, 1540.9000244141, -1636, 15.199999809265, 5); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
    else
        MoveObject(kapu, 1540.6999511719, -1627.9000244141, 15.199999809265, 5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
Cím: Automata kapu error
Írta: Kovacs_Richard - 2012. November 12. - 01:11:15
public OnGameModeInit()
{
kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
}
{
    print(\"Starting timer...\");
    SetTimer(\"message\", 1000, false); // Set a timer of 1000 miliseconds (1 second)
}

 
helyett:
 
public OnGameModeInit()
{
    kapu = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
    print(\"Starting timer...\");
    SetTimer(\"message\", 1000, false); // Set a timer of 1000 miliseconds (1 second)
}
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 12. - 16:40:23
Most jó csak nincs ott az object :(
Cím: Automata kapu error
Írta: Bajnok - 2012. November 12. - 19:21:33
Ajánlom, Y2K Automata kapu készítés leírást!!

Sok sikert!!


Link:
http://gtaforum.hu/index.php?topic=2450.msg14040#msg14040

Cím: Automata kapu error
Írta: DarkRobe - 2012. November 12. - 21:51:42
itt megakadtam :D
 

#include <a_samp>
new valamicske
public OnGameModeInit();
{
valamicske =CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
stock IsPlayerInRangeOfPoint(playerid, Float:radius, Float:X, Float:Y, Float:Z){
    new Float:px,Float:py,Float:pz;
    GetPlayerPos(playerid,px,py,pz);
    return ( ( ((px-X)*(px-X))+((py-Y)*(py-Y))+((pz-Z)*(pz-Z)) ) >= radius*radius );
}
SetTimer(\"ajtotimer\", 500, true);
forward ajtotimer(); // prototípus
public ajtotimer(){
    new bool:nyissuk = false; // egy helyi változó
    for(new i; i<MAX_PLAYERS; i++){ // minden játékost ellenõrzünk
        if(!IsPlayerConnected(i)) continue; // ha nincs ilyen játékos, ugrunk a következõre
        if(IsPlayerInRangeOfPoint(980, 7.5, 1540.6999511719, -1627.9000244141, 15.199999809265)){
            nyissuk=true; // ha 7.5 egységen belül van, legyen kinyitva neki - az értékeket itt is helyettesítsük a csukott állapotéval
            break; // ha egy játékos a közelben van, nem nézünk tovább, hanem nyitunk
        }
    }
    if(nyissuk)
        MoveObject(valamicske, 1540.9000244141, -1636, 15.199999809265, 5); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
    else
        MoveObject(valamicske, 1540.6999511719, -1627.9000244141, 15.199999809265, 5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}

 
és vannak errorok:
 

C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(5) : error 001: expected token: \";\", but found \"public\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(6) : error 055: start of function body without function header
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(9) : error 021: symbol already defined: \"IsPlayerInRangeOfPoint\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(11) : error 021: symbol already defined: \"GetPlayerPos\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(12) : error 010: invalid function or declaration
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(15) : error 021: symbol already defined: \"SetTimer\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(32) : warning 203: symbol is never used: \"px\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(32) : warning 203: symbol is never used: \"py\"
C:\\Documents and Settings\\Dyr Oss.DYROSS\\Asztal\\szerverem\\gamemodes\\kapum.pwn(32) : warning 203: symbol is never used: \"pz\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
6 Errors.

 
a válaszokat elõre is köszi..:)
Cím: Automata kapu error
Írta: Casamiro - 2012. November 12. - 22:10:50
#include <a_samp>
new valamicske;
public OnFilterScriptInit()
{
      valamicske = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
      SetTimer(\"ajtotimer\", 500, true);
      return 1;
}
forward ajtotimer(); // prototípus
public ajtotimer()
{
    new bool:nyissuk = false; // egy helyi változó
    for(new i; i<MAX_PLAYERS; i++){ // minden játékost ellenõrzünk
        if(!IsPlayerConnected(i)) continue; // ha nincs ilyen játékos, ugrunk a következõre
        if(IsPlayerInRangeOfPoint(i, 7.5, 1540.6999511719, -1627.9000244141, 15.199999809265)){
            nyissuk=true; // ha 7.5 egységen belül van, legyen kinyitva neki - az értékeket itt is helyettesítsük a csukott állapotéval
            break; // ha egy játékos a közelben van, nem nézünk tovább, hanem nyitunk
        }
    }
    if(nyissuk)
        MoveObject(valamicske, 1540.9000244141, -1636, 15.199999809265, 5); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
    else
        MoveObject(valamicske, 1540.6999511719, -1627.9000244141, 15.199999809265, 5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 12. - 22:15:20
Nincs ott az object :( Milehet a hiba :OO
Ha filterscriptbe rakom akkor ott van de nem mûködik..:(
Cím: Automata kapu error
Írta: jana4 - 2012. November 13. - 13:28:03
#include <a_samp>
new valamicske;
public OnFilterScriptInit()
{
      valamicske = CreateObject(980, 1540.6999511719, -1627.9000244141, 15.199999809265, 0, 0, 270);
      SetTimer(\"ajtotimer\", 500, true);
      return 1;
}
public OnFilterScriptExit()
{
      DestroyObject(valamicske);
      return 1;
}
forward ajtotimer();
public ajtotimer()
{
    new bool:nyissuk = false; // egy helyi változó
    for(new i; i<MAX_PLAYERS; i++){ // minden játékost ellenõrzünk
        if(!IsPlayerConnected(i)) continue; // ha nincs ilyen játékos, ugrunk a következõre
        if(IsPlayerInRangeOfPoint(i, 7.5, 1540.6999511719, -1627.9000244141, 15.199999809265)){
            nyissuk=true; // ha 7.5 egységen belül van, legyen kinyitva neki - az értékeket itt is helyettesítsük a csukott állapotéval
            break; // ha egy játékos a közelben van, nem nézünk tovább, hanem nyitunk
        }
    }
    if(nyissuk)
        MoveObject(valamicske, 1540.9000244141, -1636, 15.199999809265, 5); // ha van játékos a közelben lassan áthelyezzük az objektumot - \"kinyissuk\" - az értékeket itt a nyitott állapotéval helyettesítsük be
    else
        MoveObject(valamicske, 1540.6999511719, -1627.9000244141, 15.199999809265, 5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}

 
Szóval az a lényeg, hogy amikor a filterszkript bezár, akkor törölje az objektumot, különben vagy ott ragad, vagy a késõbbiekben meg sem jelenik, csak ha leállítod a szervered futtatását és újraindítod.

Ha a módban van a kapu, OnGameModeExit-hez tedd a jelenlegi OnFilterScriptInit-es részt.
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 13. - 14:14:33
Ez mind szép és jó de most meg megint nincs ott :D :(
Cím: Automata kapu error
Írta: jana4 - 2012. November 13. - 15:53:53
Nem tudok mást.

Esetleg, ha a

 
forward ajtotimer();

 
-t a new valamicske; alá tennéd, lehet betöltene.

Ugyanis az idõzítõ elindítaná, de még nincs létrehozva.


De pedig létre kellene hozza az objektumot.


Egyéb körülmények vannak? Túl sok objektum stb?


Mást nem tudok.
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 13. - 19:40:52
Ez az egy kapu és ennyi...És a rendõrségen van a kapu...:)Majd mindjárt tesztelem...A további észleléseket majd írom :)
Jó lett köszi ment a +. :D
Nem zárom a témát hátha akad még kérdésem :)
Cím: Automata kapu error
Írta: Bajnok - 2012. November 13. - 23:11:04

Ez az egy kapu és ennyi...És a rendõrségen van a kapu...:)Majd mindjárt tesztelem...A további észleléseket majd írom
Jó lett köszi ment a +.


Nem zárom a témát hátha akad még kérdésem

[/quote]

Szívesen, cimborám, megtudhatom ki válasza volt a tökéletes??((Csak kíváncsiságból))
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 14. - 15:44:50
ScreaM :)
De te is sokat segítettél :)
Úgyhogy neked is ment a + :)
Cím: Automata kapu error
Írta: ZyZu. - 2012. November 14. - 16:47:23
Mûködik akkor a szkript? :D Ha igen majd zárd a témát :)
Cím: Automata kapu error
Írta: DarkRobe - 2012. November 14. - 19:22:11
Már írtam az elsõ oldalon ,hogy nem zárom mert még biztos hogy lesz hozzá kérdésem..:)

Dupla hozzászólás automatikusan összefûzve. ( 2012. November 15. - 20:16:57 )

Hogy lehet frakcióhoz kapcsolni? :) :OO
Cím: Automata kapu error
Írta: skyLine - 2012. November 25. - 00:15:20
Hát odaírod például, hogy
&& TEAM_ADMIN
Cím: Automata kapu error
Írta: DarkRobe - 2012. December 02. - 17:30:47
Bõvebben mondjuk példával ha lehet köszike :)