new OamtSF; ändern in new OamtSF[5];
Beiträge von RedDragon
-
-
Soweit ich weiß, kannst du das nur mit IsPlayerInAnyVehicle machen..
-
Hab's mal erstellt. SetPlayerHoldingObject(playerid,1210,6,0.27,0.10,0.05,0,260,0);
-
new Float:X[MAX_VEHICLES], Float:Y[MAX_VEHICLES], Float:Z[MAX_VEHICLES];
for(new v = 0; v <MAX_VEHICLES; v++)
{
GetVehiclePos(v,X[v], Y[v], Z[v]);
//...
} -
Nun ja, kannst ja jedes mal prüfen lassen wenn jmd G drückt, ob ein abgeschlossenes Fahrzeug in seiner Nähe ist. Wenn ja, unterbindest du das Einsteigen.
-
-
Man kann den Spieler beobachten oder auch nur Fahrzeuge!?
-
Sieht man Objekte nicht in jeder Virtual World, oder irre ich mich da..?
-
Ja, ist ja nur ein Beispiel. Das Prinzip dürfte aber klar sein.
-
new Float:CPS[3][3] =
{
{1587.1886, -1414.4863, 14.1634}, // Beispiel-Checkpoints ( X , Y , Z )
{1605.8584, -1438.4060, 13.9305},
{1651.3699, -1442.8450, 13.9311}
};new CP;
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmd, "/race", true) == 0)
{
CP = 0;
SetPlayerRaceCheckpoint(playerid, 0, CPS[CP][0], CPS[CP][1], CPS[CP][2], CPS[CP+1][0], CPS[CP+1][1], CPS[CP+1][2], 5);
return 1;
}
return 0;
}public OnPlayerEnterRaceCheckpoint(playerid)
{
CP++;
SetPlayerRaceCheckpoint(playerid, 0, CPS[CP][0], CPS[CP][1], CPS[CP][2], CPS[CP+1][0], CPS[CP+1][1], CPS[CP+1][2], 5);
return 1;
} -
OnPlayerEnterVehicle wird aufgerufen, wenn man anfängt in ein Auto einzusteigen. Also zum Auto zu gehen, Tür aufmachen. Nimm lieber OnPlayerStateChange. if(newstate == PLAYER_STATE_DRIVER)...
-
Hmm... wenn du willst, kannst du es so machen, dass wenn du /m schreibst, sich ein Dialog öffnet, wo man Text eintippen kann. Und dieser wird bei OnDialogResponse mit "inputtext" definiert.
-
Wird wohl ein Klammerfehler drin sein..
-
Das geht, allerdings nur mit einer speziellen Include -> http://wiki.sa-mp.com/wiki/GetPlayerID
-
Öffnet sich bei dir der Server in ein schwarzes Fenster mit Text? Versuch dann den Server "127.0.0.1:7777" (Das ist dann dein PC) bei den Favoriten hinzuzufügen.
-
Ist eigentlich sehr simpel. Anstatt, dass Text angezeigt wird, wenn man in die rote Markierung geht, öffnet sich einfach ein Dialog mit der Auswahl. Jenachdem welche Auswahl du genommen hast, öffnet sich das jeweilige Dialog... und die Dialoge machen dasselbe wie die Befehle... ganz simpel, nur dauerts etwas die Dialoge zu machen...
-
Falls das Ironisch gemeint war: Ja, wenn dir das nichts sagt, dann solltest du lieber mit dem Scripten aufhören. Falls nicht, ignorieren
-
So sollt's gehen:
new Float:BombeX[MAX_PLAYERS], Float:BombeY[MAX_PLAYERS], Float:BombeZ[MAX_PLAYERS];
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmd, "/boom", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(HatBombe[playerid] == 1)
{
SetTimerEx("Explosion", 3000, 0, "i",playerid);
GetPlayerPos(playerid, BombeX[playerid], BombeY[playerid], BombeZ[playerid] );
Bombe[playerid] = CreateObject(1252, BombeX[playerid],BombeY[playerid], BombeZ[playerid], 0, 0, 0);
// "new Bombe;" einfach ändern in "new Bombe[MAX_PLAYERS];"
SendClientMessage(playerid,FARBE_ROT,"Die Bombe geht in 3 Sekunden hoch!");
HatBombe[playerid] = 0;
}
else
{
SCM(playerid, FARBE_ROT, "Du hast keine Bombe!");
}
}
return 1;
}
return 0;
}//...
forward Explosion(playerid);
public Explosion(playerid)
{
CreateExplosion(BombeX[playerid],BombeY[playerid],BombeZ[playerid],0,10); // Explosion hat 10 Meter Radius, änderbar
DestroyObject(Bombe[playerid]);
} -
OnPlayerConnect
Sinnloser Beitrag.
b2t:
Versuch mal PlayerPlaySound. Nachzulesen hier: http://wiki.sa-mp.com/wiki/PlayerPlaySound
-
public OnPlayerCommandText(playerid,cmdtext[])
{
if (strcmp("/moin", cmdtext, true, 7) == 0)
{
SendClientMessageToAll(COLOR_RED,"Hi!");
return 1;
}
return 0;
}