Hallo liebe Brotfische!
Ich habe ein Problem und zwar dass viele Funktionen nur mit der id 0 gehen
Ich hoffe ihr könnt mir helfen
Funktionen funktionieren nur mit ID 0
- gamerniki
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
ich würde mal ein beispiel sagen. Funktionieren die Befehle nur nicht wenn du playerid im Script hast oder was??
-
also ich mach mal ein bespiel
public checkparea(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1587.77746582,-1637.86547852,14.48121452))
{
if(SpielerInfo[playerid][Fraktion]==1)
{
new Float:TempX, Float:TempY, Float:TempZ;
GetPlayerPos(playerid, TempX, TempY, TempZ);
if(TempX == PosX[playerid] && TempY == PosY[playerid] && TempZ == PosZ[playerid])
{
}
else
{
GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
MoveObject(lspdtor1,1587.42285156,-1638.30957031,9.97189140, 2.5);
SetTimer("closelspdgate", 3000, 0);
}
}
}
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1285.83398438,-2056.48535156,60.46360016))
{
if(SpielerInfo[playerid][Fraktion]==2)//CreateObjectToStream(980,1285.83398438,-2056.48535156,54.83847046,0.00000000,0.00000000,266.99523926); //object(airportgate) (2)
{
new Float:TempX, Float:TempY, Float:TempZ;
GetPlayerPos(playerid, TempX, TempY, TempZ);
if(TempX == PosX[playerid] && TempY == PosY[playerid] && TempZ == PosZ[playerid])
{
}
else
{
GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
MoveObject(lcngate1,1285.83398438,-2056.48535156,54.83847046, 2.5);
SetTimer("closelcngate", 3000, 0);
}
}
}
return 1;
}so das ist damit tore automatisch aufgehen wenn jemand in der nähe ist das problem ist das es zwar funktioniert aber nur für die id 0 wenn z.B. der player mit der id 1 in die nähe des tors kommt passiert überhaupt nichts
-
Darf ich mal raten?
Du hast iwo stehen
SetTimer("checkparea", 2500, true);// Die Zeit muss jetzt nicht unbedingt stimmen :P
Dann ersetze das ganze Ding damit, dann sollte es funktionieren
public checkparea()
{
new i = 0;for(;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1587.77746582,-1637.86547852,14.48121452))
{
if(SpielerInfo[playerid][Fraktion]==1)
{
new Float:TempX, Float:TempY, Float:TempZ;
GetPlayerPos(playerid, TempX, TempY, TempZ);
if(TempX == PosX[playerid] && TempY == PosY[playerid] && TempZ == PosZ[playerid])
{
}
else
{
GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
MoveObject(lspdtor1,1587.42285156,-1638.30957031,9.97189140, 2.5);
SetTimer("closelspdgate", 3000, 0);
}
}
}
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1285.83398438,-2056.48535156,60.46360016))
{
if(SpielerInfo[playerid][Fraktion]==2)//CreateObjectToStream(980,1285.83398438,-2056.48535156,54.83847046,0.00000000,0.00000000,266.99523926); //object(airportgate) (2)
{
new Float:TempX, Float:TempY, Float:TempZ;
GetPlayerPos(playerid, TempX, TempY, TempZ);
if(TempX == PosX[playerid] && TempY == PosY[playerid] && TempZ == PosZ[playerid])
{
}
else
{
GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
MoveObject(lcngate1,1285.83398438,-2056.48535156,54.83847046, 2.5);
SetTimer("closelcngate", 3000, 0);
}
}
}
}
return 1;
} -
thx für die antwort es funktioniert
-
breadfish.de
Hat das Thema geschlossen.