Hallo Leute wie kann ich mit einem Befhel mehrere Tore aufmachen.
Also Wenn der Spieler InRangeOfPoint(playerid,.....);
so ll das tor geöffnet werden aber wenn er InRangOfPoint(playerid,......);
dann soll das andere Tor geöfnet werden wie geht das ?
weil hatte schon den Befehl nur ist immer nur 1 Tor aufgeangen und nie die anderen.
aber den Befehl hab ich leider gelöscht
Tor system
- Schokodonut
- 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
-
-
Du benutzt einfach die Abfragen mit if und else if
if(!strcmp(cmdtext, "/tor"))
{
if(InRangOfPoint(playerid, 5.0, ...))
{
MoveObject(...);
} else if(InRangOfPoint(playerid, 5.0, ...))
{
MoveObject(...);
}
return 1;
}Den Rest kannste sicher.
MFG Piet
-
Anders
ocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2))
{
{
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5);
}
}
return 1;
}
//edit hab ihn umgeändert -
Ich habe mal eine Include geschrieben die das vereinfacht: [ INCLUDE ] Kleine Tor Vereinfachung
Kannst ja mal schauen
mfg.
-
So jetzt will ich nochmal einen Timer reinmachen von 5 sec
der timer heißt testtimer -
Anders
ocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2))
{
{
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5);
}
{
if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5);
}
}
return 1;
}
//edit hab ihn umgeändert
entferne doch bitte die unnötige klammernocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2)){
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5);
}
return 1;
} -
ocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2))
{
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5);
else if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5);
}
return 1;
} -
was ist da jetzt alles falsch
ocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2)){
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5)return SetTimer("testtimer",5000,true);
else if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5)return SetTimer("testtimer",5000,true);
else if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5)return SetTimer("testtimer",5000,true);
else if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5)return SetTimer("testtimer",5000,true);
else if(IsPlayerInRangeOfPoint(playerid,10,345.0000000,1797.9000244,20.2000008))return MoveObject(einnahmetor[0],345.0000000,1797.9000244,20.2000008-10,5)return SetTimer("testtimer",5000,true);
}
return 1;
}
errors
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(499) : error 001: expected token: ";", but found "return"
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : warning 225: unreachable code
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : error 029: invalid expression, assumed zero
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : warning 215: expression has no effect
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : error 001: expected token: ";", but found "if"
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : error 001: expected token: ";", but found "return"
C:\Users\Andreas\Desktop\samp\sampserver\gamemodes\test.pwn(500) : fatal error 107: too many error messages on one line -
ocmd:tor(playerid,params[]) { if(IsPlayerInFrakt(playerid,2)){ if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09))return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5)return SetTimer("testtimer",5000,true); else if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55))return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5)return SetTimer("testtimer",5000,true); else if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58))return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5)return SetTimer("testtimer",5000,true); else if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996))return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5)return SetTimer("testtimer",5000,true); else if(IsPlayerInRangeOfPoint(playerid,10,345.0000000,1797.9000244,20.2000008))return MoveObject(einnahmetor[0],345.0000000,1797.9000244,20.2000008-10,5)return SetTimer("testtimer",5000,true); } return 1; }
da kannst dies nicht machen ein doppel returnocmd:tor(playerid,params[])
{
if(IsPlayerInFrakt(playerid,2)){
if(IsPlayerInRangeOfPoint(playerid,10,285.82, 1821.20, 20.09)){
SetTimer("testtimer",5000,true);
return MoveObject(armytor[0],285.82, 1821.20, 20.09-10,5);
}else if(IsPlayerInRangeOfPoint(playerid,10,135.20, 1941.17, 21.55)){
SetTimer("testtimer",5000,true);
return MoveObject(armytor[1],135.20, 1941.17, 21.55-10,5);
}else if(IsPlayerInRangeOfPoint(playerid,10,96.94, 1920.34, 16.58)){
SetTimer("testtimer",5000,true);
return MoveObject(armytor[2],96.94, 1920.34, 16.58-10,5);
}else if(IsPlayerInRangeOfPoint(playerid,10,214.6000061,1875.3000488,12.8999996)){
SetTimer("testtimer",5000,true);
return MoveObject(armytor[3],214.6000061,1875.3000488,12.8999996-10,5);
}else if(IsPlayerInRangeOfPoint(playerid,10,345.0000000,1797.9000244,20.2000008)){
SetTimer("testtimer",5000,true);
return MoveObject(einnahmetor[0],345.0000000,1797.9000244,20.2000008-10,5);
}
}
return 1;
}MoveObject zu returnen geht auch nur da es OnPlayerCommandText egal ist was er zurück bekommt außer
es ist eine float oder ein string.
Zu dem bist du dir sicher das du jedesmal ein Timer aufrufen willst dieser wiederholt sich -
breadfish.de
Hat das Thema geschlossen.