hallo alle miteinander
kann mir jemand bei emeinem problem bitte helfen ,
also ich möchte ein script erstellen bei dem man wenn man auf einen lichkegel geht , man zu einer bestimmten stelle gebeamt wird und wenn von dieser stelle wieder auf einen weiteren kegel tritt wieder zurück gebeamt wird .
ist das ganze möglich ?
-181.5448,1056.9391,19.7422,85.5350 punkt für kegel 1
-66.5487,3798.1465,6.7437,325.1479 wenn man kegel 2 betritt soll man hier raus kommen
-66.5487,3798.1465,6.7437,325.1479 kegel 2
-60.1202,3831.4360,6.9958,330.3560 punkt an dem man raus kommen soll wenn man kegel 1 betritt
wichtig die punkte sind keine interiors sondern frei auf der map
danke im vorraus
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
-
-
ganz oben
forward Tele();bei modeinit
SetTimer("Tele",1000, 1);public Tele()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,3.0,-181.5448,1056.9391,19.7422)) SetPlayerPos(i,-60.1202,3831.4360,6.9958);
else if(IsPlayerInRangeOfPoint(i,3.0,-66.5487,3798.1465,6.7437)) SetPlayerPos(i,-66.5487,3798.1465,6.7437);
}
}
return 1;
} -
oder du machst es mit Pickups ...
http://www.youtube.com/user/Mr…torials#p/u/6/4KeUA3-MYmE
hier ein tutorial
Ist besser, als ein Timer
-
EDIT :
mein error ist nun weg war ein kleiner fehler ,
jetzt muss ich noch einen pickup machen oder da im spiel keine reaktion zu sehn ist ,
könnte man bei dem pickup machen dass ein text erschein wenn man teleportiert wird ? -
ja sicher...
if(pickupid==blabla){
SetPlayerPos(....)
SendClientMessage(playerid,COLOR,"Du wurdest Teleportiert");
}//oder einen GameText -
mcih würde nur interessieren waurm ich keinen error hab es aber trozdem nicht geht ?
wenn ich mich auf den punkt stelle werde ich trozdem nicht teleportiert -
zeig mal die zeilen
-
hier steht der timer
public OnGameModeInit()
{
//~~~~~~~~~~~~~~Map
waffe1 = CreatePickup(334,23,218.6827,119.1074,1003.2188,-1);
waffe = CreatePickup(349,23,218.6827,119.1074,1003.2188,-1);
deagel = CreatePickup(348,24,-318.0920,1293.6486,53.6643,0 );
molotov = CreatePickup(344,18,-321.5088,1293.0042,53.6643,0);
baseball = CreatePickup(336,5,-319.9187,1293.7438,53.6643,0);
deagel2 = CreatePickup(334,23,218.6827,119.1074,1003.2188,-1 );
AK47 = CreatePickup(355,30,-325.7109,1293.1343,53.6643,0 );
SetTimer("Tele",30, 0);
Ziele 389
forward rentfee();
forward newcar();
forward Tele();
forward KillVehicle(carid);
new VehStream[MAX_VEHICLES][MAX_PLAYERS];
new Duty[MAX_PLAYERS];
new Text:TEXT_CARLIST;
new Text:TEXT_ANIM;ganz untern vom script
public Tele()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,3.0,-181.5448,1056.9391,19.7422)) SetPlayerPos(i,-60.1202,3831.4360,6.9958);
else if(IsPlayerInRangeOfPoint(i,3.0,-66.5487,3798.1465,6.7437)) SetPlayerPos(i,-66.5487,3798.1465,6.7437);
}
}
return 1;
}edit: das porten in eine richtung geh jetzt nur wenn ich an punkt 2 stehe komme ich nicht mehr zuück werde nur kurz ein die selbe stelle resettet
edit: geht nun auch muss nurnoch pickups machen danke für die hilfe
und ich wünsch euch nen schönen abend -
SetTimer("Tele",30, 0);
du hast beim timer eine 0 allso läuft er nur einmal
SetTimer("Tele",300, 1);
-
Warum machst du das mit einem Timer wenn du pickups machst ? Das ist total sinnlos , die Art von Halo .....
schau
new teleport; // das kommt oben hinteleport=CreatePickUp(....); // Unter OnGameModInit
if(pickupid==teleport// Das Kommt unter OnPlayerPickUp hin
{
SetPlayerPos(...);
}Die Methode ist Schwachsinn wenn du es ohne Timer ganz einfach machen kannst.
-
stimmt ohne timmer ist es besser, nur am anfang wusste ich nicht das er es mit pickups machen will
-
breadfish.de
Hat das Thema geschlossen.