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: herban - 2011. június 11. - 17:34:26
-
Hello!
Az lenne a bajom, hogy nem látszik a kapu nem látszik, de a scriptet betölti a server
[pawn]
#include <a_samp>
#if defined FILTERSCRIPT
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 );
}
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Script betöltve!\");
print(\"--------------------------------------\\n\");
autokapu = CreateObject(971,-1966.87597656,294.08489990,37.71358490,0.00000000,0.00000000,90.00000000); //object(subwaygate) (1)
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, -1963.2629,294.1194,35.4688)){
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(autokapu, -1966.47436523,294.10903931,30.88850212, 3); // 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(autokapu, -1966.87597656,294.08398438,30.93855476, 3); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
#endif[/pawn]
-
Biztos nem jól csináltad meg a kaput mta ba
-
De le ellenõriztem, hogy jó-e és jó volt
-
De le ellenõriztem, hogy jó-e és jó volt
Hogy ellenõrizted le ha nem mûködik ? ;D
Fs elejére nem kéne?
new autokapu;
-
[pawn]
#include <a_samp>
#new autokapu;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Script betöltve!\");
print(\"--------------------------------------\\n\");
autokapu = CreateObject(971,-1966.87597656,294.08489990,37.71358490,0.00000000,0.00000000,90.00000000); //object(subwaygate) (1)
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, -1963.2629,294.1194,35.4688)){
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(autokapu, -1966.47436523,294.10903931,30.88850212, 3); // 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(autokapu, -1966.87597656,294.08398438,30.93855476, 3); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
#endif
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 );
}
[/pawn]
-
[pawn]
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 );
}
[/pawn]
Ez felesleges. Alapból van ilyen funkció. :-*
-
1.)
Ha beírom new autokapu tesz bele 1 warningot(de amugy se jó)
2.)
Hiába szedtem ki ugyan az... nem látszik az object
-
kaput ugy csinálsz mta-ban hogy
new projeckt
És elöször lemented a kaput zárt helyzetbe (Elöször zárt fontos)
és elmented
utánna megint nyitsz
egy
New Projeckt-et
És lerakod a kaput nyitot helyzetbe és elmented
-
Próbáld most.
[pawn]
#include <a_samp>
new autokapu;
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Script betöltve!\");
print(\"--------------------------------------\\n\");
autokapu = CreateObject(971,-1966.87597656,294.08489990,37.71358490,0.00000000,0.00000000,90.00000000); //object(subwaygate) (1)
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, -1963.2629,294.1194,35.4688)){
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(autokapu, -1966.47436523,294.10903931,30.88850212, 3); // 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(autokapu, -1966.87597656,294.08398438,30.93855476, 3); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}
[/pawn]