Nein, daran liegs nicht. Hab mich nur hier eben gerade verschrieben, trotzdem danke.
Beiträge von Key
-
-
Nabend,
ich hab ein Autohaus-System in mein Script eingebaut, jedoch kann man jetzt nicht mehr auf den Server connecten.
Wenn ich die Zeile in OnPlayerGameModeInit "LoadCars();" rausnahme, funktioniert alles wieder.LoadFahrzeug Stock:
stock LoadCars()
{
new i;
new xx,tinstring[6];
for(; i<=MAX_CARS; i++) {
format(Car[i][owner], 24, "%s", mysql_GetStringWithInt("Cars", "owner", "id", i));
Car[i][x] = mysql_GetFloatWithInt("Cars", "x", "id", i);
Car[i][y] = mysql_GetFloatWithInt("Cars", "y", "id", i);
Car[i][z] = mysql_GetFloatWithInt("Cars", "z", "id", i);
Car[i][r] = mysql_GetFloatWithInt("Cars", "r", "id", i);
Car[i][c1] = mysql_GetIntWithInt("Cars", "c1", "id", i);
Car[i][c2] = mysql_GetIntWithInt("Cars", "c2", "id", i);
format(Car[i][plate], 20, "%s", mysql_GetStringWithInt("Cars", "plate", "id", i));
Car[i][model] = mysql_GetIntWithInt("Cars", "model", "id", i);
Car[i][price] = mysql_GetIntWithInt("Cars", "price", "id", i);
Car[i][car] = AddStaticVehicleEx(Car[i][model], Car[i][x], Car[i][y], Car[i][z], Car[i][r], Car[i][c1], Car[i][c2], -1);
SetVehicleNumberPlate(Car[i][car], Car[i][plate]);
//printf("i = %d, owner = %s, x = %f, y = %f, z = %f, r = %f, c1 = %d, c2 = %d, plate = %s, model = %d, price = %d, car = %d", i, Car[i][owner], Car[i][x], Car[i][y], Car[i][z], Car[i][r], Car[i][c1], Car[i][c2], Car[i][plate], Car[i][model], Car[i][price], Car[i][car]);
xx=1;
for(;xx!=18;xx++) format(tinstring,6,"mod%d",xx), Car[i][mod][xx] = mysql_GetIntWithInt("Cars", tinstring, "id", i);
AddTuning(i);
}
return 1;
}//edit LoadFahrzeuge zu LoadCars geändert
-
Hab das in mein Script eingebaut etc.
Alles hat funktioniert, den Server kann ich auch starten, aber ich kann nicht auf den Server connecten, der ist jetzt so, als wenn der Server off währe. Wenn ich oben bei OnGameModeInit "LoadCars();" kommentiere ( // LoadCars(); ) dann geht es. :OWoran kann das liegen?
-
Bei:
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
}
return 1;
}wird ja das was in der Datenbank steht in die Variable geschrieben, aber das Level des Spielers inGame muss man noch mit SetPlayerScore ändern, oder? Genauso auch mit dem Geld und dem Health.
-
#define MAX_AUTOS 100
Das hängt mit dem Autohaus zsm. -
Danke an euch, aber die Anwendung funktioniert trotzdem nicht.. :D.
stock GetPlayerKaufCar(playerid)
{
for(new i=0;i<MAX_AUTOS;i++)
{
if(strcmp(Spielername(playerid), PlayerAuto[i][vkey], true) == 0)
{
KaufCar[playerid] = i;
}
}
return 1;
}So sieht sie jetzt aus..
Vielleicht kann mir ja noch einer helfen.Ahja, PlayerAuto[vkey] ist der Name des Fahrzeugbesitzers & Spielername ist ja klar.
//edit: Ich hab die Anwendung mal zum Test beim Befehl reingemacht, und der zeigt immer an, das die FahrzeugID 1 ist, obwohl das nicht stimmt.
-
So?:
stock GetPlayerKaufCar(playerid)
{
for(new i=0;i<MAX_AUTOS;i++)
{
if(strcmp(Spielername(playerid),PlayerAuto[i][vkey], false, 5))
{
KaufCar[playerid] = i;
}
}
return 1;
} -
Ich versteh nicht, wieso ich hier ein Error bekommen .. :O
stock GetPlayerKaufCar(playerid)
{
for(new i=0;i<MAX_AUTOS;i++)
{
new namess[MAX_PLAYER_NAME];
GetPlayerName(playerid,namess,sizeof(namess));
if(Spielername(playerid) == PlayerAuto[i][vkey])
{
KaufCar[playerid] = i;
}
}
return 1;
}stock Spielername(playerid)
{
new xn[MAX_PLAYER_NAME];
GetPlayerName(playerid,xn,sizeof(xn));
return xn;
}Error: C:\Users\The Darkmen\Downloads\GTA SAN ANDREAS\GTA SAN ANDREAS\samp03e_svr_RC6_win32\gamemodes\Cobra.pwn(2501) : error 033: array must be indexed (variable "Spielername")
-
Taag..
Ich hab ein Problem, undzwar habe ich folgenden Code bei OnPlayerKeyStateChange:
else if (newkeys & (KEY_JUMP))
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
new car = GetPlayerVehicleID(playerid);
if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
{
SendClientMessage(playerid, COLOR_WARN, "Du sitzt auf einem Fahrrad. Das het keinen Motor!");
}
else if(Motor[car] == false)
{
GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
Motor[car] = true;
}
else
{
GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[car] = false;
}
}
}Jedoch, wenn ich jetzt Shift drücke, passiert nichts.
Wenn ich aber KEY_HANDBRAKE benutze, funktionierts. Ich möchte aber nicht das der Motor auf der Handbremse an/aus geht.Ich würde mich über Hilfe freuen!
//edit 1: Rechtschreibung
//edit 2: Der Motor wird stattdessen auf "S" (Rückwärts) gestartet -
Morgähn.
Ich wollte fragen, ob mir jemand für dieses: [ SCRIPTING ] Autohaus + Autokauf System Fahrzeugsys ein /lock und ein /parken Befehl machen kann. Währe sehr nett!P.S. Währe gut, wenn man bei /lock nicht im Auto sitzen muss.
-
Wenn ich das drin hab, startet mein Server nicht mehr :D.
-
Doch, doch ich benutz ein Enum.
meinst du so?:
stock LoadFahrzeug(playerid,vehicleid)
{
new Float:x,Float:y,Float:z,Float:angle, id;
new Fahrzeugdatei[64];
format(Fahrzeugdatei,sizeof(Fahrzeugdatei),"/Fahrzeuge/%s",SpielerName(playerid));
id = dini_Int(Fahrzeugdatei,"ID");
x = dini_Float(Fahrzeugdatei,"PositionX");
y = dini_Float(Fahrzeugdatei,"PositionY");
z = dini_Float(Fahrzeugdatei,"PositionZ");
angle = dini_Int(Fahrzeugdatei,"PositionAngle");
AutoInfo[vehicleid][fID]=CreateVehicle(id,x,y,z,angle,0,0,-1000);
return 1;
} -
Ja schon.. aber das Fahrzeug wird ja nicht bei OnGameModeInit erstellt, sondern beim Kaufen im Autohaus.
Unter OnGameModeInit hab ich:
LoadFahrzeug();
stock LoadFahrzeug(playerid)
{
new Float:x,Float:y,Float:z,Float:angle, id;
new Fahrzeugdatei[64];
format(Fahrzeugdatei,sizeof(Fahrzeugdatei),"/Fahrzeuge/%s",SpielerName(playerid));
id = dini_Int(Fahrzeugdatei,"ID");
x = dini_Float(Fahrzeugdatei,"PositionX");
y = dini_Float(Fahrzeugdatei,"PositionY");
z = dini_Float(Fahrzeugdatei,"PositionZ");
angle = dini_Int(Fahrzeugdatei,"PositionAngle");
CreateVehicle(id,x,y,z,angle,0,0,-1000);
return 1;
} -
Morgäähnn..
ich habe gerade mein Fahrzeugsystem angefangen und ein Autohaus erstellt. Bisher funktioniert eig. soweit alles.
Jetzt aber, möchte ich den /lock Befehl machen, damit soll man das Auto auch von außen abschließen können, dazu bräuchte ich jedoch die ID.
Diese könnt ich beim Autokauf zwar in die Fahrzeugdatei speichern, aber die ID ändert sich doch nach dem Restart oder nicht?Deshalb meine Frage: Wie finde ich die ID von meinem Fahrzeug heraus ( Wenn ich nicht drinsitze oder unbedingt danebenstehe! )
LG,
Key -
Ja, wahrscheinlich schon! Danke ;-).
-
Tagchen..
ich wollte fragen, wie ich nochmal den Fahrzeugtyp ( NICHT GetPlayerVehicleID ) herrausfinde.
Also ich will bei meinem Autohaus, dass das selbe Auto, in welches man einsteigt draußen gespawnt wird.LG,
Key -
Taag..
ich hab gerade in meinem Selfmade ein Fraksystem mit einer Fraktionskasse erstellt, jedoch wird nichts in die Datei gespeichert..mein Fraksys:
enum FInfo
{
Kasse
};
new FraktionsInfo[MAX_FRAKTION][FInfo];
LoadFraktion();//OnGameModeInit
FraktionSpeichern();//OnGamemodeExit
stock FraktionSpeichern()
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/SAPD.txt");
dini_IntSet(Fraktionsdatei,"Kasse",FraktionsInfo[1][Kasse]);
/*format(Fraktionsdatei,sizeof(Fraktionsdatei,"/Fraktionen/Army.txt");
dini_IntSet(Fraktionsdatei,"Kasse",FraktionsInfo[2][Kasse]);*/
return 1;
}stock LoadFraktion()
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/SAPD.txt");
FraktionsInfo[1][Kasse]=dini_Int(Fraktionsdatei,"Kasse");
/*format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/Army.txt");
FraktionsInfo[2][Kasse]=dini_Int(Fraktionsdatei,"Kasse");*/
return 1;
}
ocmd:fkasse(playerid,params[])
{
new fraktion, money;
new string[128];
if(GetPVarInt(playerid,"Leader") > 0)
{
if(sscanf(params,"i",money)) return SendClientMessage(playerid,Hellblau,"Benutzung: /fkasse [Betrag]");
if(GetPVarInt(playerid,"Leader") == 1){fraktion=1;}
FraktionsInfo[fraktion][Kasse]+=money;
GivePlayerMoney(playerid,-money);
format(string,sizeof(string),"Du hast %d€ in die Fraktionskasse getan!",money);
SendClientMessage(playerid,Hellblau,string);
return 1;
}
else{SendClientMessage(playerid,Hellblau,"Du bist kein Leader einer Fraktion.");}
return 1;
}Die Datei "SAPD.txt" hab ich selbst erstell unter /scriptfiles/Fraktionen/
//edit: Funktioniert jetzt! Hab den Server sonst immer übers "X " geschlossen, jetzt hab ich mal exit eingegeben & jetzt funzt es
-
Joar, schicke Funktionen.. soweit bin ich auch schon, nur an der Umsetzung scheiterts..
-
Tag..
ich habe gerade irgendwie ein Problem, welches eigentlich ziemlich leicht zu lösen sein sollte.
Wie kann ich überprüfen ob mein Name gleich Key ist, also zum Beispiel so, wie es in der Überschrift steht? -
Hast natürlich Recht, danke sehr.