Moin.. sagt mal, wie kann ich ne normale *.map datei im MTA Map Editor öffnen? o_O das findets iwie net
MFG
Moin.. sagt mal, wie kann ich ne normale *.map datei im MTA Map Editor öffnen? o_O das findets iwie net
MFG
schreib am besten alles in einen string. dann kannst du auch mit \n zeilenumbrüche machen.. dann wird alles angezeigt (stringsize ~512)
...oder nen sekundentimer, der jede sekunde abfragt, ob ein spieler an diesem punkt ist.
mein gott, wieviel hilfe brauchst du denn noch?!
das problem is ja, ich hab net mal was modifiziert aber thx, funzt
hab gerade gemerkt, hab das selbe problem das letzte mal ging es noch.. dann hab ich aber samp und mta neu installiert was mach ich da am besten? neu installen?
//neu installiern hat nix gebracht
also irgendwie sollte das schon gehn.. find auf wiki die taste aber net.. und hab gestern auf nem server gesehn, das man da mit f was aufheben kann
was machst du sonst mit f normalerweise? steigst du damit ins auto ein?
np vielleicht das nächste mal hier schauen http://wiki.sa-mp.com/wiki/Main_Page
ach ja, bitte noch den erledigt button drücken
kann ja passiern aber auf deine weise könnte man auch ne funktion machen naja
no wieso denn?
wenn er in einem befehl testen will, ob es einen beifahrer drin hat (z.B. /eject giveplayerid), dann kann er IsBeifahrer(giveplayerid) setzen, dann gibt er 1 zurück, wenn der andere Spieler der Beifahrer is
public IsBeifahrer(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleSeat(playerid) == 1) //1 = beifahrer
{
return 1;
}
}
}
so ausm kopf..
MFG
edit: falls die playerid net bekannt is:
public IsBeifahrer()
{
for(new i = 0; i > sizeof(MAX_PLAYERS);i++)
{
if(IsPlayerInAnyVehicle(i))
{
if(GetPlayerVehicleSeat(i) == 1)
{
return 1;
}
}
}
}
bringt einfach net viel
Alles anzeigenich scheck das net XD
dcmd_plattform(playerid, params[])
{
new
plattformen;
if (sscanf(params, "u", plattformen)) SendClientMessage(playerid, 0xFF0000AA, "Handhabung: \"/plattform <plattform>\"");
else if (plattformen > Max_Plattform ) SendClientMessage(playerid, 0xFF0000AA, "Plattform exisitiert nicht!");
else if (plattformen == 1)
{
SetObjectPos(Plattform[Objekt], Pos_X, Pos_Y, Pos_Z);
SetVehiclePos(Plattform[Fahrzeug], Pos_X, Pos_Y, Pos_Z+2); /* Soll ja draufstehen und nicht reingehen*/
SendClientMessage(playerid, 0x00FF00AA, "Plattform wird bewegt");
}
return 1;
}
wie machst du deine befehle? poste mal deinen befehl, um diese plattformen zu bewegen..
hmm ja doch kann sein, aber wenn man weiß wie setvehiclevelocity funzt un sich n bissl in mathe auskennt sollte das eig gehen xD
ich glaub ich muss mir das mit vehiclevelocity auch mal reinziehn hab kA wie das funzt und für was man das brauchen kann
Aber setvehiclepos is natürlich besser fürs erste
wenn er drauskommen würde
MFG
ähm, kann man das nicht mit setvehivlevelocity machen???
wär doch viel viel besser, vorallem weil es flüssiger ist.
Muss man nur überlegen wie man die berechnung macht.
MFG, Rob
denkst du nicht, das wär ein bisschen zu schwierig für einen anfänger?
und wenn ich mehrer machen will [0][1][2][3] oder?
ja, genau
MFG
nur beachte, das meins ressourcenlastiger ist wegen dem timer
aber was gibts an dem net zu checken? das einzige was du machen musst, ist die coords deiner plattformen und deiner helis bei
Plattform[Fahrzeug][1] = AddStaticVehicle(ID, X, Y, Z,A); //Helicoords
und
Plattform[Objekt][1] = CreateObject(ID, X, Y, Z,RX,RY,RZ); //Objectcoords
einzufügen..
MFG
Alles anzeigenSowürde es funktionieren ich würde es aber bei ner simplen Verschiebeaktion ohne Timer machen
#define Max_Plattform 3
enum Plattformcfg
{
Fahrzeug,
Objekt
}
new Plattform[Plattformcfg][Max_Plattform ];
/*Unter OnGameModeInit*/
Plattform[Fahrzeug][1] = AddStaticVehicle(ID, X, Y, Z,A);
Plattform[Fahrzeug][2] = AddStaticVehicle(ID, X, Y, Z,A);
....
Plattform[Objekt][1] = CreateObject(ID, X, Y, Z,RX,RY,RZ);
Plattform[Objekt][2] = CreateObject(ID, X, Y, Z,RX,RY,RZ);
...
/*Unter OnCommandText*/
dcmd(plattform,9, cmdtext);
dcmd_plattform(playerid, params[])
{
new
plattformen;
if (sscanf(params, "u", plattformen)) SendClientMessage(playerid, 0xFF0000AA, "Handhabung: \"/plattform <plattform>\"");
else if (plattformen > Max_Plattform ) SendClientMessage(playerid, 0xFF0000AA, "Plattform exisitiert nicht!");
else if (plattformen == 1)
{
SetObjectPos(Plattform[Objekt], Pos_X, Pos_Y, Pos_Z);
SetVehiclePos(Plattform[Fahrzeug], Pos_X, Pos_Y, Pos_Z+2); /* Soll ja draufstehen und nicht reingehen*/
SendClientMessage(playerid, 0x00FF00AA, "Plattform wird bewegt");
}
return 1;
}
hab ich mir auch überlegt direkt im befehl.
Komet: mach es genau so wie es Jason_Gregory gemacht hat. So sollte es am einfachsten sein.
wenn du ein bisschen ahnung hast vom scripten, dann sollte das hier net alzu schwer sein:
forward HeliTimer();
new object[1];
new heli[1];
public OnGameModeInit()
{
heli[0] = AddStaticVehicle(heliid, posx, posy, posz,angle);
object[0] = CreateObject(objectid,posx,posy,posz,rotationx,rotationy,rotationz);
SetTimer("HeliTimer",1000,1);
}
public HeliTimer()
{
new Float:posx,Float:posy,Float:posz;
GetObjectPos(object[0],posx,posy,posz);
SetVehiclePos(heli[0],posx,posy,posz);
}
bei heli[0] = und bei object[0] = gibst du die koords deines helis und deinem boden an...
mach es so wie ich dir vorgeschlagen habe...
mach für die objekte und helis je eine variable.