Ganz normal
Autohaustur[0]=CreateObject(19325,335.9680, -1817.8234, 4.2062, 90.0000, 0.0000, 90.0000);
Autohaustur[1]=CreateObject(19325,331.8420, -1817.8234, 4.2062, 90.0000, 0.0000, 90.0000);
Ganz normal
Autohaustur[0]=CreateObject(19325,335.9680, -1817.8234, 4.2062, 90.0000, 0.0000, 90.0000);
Autohaustur[1]=CreateObject(19325,331.8420, -1817.8234, 4.2062, 90.0000, 0.0000, 90.0000);
Danke erstmal für die schnellen Antworten
aber was Habe ich falsch gemacht ?
die türen bleiben einfach zu
new bool:found;
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(IsPlayerConnected(p))
{
if(IsPlayerInRangeOfPoint(p,6,333.9550,-1817.5682,4.3028))
{
found = true;
break;
}
static bool:open;
if(found && !open)
{
MoveObject(Autohaustur[0],339.0850, -1817.8234, 4.2062,5);
MoveObject(Autohaustur[1],328.7200, -1817.8234, 4.2062,5);
open = true;
}
else if(!found && open)
{
MoveObject(Autohaustur[0],335.9680, -1817.8234, 4.2062,5);
MoveObject(Autohaustur[1],331.8420, -1817.8234, 4.2062,5);
open = false;
}
Habe das jetzt bei meinem Speedo timer reingemacht
Hallo ich möchte diese Türen automatisch öffnen lassen sobald ein Spieler in der Nähe ist und sie sollen Schließen wenn keiner mehr in der Nähe ist.
Dachte es wäre total einfach und habe es so probiert
for(new p = 0; p < MAX_PLAYERS; p++){if(IsPlayerConnected(p)){if(IsPlayerInRangeOfPoint(p,6,333.9550,-1817.5682,4.3028)){MoveObject(Autohaustur[0],339.0850, -1817.8234, 4.2062,5);MoveObject(Autohaustur[1],328.7200, -1817.8234, 4.2062,5);}else{MoveObject(Autohaustur[0],335.9680, -1817.8234, 4.2062,5);MoveObject(Autohaustur[1],331.8420, -1817.8234, 4.2062,5);}
Wenn nur ein Spieler on ist klappt das auch super aber sobald mehre Spieler on kommen sucht er sich irgendein spieler aus wo es Funktioniert und bei alle anderen bleibt die tür einfach zu
Hey
ich habe ein neues Problem wo ich jetzt schon seit stunden dran sitze
es ist bestimmt sau simmple aber ich komme nicht auf die Lösung
also:
ich bin dabei ein /lock befehl zu machen klappt soweit auch. Bisauf wenn ich nicht mehr im Radius von einem Fahrzeug bin gibt er mir eine Meldung Unknow Command
wäre schön wenn mal einer rüber gucken könnte
ocmd:lock(playerid,params[])
{
if(AFK[playerid] ==1)return SendClientMessage(playerid,0xFFFFFFFF,"{4F50FF}[AFK-Modus] {FFFFFF}Du kannst im AFK-Modus keine Befehle nutzen!");
if(sInfo[playerid][tot]==1)return SendClientMessage(playerid,0xFFFFFFFF,"{FF3533}[Tot] {FFFFFF}Du kannst im Tot keine Befehle nutzen!");
new string[110],Float:X,Float:Y,Float:Z;
for(new y = 0; y < MAX_VEHICLES; y++)
{
GetVehiclePos(admincar[y],X,Y,Z);
if(IsPlayerInRangeOfPoint(playerid,3,X,Y,Z))
{
if(!isPlayerAdmin())continue;
{
new model = GetVehicleModel(admincar[y]);
if(Lock[admincar[y]]==1)
{
Lock[admincar[y]]=0;
GetVehicleParamsEx(admincar[y],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(admincar[y], engine, lights, alarm, 0, bonnet, boot, objective);
format(string,sizeof(string),"~g~%s~n~~w~aufgeschlossen",FahrzeugNamen[model-400]);
GameTextForPlayer(playerid,string,2000,3);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPlayerVehicleID(playerid) == GetPlayerVehicleID(i))
{
if(GetPlayerVehicleSeat(i) == 0)
{
TextDrawColor(Tur[i], 0x00B40AFF);
TextDrawShowForPlayer(i, Tur[i]);
TextDrawColor(Tur2[i], 0x00B40AFF);
TextDrawShowForPlayer(i, Tur2[i]);
}
}
}
return 1;
}
else if(Lock[admincar[y]]==0)
{
Lock[admincar[y]]=1;
GetVehicleParamsEx(admincar[y],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(admincar[y], engine, lights, alarm, 1, bonnet, boot, objective);
format(string,sizeof(string),"~r~%s~n~~w~abgeschlossen",FahrzeugNamen[model-400]);
GameTextForPlayer(playerid,string,2000,3);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPlayerVehicleID(playerid) == GetPlayerVehicleID(i))
{
if(GetPlayerVehicleSeat(i) == 0)
{
TextDrawColor(Tur[i], 0xC50000FF);
TextDrawShowForPlayer(i, Tur[i]);
TextDrawColor(Tur2[i], 0xC50000FF);
TextDrawShowForPlayer(i, Tur2[i]);
}
}
}
return 1;
}
}
}
continue;
}
for(new y = 0; y < MAX_VEHICLES; y++)
{
GetVehiclePos(aInfo[y][aid],X,Y,Z);
if(IsPlayerInRangeOfPoint(playerid,3,X,Y,Z))
{
if(sInfo[playerid][id]!=aInfo[y][besitzer])continue;
{
new model = GetVehicleModel(aInfo[y][aid]);
if(Lock[aInfo[y][aid]]==1)
{
new query[300];
Lock[aInfo[y][aid]]=0;
format(query,sizeof(query),"UPDATE autos SET locked='0' WHERE id='%i'",aInfo[y][db_id]);
mysql_function_query(dbhandle,query,false,"","");
GetVehicleParamsEx(aInfo[y][aid],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(aInfo[y][aid], engine, lights, alarm, 0, bonnet, boot, objective);
format(string,sizeof(string),"~g~%s~n~~w~aufgeschlossen",FahrzeugNamen[model-400]);
GameTextForPlayer(playerid,string,2000,3);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInVehicle(i,aInfo[y][aid]))
{
if(GetPlayerVehicleSeat(i) == 0)
{
TextDrawColor(Tur[i], 0x00B40AFF);
TextDrawShowForPlayer(i, Tur[i]);
TextDrawColor(Tur2[i], 0x00B40AFF);
TextDrawShowForPlayer(i, Tur2[i]);
}
}
}
return 1;
}
else if(Lock[aInfo[y][aid]]==0)
{
new query[300];
Lock[aInfo[y][aid]]=1;
format(query,sizeof(query),"UPDATE autos SET locked='1' WHERE id='%i'",aInfo[y][db_id]);
mysql_function_query(dbhandle,query,false,"","");
GetVehicleParamsEx(aInfo[y][aid],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(aInfo[y][aid], engine, lights, alarm, 1, bonnet, boot, objective);
format(string,sizeof(string),"~r~%s~n~~w~abgeschlossen",FahrzeugNamen[model-400]);
GameTextForPlayer(playerid,string,2000,3);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInVehicle(i,aInfo[y][aid]))
{
if(GetPlayerVehicleSeat(i) == 0)
{
TextDrawColor(Tur[i], 0xC50000FF);
TextDrawShowForPlayer(i, Tur[i]);
TextDrawColor(Tur2[i], 0xC50000FF);
TextDrawShowForPlayer(i, Tur2[i]);
}
}
}
return 1;
}
}
}
}
return 1;
}
habe schon versucht es kompakter zu gestallten aber weiß nicht genau wie.Weil einmal habe ich ja die Admin Fahrzeuge und einmal die SpielerFahrzeuge
habe schon versucht bei IsPlayerInRangeOfPoint ein continue; einzusetzten aber denn verschließt er die Fahzeuge wieder nicht
also ich hoffe echt mir kann einer Helfen
Danke
Okay danke aber warum sollte id -1 sein ?
Oder gibt ein eine Möglickeit die Letzte Fahrzeug id abzufragen ?
also wenn man ein Fahrzeug erstellt kann man ja mit GetVehicleID herausfinden wie die ID lautet. kann man jetzt auch abfragen wie die letzte id von alles Fahrzeugen ist ?
PlayerCar[???]=CreateVehicle(Buycars[Cars[playerid]][modelid],2148.3618,-1138.3479,25.1614,270.5389,SuchtFarbe[playerid],SuchtFarbe2[playerid],0);
PlayerCar ist mit MAX_VEHICLES definiert
aber ich weiß nicht genau was ich da eintragen soll deswegen
Ich will ein Fahrzeug mit der letzten id +1 bezeichnen deswegen habe ich eine Tabelle wo ich alle Fahrzeuge drin habe und jetzt will ich wissen wie die letzte Fahrzeug id ist und die setzte ich dem denn Fahrzeug weisst du ??
Wie Frage ich ab welche Id die letzte in der Tabelle ist ?
Bei der Tabelle gehen die ID automatisch weiter
Danke dir
Danke @Jeffry
Funktioniert einwandfrei
Jetzt noch eine kleine Frage
Wie frage ich noch mal ab ob mindestens 4Buchstaben oder zahlen in ein Dialog input eingetragen wurden ?
Ja aber er müsste mir ja den als Nachricht wenigstens die Anzahl anzeigen
Kommt aber nix
Warum ?
ocmd:drogenkaufen(playerid, params[])
{
new query[250],samenan,string[126];
if(sInfo[playerid][inventar]==0)return SendClientMessage(playerid,Weiss,"Du besitzt kein Rucksack! Besorge dir eins im 24/7");
if(IsPlayerInRangeOfPoint(playerid,5,-1438.7542,-1543.4083,101.7578))
{
format(query,sizeof(query),"SELECT COUNT(besitzer) FROM hanf WHERE besitzer = '%s') ",SpielerName(playerid));
mysql_function_query(dbhandle,query,true,"Drogenanzahl","i",playerid);
if(sscanf(params,"i",samenan))return SendClientMessage(playerid,Weiss,"Benutzung: /drogenkaufen [anzahl drogensamen]");
{
if(sInfo[playerid][samen]+samenan<=maxdrogen[playerid])
ich habe es jetzt in meinem Befehl
public Drogenanzahl(playerid)
{
new num_fields,num_rows,query[250];
cache_get_data(num_rows, num_fields, dbhandle);
new anzahl = cache_get_row_int(0, 0);
format(query,sizeof(query),"%i",anzahl);
SendClientMessage(playerid,Weiss,query);
for(new i=0; i<num_rows; i++)
{
}
return 1;
}
erstmal nur als test, muss das"anzahl" in die schleife rein ?
Mit einem Format den du in eine Message packst Die an die pID geht
Hast du einen sekündlichen Timer ?
Wenn ja würde ich es so machen
Würde das Abfragen ob der Trailer abgekoppelt ist und wenn er es ist ein settimerex erstellen der ihn dann spawnt
Wenn er angehangen wird löscht du den Timer wieder und alles bleibt so wie es ist
Danke dir
Mach mal
else{format(string,sizeof(string),"%s: %s (Nr.: %d) [ID:%d]",GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr],i);}
Zu
else{format(string,sizeof(string),"%s%s: %s (Nr.: %d) [ID:%d]\n",string,GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr],i);}
Und
[list=1][*] for(new i=0; i<MAX_PLAYERS; i++)
[*] {
[*] if(IsPlayerConnected(i) && !IsPlayerNPC(i))
[*] {
[*] if(GetPVarInt(i,"eingeloggt") == 1)
[*] {
[*] if(isPlayerInFrakt(i,sInfo[playerid][pFraktion]))
[*] {
[*] if(istafk[i]==1){format(string,sizeof(string),"%s: %s (Nr.: %d) | AFK-Modus",GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr]);}
[*] else{format(string,sizeof(string),"%s: %s (Nr.: %d) [ID:%d]",GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr],i);}
[*] //SendClientMessage(playerid,GELB2,string);
[*] ShowPlayerDialog(playerid, DIALOG_SONSTIGES, DIALOG_STYLE_MSGBOX, "{FFFFFF}Mitglieder Online", string, "Ok","");
[*] }
[*] }
[*] }
[*] }
[/list]
Zu
[list=1][*] for(new i=0; i<MAX_PLAYERS; i++)
[*] {
[*] if(IsPlayerConnected(i) && !IsPlayerNPC(i))
[*] {
[*] if(GetPVarInt(i,"eingeloggt") == 1)
[*] {
[*] if(isPlayerInFrakt(i,sInfo[playerid][pFraktion]))
[*] {
[*] if(istafk[i]==1){format(string,sizeof(string),"%s: %s (Nr.: %d) | AFK-Modus",GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr]);}
[*] else{format(string,sizeof(string),"%s: %s (Nr.: %d) [ID:%d]",GetFrakRangName(i),SpielerName(i),sInfo[i][pHandyNr],i);}
[*] //SendClientMessage(playerid,GELB2,string);
[*]
[*] }
[*] }
[*] }
[*] }
[*]ShowPlayerDialog(playerid, DIALOG_SONSTIGES, DIALOG_STYLE_MSGBOX, "{FFFFFF}Mitglieder Online", string, "Ok","");
[/list]
Hallo ist zwar schon ein Bissen her mit dem Thema aber hätte einer die
IsValidDate Abfrage da ?
Bräuchte mal den Stock
Guten Abend ich möchte in meinem Spawnvehicle befehl es verhindern wenn ein Trailer angekoppelt ist das er dann spawn
wie mach ich das am besten ?
for(new v=0; v<MAX_VEHICLES; v++)
{
if(!IsVehicleEmpty(v))continue;
{
SetVehicleToRespawn(v);
}
}
Ne wie sollte die abfrage aussehen