Jaja, immer wieder gerne
/closed
Jaja, immer wieder gerne
/closed
nur "ui" nicht "usi".
"usi", da müsstest du noch einen string mit einbauen
//EDIT: also so ist es richtig: if(sscanf(params,"ui",pID,HP))
Versuch mal die ausgebesserte Version.
if(newkeys == (KEY_SUBMISSION)) //Hangar 1
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, 288.3181,1956.3280,17.6406))
{
if ( !Hangar1Open[1] )
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geöffnet....!");
MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 12.539841079712, 1.5);
MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 12.539841079712, 1.5);
Hangar1Open[1] = 1;
PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
}
else
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geschlossen....!");
MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 19.639841079712, 1.5);
MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 19.639841079712, 1.5);
PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
Hangar1Open[1] = 0;
}
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.3075,1990.1865,17.6406))
{
if ( !Hangar2Open[1] )
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geöffnet....!");
MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 12.539841079712, 1.5);
MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 12.539841079712, 1.5);
Hangar2Open[1] = 1;
PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
}
else
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geschlossen....!");
MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 19.639841079712, 1.5);
MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 19.639841079712, 1.5);
PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
Hangar2Open[1] = 0;
}
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.1377,2023.5636,17.6406))
{
if ( !Hangar3Open[1] )
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geöffnet....!");
MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 12.539841079712, 1.5);
MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 12.539841079712, 1.5);
PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 12.539841079712);
Hangar3Open[1] = 1;
}
else
{
SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geschlossen....!");
MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 19.639841079712, 1.5);
MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 19.639841079712, 1.5);
PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 19.639841079712);
Hangar3Open[1] = 0;
}
return 1;
}
Sollte so gehen
Hab mal den Titel vom Thread geändert, damit ihr wisst, WAS jetzt los ist
Schonmal hier
HouseInfo[i][hExitx]
mit
HouseInfo[i][hEnterx]
usw. probiert?
Such mal auf Google: OnPlayerShootPlayer
Ich glaube, das ist die Include die du meinst.
Ich meine, wenn ich auf die samp-server.exe klicke
Also wenn ich meinen Home-SA:MP-Server starte.
Mittag Brotfischer...
Habe ein Problem und zwar, mein Server startet sich nicht mehr (Homeserver).
Es ist im Zusammenhang mit dem Dynamischen Fraktionsfahrzeugesystem von, ich glaube, [My]Kevin.
Wollte es umschreiben und wenn ich nun bei OnGameModeInit das LoadFractionCars(); reinmache, kommt nur noch das:
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3c R2, (C)2005-2011 SA-MP Team
[15:04:39] filterscripts = "" (string)
[15:04:39]
[15:04:39] Server Plugins
[15:04:39] --------------
[15:04:39] Loading plugin: sscanf
[15:04:39]
[15:04:39] ===============================
[15:04:39] sscanf plugin loaded.
[15:04:39] (c) 2009 Alex "Y_Less" Cole
[15:04:39] ===============================
[15:04:39] Loaded.
[15:04:39] Loading plugin: mysql
[15:04:39]
> MySQL plugin R5 successfully loaded.
[15:04:39] Loaded.
[15:04:39] Loaded 2 plugins.
[15:04:39]
[15:04:39] Ban list
[15:04:39] --------
[15:04:39] Loaded: samp.ban
[15:04:39]
[15:04:39]
[15:04:39] Filter Scripts
[15:04:39] ---------------
[15:04:39] Loaded 0 filter scripts.
[15:04:39] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!
Und einloggen kann ich mich auch nicht...
Hier meine Publics:
forward LoadFractionCars2();
public LoadFractionCars2()
{
new string[128];
new fc;while(fc<MAX_FRACTION_CARS)
{
format(string,sizeof(string),"%d",fc);
FractionCars[fc][fVehid] = mysql_GetInt("frakcars", "ModelID", "IDtoGet", string);
FractionCars[fc][fPos][0]= mysql_GetFloat("frakcars", "PosX", "IDtoGet", string);
FractionCars[fc][fPos][1]= mysql_GetFloat("frakcars", "PosY", "IDtoGet", string);
FractionCars[fc][fPos][2]= mysql_GetFloat("frakcars", "PosZ", "IDtoGet", string);
FractionCars[fc][fCol][0]= mysql_GetInt("frakcars", "Farbe1", "IDtoGet", string);
FractionCars[fc][fCol][1]= mysql_GetInt("frakcars", "Farbe2", "IDtoGet", string);
FractionCars[fc][fFraction] = mysql_GetInt("frakcars", "Fraktion", "IDtoGet", string);
FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
}
fc++;
return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
}
forward SaveFractionCars2();
public SaveFractionCars2()
{
new string[128];
new fc;while(fc<MAX_FRACTION_CARS)
{
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
{
format(string,sizeof(string),"%d",fc);
mysql_SetString("frakcars", "ModelID",FractionCars[fc][fVehid], "IDtoGet", string);
mysql_SetFloat("frakcars", "PosX",FractionCars[fc][fPos][0], "IDtoGet", string);
mysql_SetFloat("frakcars", "PosY",FractionCars[fc][fPos][1], "IDtoGet", string);
mysql_SetFloat("frakcars", "PosZ",FractionCars[fc][fPos][2], "IDtoGet", string);
mysql_SetString("frakcars", "Farbe1",FractionCars[fc][fCol][0], "IDtoGet", string);
mysql_SetString("frakcars", "Farbe2",FractionCars[fc][fCol][1], "IDtoGet", string);
mysql_SetString("frakcars", "Fraktion",FractionCars[fc][fFraction], "IDtoGet", string);
}
}fc++;
}
Was kann denn daran falsch sein?
Wenn es jemand hinbekommen hat oder so, kann er mir ja vielleicht das Ding einfach umschreiben.
Die Originalen Publics:
public LoadFractionCars(){
if(!fexist(Fraction_Car_File)){
new File:tfFile=fopen(Fraction_Car_File,io_write);
fclose(tfFile);
}
new File:fFile=fopen(Fraction_Car_File,io_read),Content[512],fc;
while(fread(fFile,Content)){
StripNewLine(Content);
sscanf(Content,"dffffddd",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
{
FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
//FractionCars[fc][fLock] = true;
fc++;
}
}
fclose(fFile);
return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
}
public SaveFractionCars(){
if(fexist(Fraction_Car_File)) fremove(Fraction_Car_File);
new File:fFile=fopen(Fraction_Car_File,io_append),Content[512];
new fc;while(fc<MAX_FRACTION_CARS){
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611){
format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d\r\n",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
fwrite(fFile,Content);
}fc++;
}return fclose(fFile);
}
//EDIT: Titel geändert
ne ich hab extra noch das IDtoGet gemacht, in der Table, weil ID ist ja wie bei den Spielern, eine ID, welche nicht verändert wird / werden darf was auch immer
Du ich hab schon extra neue stocks erstellt:
stock mysql_GetInt2(Table[], Field[], Where[], Is)
stock Float:mysql_GetFloat2(Table[], Field[], Where[], Is)
stock mysql_SetFloat2(Table[], Field[], Float:To, Where[], Where2)
Aber vielleicht muss ich ja extra "Namen" für die Fahrzeuge anglegen?
Jedoch blick ich nicht, wie das mit den namen funktioniert, einfach ein A für das erste, ein B fürs 2. aber wie soll ich das machen?
Das ist halt so ne Frage
Hab hier mal die publics... vielleicht könnt ihr damit ja was anfangen
forward LoadFractionCars2();
public LoadFractionCars2()
{
new fc;while(fc<MAX_FRACTION_CARS)
{
FractionCars[fc][fVehid] = mysql_GetInt2("frakcars", "ModelID", "IDtoGet", fc);
FractionCars[fc][fPos][0]= mysql_GetFloat2("frakcars", "PosX", "IDtoGet", fc);
FractionCars[fc][fPos][1]= mysql_GetFloat2("frakcars", "PosY", "IDtoGet", fc);
FractionCars[fc][fPos][2]= mysql_GetFloat2("frakcars", "PosZ", "IDtoGet", fc);
FractionCars[fc][fCol][0]= mysql_GetInt2("frakcars", "Farbe1", "IDtoGet", fc);
FractionCars[fc][fCol][1]= mysql_GetInt2("frakcars", "Farbe2", "IDtoGet", fc);
FractionCars[fc][fFraction] = mysql_GetInt2("frakcars", "Fraktion", "IDtoGet", fc);
FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
}
fc++;
return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
}
forward SaveFractionCars2();
public SaveFractionCars2()
{
new fc;while(fc<MAX_FRACTION_CARS)
{
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
{
mysql_SetInt("frakcars", "ModelID",FractionCars[fc][fVehid], "IDtoGet", fc);
mysql_SetFloat2("frakcars", "PosX",FractionCars[fc][fPos][0], "IDtoGet", fc);
mysql_SetFloat2("frakcars", "PosY",FractionCars[fc][fPos][1], "IDtoGet", fc);
mysql_SetFloat2("frakcars", "PosZ",FractionCars[fc][fPos][2], "IDtoGet", fc);
mysql_SetInt("frakcars", "Farbe1",FractionCars[fc][fCol][0], "IDtoGet", fc);
mysql_SetInt("frakcars", "Farbe2",FractionCars[fc][fCol][1], "IDtoGet", fc);
mysql_SetInt("frakcars", "Fraktion",FractionCars[fc][fFraction], "IDtoGet", fc);
}
}fc++;
}
Und hier noch die ORIGINALEN Publics, vielleicht wäre ja jemand so nett und könnte mir das umschreiben:
public LoadFractionCars(){
if(!fexist(Fraction_Car_File)){
new File:tfFile=fopen(Fraction_Car_File,io_write);
fclose(tfFile);
}
new File:fFile=fopen(Fraction_Car_File,io_read),Content[512],fc;
while(fread(fFile,Content)){
StripNewLine(Content);
sscanf(Content,"dffffddd",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
{
FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
//FractionCars[fc][fLock] = true;
fc++;
}
}
fclose(fFile);
return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
}
public SaveFractionCars(){
if(fexist(Fraction_Car_File)) fremove(Fraction_Car_File);
new File:fFile=fopen(Fraction_Car_File,io_append),Content[512];
new fc;while(fc<MAX_FRACTION_CARS){
if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611){
format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d\r\n",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
fwrite(fFile,Content);
}fc++;
}return fclose(fFile);
}
Beim 2. haste nur
new pass;
gemacht.
Da müsstest du
new pass[128]; machen
___________________________________________________________________________________________________________________________________________________
Frage von mir:
Ich habe versucht dieses Dynamische Fraktionsfahrzeuge System in mein Selfmade einzubauen.
Habe auch versucht dies auf MySQL umzuschreiben.
Jedoch startet sich jetzt der Server nicht mehr... muss ich eventuell für jedes Fahrzeug einen "Namen" geben? Damit er dies dann rausliest?
Grüße, Deadmau5.
Man ey. Das geht nicht
Bei mir speichert der nur den ersten User (mich) aber meine Kumpels nicht O.o
//EDIT: Achso dini
ok...
new Float:pLastX[MAX_PLAYERS],
Float:pLastY[MAX_PLAYERS],
Float:pLastZ[MAX_PLAYERS],
FineLoggedOut[MAX_PLAYERS];
public OnPlayerDisconnect(playerid)
{
new stringg[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(stringg,128,"LetzePosition_%s.ini",name);
GetPlayerPos(playerid,pLastX[playerid],pLastY[playerid],pLastZ[playerid]);
dini_FloatSet(stringg,"LastX",pLastX[playerid]);
dini_FloatSet(stringg,"LastY",pLastY[playerid]);
dini_FloatSet(stringg,"LastZ",pLastZ[playerid]);
dini_IntSet(stringg,"LoggedOut",1);
}
public OnPlayerConnect(playerid)
{
new stringg[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(stringg,128,"LetzePosition_%s.ini",name);
pLastX[playerid] = dini_FloatGet(stringg,"LastX");
pLastY[playerid] = dini_FloatGet(stringg,"LastY");
pLastZ[playerid] = dini_FloatGet(stringg,"LastZ");
FineLoggedOut[playerid] = dini_Int(stringg,"LoggedOut");
}
public OnPlayerSpawn(playerid)
{
if(FineLoggedOut[playerid] == 1)
{
SetPlayerPos(playerid,pLastX[playerid],pLastY[playerid],pLastZ[playerid]);
FineLoggedOut[playerid] = 0;
}
}
Richtige MySQL Version?
Er meint mich
Nein, ich mein ja nur.
GF ist GF, egal wie stark verändert
Posten darf man das LoH 1.0 etc. ja nicht, aber besitzen darf man es oder?
Weil: GF = Open Source = Frei nutzbar
schon den timer gesetzt?