Leider kann ich es nicht printen lassen, weil das Haussystem nicht mehr lädt.. Ich finde leider auch den Fehler grad nicht.
Beiträge von Mr.Pawn
-
-
Aber das ist doch standartgemäß extra auf -1. Es wird ja scheinbar auch nicht hochgesetzt, sodern lediglich auf 0 oder halt -1.
-
Guten Abend,
ich habe das Problem, dass ich einen Runtime Error bekomme, sodern ein Fahrzeug in der Garage steht.
command(garage, playerid, params[])
{
new Float:x, Float:y, Float:z, string[128], mainstring[2000];
GetPlayerPos(playerid, x, y, z);
for(new i=0;i<MAX_HAUS;i++){
if(HausInfo[i][h_erstellt] == 1){
if(IsPlayerInRangeOfPoint(playerid, 5.0, HausInfo[i][g_x], HausInfo[i][g_y], HausInfo[i][g_z])){
for(new ii=0;ii<3;ii++){
if(Spieler[playerid][pHaus][ii] == i){
//SetPVarInt(playerid, "Haussss", i);
//printf("Haussss = %d", GetPVarInt(playerid, "Haussss"));
if(IsPlayerInAnyVehicle(playerid)){
//ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_LIST, "Test", "Fahrzeug reinstellen","Weiter","Abbruch");
if(HausInfo[i][g_slot][0] == 0 && HausInfo[i][g_fahrzeug][0] == -1){
HausInfo[i][g_slot][0] = 1;
HausInfo[i][g_fahrzeug][0] = GetVehicleModel(GetPlayerVehicleID(playerid));
DestroyVehicle(GetPlayerVehicleID(playerid));
return 1;
}
else if(HausInfo[i][g_slot][1] == 0 && HausInfo[i][g_fahrzeug][1] == -1){
HausInfo[i][g_slot][1] = 1;
HausInfo[i][g_fahrzeug][1] = GetVehicleModel(GetPlayerVehicleID(playerid));
DestroyVehicle(GetPlayerVehicleID(playerid));
return 1;
}
else if(HausInfo[i][g_slot][2] == 0 && HausInfo[i][g_fahrzeug][2] == -1){
HausInfo[i][g_slot][2] = 1;
HausInfo[i][g_fahrzeug][2] = GetVehicleModel(GetPlayerVehicleID(playerid));
DestroyVehicle(GetPlayerVehicleID(playerid));
return 1;
}
}
else{
for(new g=0;g<3;g++){
if(HausInfo[i][g_slot][g] == 0 && HausInfo[i][g_fahrzeug][g] == -1){
format(string, sizeof(string), "Frei\n");
strcat(mainstring, string);
}
else if(HausInfo[i][g_slot][g] != 0 && HausInfo[i][g_fahrzeug][g] != -1){
format(string, sizeof(string), "%d - %s\n", HausInfo[i][g_fahrzeug][g], VehicleNames[GetVehicleModel(HausInfo[i][g_fahrzeug][g]) - 400]);
strcat(mainstring, string);
}
}
}
}
}
}
}
}
ShowPlayerDialog(playerid, DIALOG_GARAGE_RAUS, DIALOG_STYLE_LIST, "Test", mainstring, "Rausholen", "Abbruch");
return 1;
}
forward LoadHouseSystem();
public LoadHouseSystem()
{
new rows, fields, HouseText[250], content[120];
cache_get_data(rows, fields);
if(rows)
{
for(AktuelleHaus = 0; AktuelleHaus < rows; AktuelleHaus++)
{
HausInfo[AktuelleHaus][h_erstellt] = 1;
HausInfo[AktuelleHaus][h_owned] = cache_get_field_content_int(AktuelleHaus,"h_owned");
cache_get_field_content(AktuelleHaus,"h_besitzer", content);
format(HausInfo[AktuelleHaus][h_besitzer], 128, "%s", content);
HausInfo[AktuelleHaus][h_preis] = cache_get_field_content_int(AktuelleHaus,"h_preis");
HausInfo[AktuelleHaus][h_x] = cache_get_field_content_float(AktuelleHaus,"h_x");
HausInfo[AktuelleHaus][h_y] = cache_get_field_content_float(AktuelleHaus,"h_y");
HausInfo[AktuelleHaus][h_z] = cache_get_field_content_float(AktuelleHaus,"h_z");
HausInfo[AktuelleHaus][hk_x] = cache_get_field_content_float(AktuelleHaus,"hk_x");
HausInfo[AktuelleHaus][hk_y] = cache_get_field_content_float(AktuelleHaus,"hk_y");
HausInfo[AktuelleHaus][hk_z] = cache_get_field_content_float(AktuelleHaus,"hk_z");
HausInfo[AktuelleHaus][hr_x] = cache_get_field_content_float(AktuelleHaus,"hr_x");
HausInfo[AktuelleHaus][hr_y] = cache_get_field_content_float(AktuelleHaus,"hr_y");
HausInfo[AktuelleHaus][hr_z] = cache_get_field_content_float(AktuelleHaus,"hr_z");
HausInfo[AktuelleHaus][h_garage] = cache_get_field_content_int(AktuelleHaus,"h_garage");
HausInfo[AktuelleHaus][g_x] = cache_get_field_content_float(AktuelleHaus,"g_x");
HausInfo[AktuelleHaus][g_y] = cache_get_field_content_float(AktuelleHaus,"g_y");
HausInfo[AktuelleHaus][g_z] = cache_get_field_content_float(AktuelleHaus,"g_z");
HausInfo[AktuelleHaus][i_x] = cache_get_field_content_float(AktuelleHaus,"i_x");
HausInfo[AktuelleHaus][i_y] = cache_get_field_content_float(AktuelleHaus,"i_y");
HausInfo[AktuelleHaus][i_z] = cache_get_field_content_float(AktuelleHaus,"i_z");
HausInfo[AktuelleHaus][h_locked] = cache_get_field_content_int(AktuelleHaus,"h_locked");
HausInfo[AktuelleHaus][i_int] = cache_get_field_content_int(AktuelleHaus,"i_int");
HausInfo[AktuelleHaus][i_vw] = cache_get_field_content_int(AktuelleHaus,"i_vw");if(HausInfo[AktuelleHaus][h_garage] == 1){
HausInfo[AktuelleHaus][g_pickup] = CreateDynamicPickup(1239, 1, HausInfo[AktuelleHaus][g_x], HausInfo[AktuelleHaus][g_y], HausInfo[AktuelleHaus][g_z]);
}
if(HausInfo[AktuelleHaus][h_owned] == 0){
format(HouseText, sizeof(HouseText), "{FFFFFF} Diese Immobilie steht zum Verkauf.\nKosten: %d Euro\nZum Interagieren nutze\ndas Verkaufsschild", HausInfo[AktuelleHaus][h_preis]);
HausInfo[AktuelleHaus][h_text] = Create3DTextLabel(HouseText, COLOR_WHITE, HausInfo[AktuelleHaus][h_x], HausInfo[AktuelleHaus][h_y], HausInfo[AktuelleHaus][h_z], 10, 0);
HausInfo[AktuelleHaus][h_obj] = CreateObject(19470, HausInfo[AktuelleHaus][hk_x], HausInfo[AktuelleHaus][hk_y], HausInfo[AktuelleHaus][hk_z], HausInfo[AktuelleHaus][hr_x], HausInfo[AktuelleHaus][hr_y], HausInfo[AktuelleHaus][hr_z]);
}
else if(HausInfo[AktuelleHaus][h_owned] == 1){
format(HouseText,sizeof(HouseText),"{FFFFFF} Diese Immobilie steht nicht zum Verkauf.", HausInfo[AktuelleHaus][h_besitzer], AktuelleHaus);
HausInfo[AktuelleHaus][h_text] = Create3DTextLabel(HouseText, COLOR_WHITE, HausInfo[AktuelleHaus][h_x], HausInfo[AktuelleHaus][h_y], HausInfo[AktuelleHaus][h_z], 10, 0);
}
}
}
printf("[HAUSSYSTEM]: Es wurden %d Häuser geladen.", rows);
return 1;
}Fehler:
Aktuell wird leider auch nichts mehr geladen, also nichts mehr angezeigt im Spiel.
Der Fehler bei /garage wenn ein Fahrzeug drin ist:
Code[debug] Run time error 4: "Array index out of bounds" [debug] Accessing element at negative index -400 [debug] AMX backtrace: [debug] #0 0002ad60 in public cmd_garage (0, 13685620) from selfmade.amx [debug] #1 native CallLocalFunction () from samp-server.exe [debug] #2 00000720 in public OnPlayerCommandText (0, 13685588) from selfmade.amx
-
Wie nutzt man den UNIX Timestamp eig. richtig und für was ist dieser da ?
Man nutzt ihn ja z.B. für einen TimeBan oder sowas. Jedoch, wie nutzt man den ? Er gibt ja die Sekunden aus und keine Zeit oder sowas..
Bitte um kurze ErläuterungGrüße
-
Danke, die Frage wäre ja nur, weshalb es 0 ausgibt.
Mittlerweile kann ich nichtmal mehr ein Fahrzeug reinstelle, was zuvor ja noch ging.
-
So hab ich es jetzt und das Script sagt, Nein.
command(garage, playerid, params[])
{
new Float:x, Float:y, Float:z, string[128], mainstring[2000];
GetPlayerPos(playerid, x, y, z);
for(new i=0;i<MAX_HAUS;i++){
if(HausInfo[i][h_erstellt] == 1){
if(IsPlayerInRangeOfPoint(playerid, 5.0, HausInfo[i][g_x], HausInfo[i][g_y], HausInfo[i][g_z])){
for(new ii=0;ii<3;ii++){
if(Spieler[playerid][pHaus][ii] == i){
SetPVarInt(playerid, "Haussss", i);
if(IsPlayerInAnyVehicle(playerid)){
ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_LIST, "Test", "Fahrzeug reinstellen","Weiter","Abbruch");
}
else{
for(new g=0;g<3;g++){
if(HausInfo[i][g_slot][g] == 0 && HausInfo[i][g_fahrzeug][g] == 0){
format(string, sizeof(string), "Frei\n");
strcat(mainstring, string);
}
else if(HausInfo[i][g_slot][g] != 0 && HausInfo[i][g_fahrzeug][g] != 0){
format(string, sizeof(string), "%d - %s\n", HausInfo[i][g_fahrzeug][g], VehicleNames[GetVehicleModel(HausInfo[i][g_fahrzeug][g]) - 400]);
strcat(mainstring, string);
}
}
}
}
}
}
}
}
ShowPlayerDialog(playerid, DIALOG_GARAGE_RAUS, DIALOG_STYLE_LIST, "Test", mainstring, "Rausholen", "Abbruch");
return 1;
}Code[debug] Run time error 4: "Array index out of bounds" [debug] Accessing element at negative index -400 [debug] AMX backtrace: [debug] #0 0002ad60 in public cmd_garage (0, 13685620) from selfmade.amx [debug] #1 native CallLocalFunction () from samp-server.exe [debug] #2 00000720 in public OnPlayerCommandText (0, 13685588) from selfmade.amx
-
So funktioniert jetzt alles, eine Frage ist jedoch noch da. Im Dialog zeigt er mir nur eine Zeile an, ist da bei der Schleife was falsch wo es um das Fahrzeug geht ?
command(garage, playerid, params[])
{
new Float:x, Float:y, Float:z, string[128], mainstring[2000];
GetPlayerPos(playerid, x, y, z);
for(new i=0;i<MAX_HAUS;i++){
if(HausInfo[i][h_erstellt] == 1){
if(IsPlayerInRangeOfPoint(playerid, 5.0, HausInfo[i][g_x], HausInfo[i][g_y], HausInfo[i][g_z])){
for(new ii=0;ii<3;ii++){
printf("%d pHaus", Spieler[playerid][pHaus][ii]);
if(Spieler[playerid][pHaus][ii] == i){
if(IsPlayerInAnyVehicle(playerid)){
ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_LIST, "Test", "Fahrzeug reinstellen","Weiter","Abbruch");
}
else{
for(new g=0;g<3;g++){
if(HausInfo[i][g_slot][ii] == 0 && HausInfo[i][g_fahrzeug][ii] == 0){
format(string, sizeof(string), "Frei\n");
strcat(mainstring, string);
}
else if(HausInfo[i][g_slot][ii] != 0 && HausInfo[i][g_fahrzeug][ii] != 0){
format(string, sizeof(string), "%d - %s\n", HausInfo[i][g_fahrzeug][ii], VehicleNames[GetVehicleModel(HausInfo[i][g_fahrzeug][ii]) - 400]);
strcat(mainstring, string);
}
}
ShowPlayerDialog(playerid, DIALOG_GARAGE_RAUS, DIALOG_STYLE_LIST, "Test", string, "Rausholen", "Abbruch");
}
}
}
}
}
}
return 1;
} -
<p>
</p>Wieso sagt er mir immer, dass ich keine Befugnisse habe, trotz ich den Schlüssel ganz klar auf einen der pHaus Slots habe. pHaus wurde mit pHaus[3] erstellt.
command(garage, playerid, params[]){ new Float:x, Float:y, Float:z, string[128], mainstring[2000]; GetPlayerPos(playerid, x, y, z); for(new i=0;i<MAX_HAUS;i++){ if(HausInfo[i][h_erstellt] == 1){ printf("%d", i); if(IsPlayerInRangeOfPoint(playerid, 5.0, HausInfo[i][g_x], HausInfo[i][g_y], HausInfo[i][g_z])){ for(new ii=0;ii<3;ii++){ if(Spieler[playerid][pHaus][ii] == i){ if(IsPlayerInAnyVehicle(playerid)){ ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_LIST, "Test", "Fahrzeug reinstellen","Weiter","Abbruch"); } else{ for(new g=0;g<3;g++){ if(HausInfo[i][g_slot][ii] == 0 && HausInfo[i][g_fahrzeug][ii] == 0){ format(string, sizeof(string), "Frei\n"); strcat(mainstring, string); } else if(HausInfo[i][g_slot][ii] != 0 && HausInfo[i][g_fahrzeug][ii] != 0){ format(string, sizeof(string), "%d - %s\n", HausInfo[i][g_fahrzeug][ii], VehicleNames[GetVehicleModel(HausInfo[i][g_fahrzeug][ii]) - 400]); strcat(mainstring, string); } } ShowPlayerDialog(playerid, DIALOG_GARAGE_RAUS, DIALOG_STYLE_LIST, "Test", string, "Rausholen", "Abbruch"); } } } return SendClientMessage(playerid, -1, ""#SERVERF" Du hast keine Befugniss für diese Garage!"); } } } return 1;}
-
Wieso sagt er mir immer, dass ich keine Befugnisse habe, trotz ich den Schlüssel ganz klar auf einen der pHaus Slots habe. pHaus wurde mit pHaus[3] erstellt.
command(garage, playerid, params[])
{
new Float:x, Float:y, Float:z, string[128], mainstring[2000];
GetPlayerPos(playerid, x, y, z);
for(new i=0;i<MAX_HAUS;i++){
if(HausInfo[i][h_erstellt] == 1){
printf("%d", i);
if(IsPlayerInRangeOfPoint(playerid, 5.0, HausInfo[i][g_x], HausInfo[i][g_y], HausInfo[i][g_z])){
for(new ii=0;ii<3;ii++){
if(Spieler[playerid][pHaus][ii] == i){
if(IsPlayerInAnyVehicle(playerid)){
ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_LIST, "Test", "Fahrzeug reinstellen","Weiter","Abbruch");
}
else{
for(new g=0;g<3;g++){
if(HausInfo[i][g_slot][ii] == 0 && HausInfo[i][g_fahrzeug][ii] == 0){
format(string, sizeof(string), "Frei\n");
strcat(mainstring, string);
}
else if(HausInfo[i][g_slot][ii] != 0 && HausInfo[i][g_fahrzeug][ii] != 0){
format(string, sizeof(string), "%d - %s\n", HausInfo[i][g_fahrzeug][ii], VehicleNames[GetVehicleModel(HausInfo[i][g_fahrzeug][ii]) - 400]);
strcat(mainstring, string);
}
}
ShowPlayerDialog(playerid, DIALOG_GARAGE_RAUS, DIALOG_STYLE_LIST, "Test", string, "Rausholen", "Abbruch");
}
}
}
return SendClientMessage(playerid, -1, ""#SERVERF" Du hast keine Befugniss für diese Garage!");
}
}
}
return 1;
} -
Naja, mit einer "Bank" hat das eher weniger zutun. Das sieht eher aus wie.. Keine Ahnung, aufjendenfalls nicht wie eine Bank.
-
Nicht schlecht, gefällt mir.
-
Ja, war eben drauf, jedoch komm ich nicht vom Fleck, da man kein Geld mehr bekommt.
Aber was man bisher gesehen hat, gefällt mir sehr gut. -
Leider nein. Es war keiner auf dem Server. Es kam nur das die Verbindung aufgebaut wird und dann halt "Server didn't reponse.
-
Als ich gestern eine Verbindung aufbauen wollte, ist der Server gecrasht.. Lag das an mir oder an einem Scriptfehler?
-
Hab mir nen neues PC Set gegönnt.
https://www.amazon.de/gp/produ…age_o00_s00?ie=UTF8&psc=1
https://www.amazon.de/gp/produ…age_o00_s01?ie=UTF8&psc=1
https://www.amazon.de/gp/produ…age_o00_s01?ie=UTF8&psc=1Und fü die Arbeit etwas
https://www.amazon.de/gp/produ…age_o00_s01?ie=UTF8&psc=1 -
Ich möchte dir ja keine Vorurteile stellen,aber es liegt zu 100 Prozent an dir,dass dein Projekt nicht gut läuft.Ich persönlich zocke bei euch wegen einem gewissen Teammitglied nicht was denkt alles übernehmen zu können.
Ist leider so. Ihr habt euer letztes Projekt gegen die Wand gefahren und denkt(vielleicht) das es durch ein neues besser wird, niemals. Das Script ist einfach das gleiche, man kennt es.
B2T:
Es ist eher schleppend in meinen Augen. Überall wird gejammert. Die Deutschen sind eher die Meinung, 1000 kleine Server aufzubauen, statt einen großen. Mensch, dann macht man halt ein Script für Reallife und Roleplay. Verschiedene Welten und fertig. Aber aktuell ist es einfach so, dann es nur geflame gibt, egal bei welchem Server.Grüße
-
Wieso wird bei mir immer nur ein Object erstellt ?
forward LadeBlitzerSystem();
public LadeBlitzerSystem(){
new rows, fields, result[128], Blitzerr = 0;
cache_get_data(rows, fields);
if(rows){
while(Blitzerr < rows){
if(Blitzerr < MAX_BLITZER){
Blitzer[Blitzerr][b_x] = cache_get_field_content_float(0, "x");
Blitzer[Blitzerr][b_y] = cache_get_field_content_float(0, "y");
Blitzer[Blitzerr][b_z] = cache_get_field_content_float(0, "z");
Blitzer[Blitzerr][b_a] = cache_get_field_content_float(0, "a");
Blitzer[Blitzerr][b_gesch] = cache_get_field_content_int(0, "geschwindigkeit");
cache_get_field_content(0, "position", result);
format(Blitzer[Blitzerr][b_ort], 100, "%s", result);
if(Blitzer[Blitzerr][b_x] != 0.0){
Blitzer[Blitzerr][b_erstellt] = 1;
Blitzer[Blitzerr][b_obj] = CreateDynamicObject(18880,Blitzer[Blitzerr][b_x],Blitzer[Blitzerr][b_y],Blitzer[Blitzerr][b_z]-2.0,0.0,0.0,Blitzer[Blitzerr][b_a]+180);
}
Blitzerr++;
}
}
}
printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows);
return 1;
} -
Du machst den Apacheserver an, öffnest deinen Browser und gibst in der Adressleiste einfach "localhost/phpmyadmin" ein.
Oder du lädst dir einfach Navicat Lite runter, gibst die Datenbank Daten an und kannst dann ebenfalls drauf zugreifen. -
Die gelben Pfeile, oder was meinst du?
Nein, schon als normaler Checkpoints. Manche Server haben den normalen Checkpoints ungefähr in größte 2 vor Eingängen und auf der Karte wird dieser dann nicht angezeigt.
-
@Jeffry
Ich meinte, dass diese nicht als MapIcon angezeigt werden, sondern als normaler Checkpoint bspw vor einem Eingang.