Ich nutze derzeit keinen streamer aber das wo ich es kopiere erfordert einen streamer. Dann werde ich den mal zum einsatz kommen lassen
Beiträge von robbi2304
-
-
Ja das ist gewollt.
Ich ´kopier das aduty system gerade mal aus dem script was ich mal gekauft habe. Allerdings finde ich da nix wo ich es definieren kann
-
Hallo liebe Leute,
ich bräuchte mal wieder eure Hilfe. Ich würde gerne ein Aduty System erstellen was bis auf eine Kleinigkeit auch geklappt hat.
Ich bekomme bei diesem Code nun errors
switch(PlayerInfo[playerid][admin_level])
{
case 1: {aduty[playerid] = Create3DTextLabel("Supporter",0x7DFF00C7,30.0,40.0,50.0,20.0,.attachedplayer = playerid,.worldid = GetPlayerVirtualWorld(playerid),.interiorid = GetPlayerInterior(playerid)); SetPlayerColor(playerid,0x7DFF00C7);}
}
E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 017: undefined symbol "attachedplayer"
E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : warning 215: expression has no effect
E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 029: invalid expression, assumed zero
E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 017: undefined symbol "worldid"
E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : fatal error 107: too many error messages on one lineWie würde ich in dem Falle attachedplayer & worldid definieren ?
-
Hallo liebe Brotfische :D,
heute brauche ich mal ein paar Informationen wie es am besten sinn machen würde ein Haussystem so zu bearbeiten das ein Spieler sich am Ende einmieten kann.
Somit ist meine Frage wie speichere ich am besten die Mieter ab ?
Es sollen unendlich Menschen in das Haus einmieten können.
-
Okay so in der Art hatte ich es in vermutung. Vielen dank
-
Ah warum komm ich nicht selber auf die Idee das zu printen.
Ich hatte eine Abfrage zuviel in updateHaus(id)
wodurch der Fehler aufgetreten ist. Nun funktioniert es.
Danke für deine Mühe und Geduld mit mir @Jeffry
Eine Frage habe ich allerdings dazu noch, wie setze ich den Wert wieder auf 0 wenn er geupdatet hat ?
-
Ändere
cache_get_value_name(i, "besitzer", hInfo[id][h_besitzer]); //Float
zu:
cache_get_value_name(i, "besitzer", tmp_name); //StringOder alternativ:
cache_get_value_name(i, "besitzer", hInfo[id][h_besitzer], MAX_PLAYER_NAME); //String
und dann diese Zeile löschen:
strmid(hInfo[id][h_besitzer], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));Und:
new num_rows, hid, tmp_name[MAX_PLAYER_NAME], id;
zu:
new num_rows, hid, id;Habs so abgeändert wie von dir beschrieben. Allerdings bleiben die Errors. Ebenfalls updatet nur das erste Haus was er mit der id 1 in update 1 findet
Ich habe nun ebenfalls nochmal jetzt etwas geändert.
forward HausUpdate();public HausUpdate(){ mysql_pquery(handle, "SELECT * FROM haus WHERE update='1'","HausUpdat",""); return 1;}
Errors sind dadurch weg. Aber scheinbar mit der abfrage passt was nicht. Denn nun kann er nicht mehr updaten weil er vermtl die 1 nicht mehr findet.
Aber vielleicht kriegen wir das ja nochz hin
-
Ah, stimmt, habe ich übersehen.
Ändere in den Queries jeweils das
update
Zu
`update`Dann geht es.
Oder benenne die Spalte update um.Zwecks dem Fehler:
Bekommst du beim kompilieren Meldungen im Compiler?
forward HausUpdate();
public HausUpdate()
{
mysql_pquery(handle, "SELECT * FROM haus WHERE `update1` = 1", "HausUpdat","");
return 1;
}
[15:40:59] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:40:59] [debug] Stack pointer (STK) is 0xBF5B58, heap pointer (HEA) is 0xBF5C58
[15:40:59] [debug] AMX backtrace:
[15:40:59] [debug] #0 ???????? in public HausUpdat ()
[15:41:00] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:41:00] [debug] Stack pointer (STK) is 0xBF5B58, heap pointer (HEA) is 0xBF5C58
[15:41:00] [debug] AMX backtrace:
[15:41:00] [debug] #0 ???????? in public HausUpdat ()Beim Compilen läuft alles Richtig. Alles ohne Errors & Warnings
-
Ohja gibt er
[14:23:39] [plugins/mysql] error #1064 while executing query "SELECT * FROM haus WHERE update = 1": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'update = 1' at line 1 (E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn:2916)
Die spalte update ist in haus mit sicherheit drin
// Edit funktioniert fast.
Die Tabelle update ist für phpmyadmin reserviert wodurch ich diese nicht abrufen kann.
Nun kann ich die 1 bei den Häusern eintragen. Allerdings updatet er dann nur den ersten den er mit der 1 findet und nicht den 2.
Das wäre auch schön wenn er alle mal durchfragt und updatet
Hinzu bekomme ich nun folgendes in der Server.log angezeigt
[15:10:46] [MySQL] Verbindungsaufbau...
[15:10:47] [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1
[15:10:47] Number of vehicle models: 23
[15:10:49] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:10:49] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
[15:10:49] [debug] AMX backtrace:
[15:10:49] [debug] #0 ???????? in public HausUpdat ()
[15:10:52] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:10:52] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
[15:10:52] [debug] AMX backtrace:
[15:10:52] [debug] #0 ???????? in public HausUpdat ()
[15:10:53] [debug] Server received interrupt signal while executing beispiel.amx
[15:10:53] [debug] AMX backtrace:
[15:10:53] [debug] #0 native mysql_pquery () [5e92e710] from mysql.DLL
[15:10:53] [debug] #1 000388d4 in public HausUpdate () at E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn:2916
[15:10:53] [debug] System backtrace:
[15:10:53] [debug] #0 687108e1 in ?? () from E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\plugins\crashdetect.DLL
[15:10:53] [debug] #1 68712806 in ?? () from E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\plugins\crashdetect.DLL
[15:10:53] [debug] #2 7790347f in ?? () from C:\WINDOWS\System32\KERNELBASE.dll
[15:10:53] [debug] #3 77a462c4 in ?? () from C:\WINDOWS\System32\KERNEL32.DLL
[15:10:53] [debug] #4 77bc0719 in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
[15:10:53] [debug] #5 77bc06e4 in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
[15:10:53] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:10:53] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
[15:10:53] [debug] AMX backtrace:
[15:10:53] [debug] #0 ???????? in public HausUpdat () -
-
Was meinst du damit genau ?
-
User318@vps:~/sampserver/samp03$ ./samp03svr
-bash: ./samp03svr: No such file or directoryhat nix mit den Rechten zutun. Sondern das ihm libs fehlen.
-
Bleibt alles leider ohne Erfolg.
OnGameModeInit
SetTimer("HausUpdate",1000,true); // Häuser updaten
Code der von Timer abgefragt wird
forward HausUpdate();
public HausUpdate()
{
mysql_pquery(handle, "SELECT * FROM haus WHERE update = 1", "HausUpdat","");
return 1;
}forward HausUpdat();
public HausUpdat()
{
new num_rows, hid, tmp_name[MAX_PLAYER_NAME], id;
cache_get_row_count(num_rows);
if(!num_rows)return 1;
for(new i=0; i<num_rows; i++)
{
cache_get_value_name_int(i, "id", hid);
id=getHausID(hid);
if(id == -1) continue; //Haus existiert nicht
cache_get_value_name_float(i, "h_x", hInfo[id][h_x]); //Float
cache_get_value_name_float(i, "h_y", hInfo[id][h_y]); //Float
cache_get_value_name_float(i, "h_z", hInfo[id][h_z]); //Float
cache_get_value_name_float(i, "ih_x", hInfo[id][ih_x]); //Float
cache_get_value_name_float(i, "ih_y", hInfo[id][ih_y]); //Float
cache_get_value_name_float(i, "ih_z", hInfo[id][ih_z]); //Float
cache_get_value_name_int(i, "h_interior", hInfo[id][h_interior]); //Float
cache_get_value_name(i, "besitzer", hInfo[id][h_besitzer]); //Float
strmid(hInfo[id][h_besitzer], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));
cache_get_value_name_int(i, "h_preis",hInfo[id][h_preis]); //Float
updateHaus(id);
}
return 1;
} -
Gib mal in Putty oder deiner Shell Console folgendes ein
apt-get install ia32-libs
danach sollte es eigentlich funktionieren
-
Ich hatte einen Fehler im Code den ich hier nicht gepostet hatte der den Fehler verursacht hatte.
Einmal hier der aktuelle Code
forward HausUpdate(id);
public HausUpdate(id)
{
new query[128];
format(query,sizeof(query),"SELECT * FROM haus WHERE update = 1",id);
mysql_pquery(handle, query, "HausUpdat","",id);
print(query);
return 1;}
-
Würde ich sagen ja. Denn da kommt der Fehler zustande.
Ich vermute mal weil alle Spieler schon disconnected sind das er dir deswegen einen fehler anzeigt.
Also löschen und probieren
-
Sobald du den Befehl gmx eingibst, ruft er automatisch die OnPlayerDisconnect ab.
Hinzu speicherst du den Spieler erneut in OnGameModeExit()
-
Warum speicherst du den User denn beim neustart doppelt ?
-
Zeig mir mal bitte dien SpielerSpeichern
-
Zeig mir mal bitte dein
OnGameModeExit ()
Nope er hat den Fehler in OnGameModeExit
davon hab ich nix gesagt