Helló. Van egy automatikus kapum mappolt szigeten kinyílik de nem zárod-ik vissza nem tudjátok mi lehet a gond:? az az érdekes hogy ami nincs mappolva ott vissza zárod-ik itt a script:
new sandiegok1;
new sandiegok2;
forward SanDiego(playerid);
public OnGameModeInit()
{
sandiegok1 = CreateObject(976, -3953.5, -318.29998779297, 10.10000038147, 0, 0, 80);
sandiegok2 = CreateObject(976, -3954.3999023438, -323.39999389648, 10.10000038147, 0, 0, 80);
SetTimer(\"SanDiego\",500, 1);
return 1;
}
public SanDiego(playerid)
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i,10.0,-3954.28,-316.92,11.07))
{
if(gateopen == false)
{
MoveObject(sandiegok1, -3951.6999511719, -309.5, 10.10000038147, 3.0, 0, 0, 80); //felnyitjuk
MoveObject(sandiegok2, -3955.8999023438, -332, 10.10000038147, 3.0, 0, 0, 80); //felnyitjuk
gateopen = true;
}
return 1;
}
}
if(gateopen == true)
{
MoveObject(sandiegok1, -3953.5, -318.29998779297, 10.10000038147, 3.0, 0, 0, 80); //felnyitjuk
MoveObject(sandiegok2, -3954.3999023438, -323.39999389648, 10.10000038147, 3.0, 0, 0, 80); //felnyitjuk
gateopen = false;
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2013. július 03. - 10:47:29 )
Megvan a hiba de azt hogy lehet meg csinálni hogy egy filterscriptbe teszek pl 5 kaput és hogy mennyen is rendesen mert pls ha ugy irom hogy publick sandiego(playerid) és csinálok meg 1et hogy publick GateCheck(playerid) akkor már nem zárodik be mi a gond?
Próbáld meg külön csinálni a két kaput ne így legyen ahogy most van hanem
#public SanDiego1(playerid) #
public SanDiego2(playerid)
Ezzel próbáld
new sandiegok1;
new sandiegok2;
forward SanDiego(playerid);
public OnFilterScriptInit()
{
sandiegok1 = CreateObject(976, -3953.5, -318.29998779297, 10.10000038147, 0, 0, 80);
sandiegok2 = CreateObject(976, -3954.3999023438, -323.39999389648, 10.10000038147, 0, 0, 80);
forward SanDiego(); // prototípus
public SanDiego(){
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,-3953.5, -318.29998779297, 10.10000038147)){
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(SanDiego, -3951.6999511719, -309.5, 10.10000038147, 3.5);
else
MoveObject(SanDiego, -3953.5, -318.29998779297, 10.10000038147, 3.5);
}
forward SanDiego1(); // prototípus
public SanDiego1(){
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,1497.16614, 986.69873, 9.74763)){
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(SanDiego1,-3955.8999023438, -332, 10.10000038147, 3.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(SanDiego1, -3954.3999023438, -323.39999389648, 10.10000038147, 3.5); // ha nincs játékos a közelben, becsukjuk - az értékeket itt is helyettesítsük a csukott állapotéval
}