Was genau meinst du mit Lagcheck?
mfg ![]()
Was genau meinst du mit Lagcheck?
mfg ![]()
Tag leute, möchte ein Login & Register System auf Java schreiben, bekomme es aber nicht die Methode Login aufzurufen.
Das ist meine Klasse/Methode:
class Login{
public void main(Player player, String Passwort){
File file = new File(Gamemode.get().getDataDir(), "accounts/" + player.getName() + ".ini");
try {
Ini ini = new Ini(new FileInputStream(file));
String pw = ini.get("Server", "password", String.class);
//ini.put("Server", "username", "Peter");
//ini.store(file);
if(pw.equals(Passwort)){
player.sendMessage("Das Passwort war richtig");
}
else {
player.sendMessage("Das Passwort war falsch");
InputDialog.create(player, eventManager, true)
.caption("Java - Login")
.buttonCancel("Verlassen")
.buttonOk("Weiter")
.message("Willkommen auf meinem Testserver, du hast einen Account")
.onClickOk((dialog, inputtext) -> {
// Login etc..
})
.onClickCancel(InputDialog -> {
player.sendMessage("Du hast den Vorgang abgebrochen");
Timer.create(250, i -> {
player.kick();
}).start();
})
.build()
.show();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Alles anzeigen

So probiere ich die Methode aufzurufen..
mfg ![]()
Habe mich nun entschieden mit Java Shoebill etwas herumzuspielen, marvin hat mir super geholfen via TV.
mfg ![]()
Ich habe gehört mysql_pquery soll schneller arbeiten da parallel. (Ob da irgendwas dran ist, weiß ich nicht)
mfg ![]()
new q[128],w;
format(q,sizeof q,"SELECT `ID`, `Status`, `Model` FROM `Playercars` WHERE `Owner` = '%s'",pInfo[playerid][pName]);
//mysql_format(dbHandle,q,sizeof q,"SELECT `ID`, `Status`, `Model` FROM `Playercars` WHERE `Owner` = '%e'",pInfo[playerid][pName]);
mysql_query(q);
mysql_store_result();
if(mysql_num_rows()) {
while(mysql_fetch_row(str)) {
w++;
new st,md,id;
sscanf(str,"p<|>ddd",id,st,md);
switch(w) {
case 1: {
PlayerTextDrawSetPreviewModel(playerid, Stats[29][playerid], md);
cStats[0][playerid] = id;
if(st == 1) { PlayerTextDrawBackgroundColor(playerid, Stats[29][playerid], 0x00D900FF); format(in,sizeof in,"%s~n~~g~Nicht Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[33][playerid], in); }
else if(st == 0) { PlayerTextDrawBackgroundColor(playerid, Stats[29][playerid], 0xFF0000FF); format(in,sizeof in,"%s~n~~r~Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[33][playerid], in); }
PlayerTextDrawShow(playerid, Stats[29][playerid]), PlayerTextDrawShow(playerid, Stats[33][playerid]);
}
case 2: {
PlayerTextDrawSetPreviewModel(playerid, Stats[30][playerid], md);
cStats[1][playerid] = id;
if(st == 1) { PlayerTextDrawBackgroundColor(playerid, Stats[30][playerid], 0x00D900FF); format(in,sizeof in,"%s~n~~g~Nicht Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[34][playerid], in); }
else if(st == 0) { PlayerTextDrawBackgroundColor(playerid, Stats[30][playerid], 0xFF0000FF); format(in,sizeof in,"%s~n~~r~Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[34][playerid], in); }
PlayerTextDrawShow(playerid, Stats[29][playerid]), PlayerTextDrawShow(playerid, Stats[33][playerid]), PlayerTextDrawShow(playerid, Stats[30][playerid]), PlayerTextDrawShow(playerid, Stats[34][playerid]);
}
}
}
}
mysql_free_result();
zu
new dbhandle; //Oben erstellen lassen
dbhandle = mysql_connect(host, user, data, pass, port, autoreconnect, pool); //Verbindungsaufbau
switch(mysql_errno(dbhandle)){
case false:{
// Verbindung steht
}
default: {
// Verbindung fehlt
}
}
mysql_format(dbhandle, q, sizeof q, "SELECT `ID`, `Status`, `Model` FROM `Playercars` WHERE `Owner` = '%e'", pInfo[playerid][pName]),
mysql_pquery(dbhandle, q, "LoadingModel", "i", playerid); //Query ausführen
//Callback
static LoadingModel(playerid);
public LoadingModel(playerid){
if(cache_get_row_count(dbhandle) > 0){
new w;
for(new i;i<cache_get_row_count(dbhandle);i++){
new st,md,id;
w++,
st = cache_get_field_content_int(i, "Status", dbhandle),
md = cache_get_field_content_int(i, "Model", dbhandle),
id = cache_get_field_content_int(i, "ID", dbhandle);
switch(w) {
case 1:{
PlayerTextDrawSetPreviewModel(playerid, Stats[29][playerid], md);
cStats[0][playerid] = id;
if(st == 1) { PlayerTextDrawBackgroundColor(playerid, Stats[29][playerid], 0x00D900FF); format(in,sizeof in,"%s~n~~g~Nicht Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[33][playerid], in); }
else if(st == 0) { PlayerTextDrawBackgroundColor(playerid, Stats[29][playerid], 0xFF0000FF); format(in,sizeof in,"%s~n~~r~Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[33][playerid], in); }
PlayerTextDrawShow(playerid, Stats[29][playerid]), PlayerTextDrawShow(playerid, Stats[33][playerid]);
}
case 2:{
PlayerTextDrawSetPreviewModel(playerid, Stats[30][playerid], md);
cStats[1][playerid] = id;
if(st == 1) { PlayerTextDrawBackgroundColor(playerid, Stats[30][playerid], 0x00D900FF); format(in,sizeof in,"%s~n~~g~Nicht Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[34][playerid], in); }
else if(st == 0) { PlayerTextDrawBackgroundColor(playerid, Stats[30][playerid], 0xFF0000FF); format(in,sizeof in,"%s~n~~r~Defekt",PlayerVehicle[md-400]); PlayerTextDrawSetString(playerid, Stats[34][playerid], in); }
PlayerTextDrawShow(playerid, Stats[29][playerid]), PlayerTextDrawShow(playerid, Stats[33][playerid]), PlayerTextDrawShow(playerid, Stats[30][playerid]), PlayerTextDrawShow(playerid, Stats[34][playerid]);
}
}
}
}
}
Orientiere dich mal an dem Quellcode.
mfg ![]()
Das liegt daran das bei resetPlayer deine Eingeloggt Variable auf 0 gesetzt wird und somit nicht gespeichert wird.
mfg ![]()

Ich habe mir "Full" Paket heruntergeladen.
mfg ![]()
So, wenn ich die startup Datei öffne, lädt er den Server aber von Java ist keine Spur.
ServerLOG:
ZitatAlles anzeigen
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3.7, (C)2005-2015 SA-MP Team
[16:37:03]
[16:37:03] Server Plugins
[16:37:03] --------------
[16:37:03] Loading plugin: Shoebill
[16:37:03] > Shoebill 1.1 NativePlugin for SA-MP 0.3.7 by MK124, JoJLlmAn & 123marvin123
[16:37:03] > Java VM has been created.
[16:37:10] > Shoebill has been initialized.
[16:37:10] Loaded.
[16:37:10] Loaded 1 plugins.
[16:37:10]
[16:37:10] Filterscripts
[16:37:10] ---------------
[16:37:10] Loading filterscript 'base.amx'...
[16:37:10] Loaded 1 filterscripts.
[16:37:10]
----------------------------------
[16:37:10] Bare Script
[16:37:10] ----------------------------------
[16:37:10] Number of vehicle models: 0
Java Quellcode:
package org.michael;
import net.gtaun.shoebill.resource.Gamemode;
/**
* Created by Michael on 05.06.2015.
*/
public class Test extends Gamemode {
@Override
protected void onEnable() throws Throwable {
//Entry Point
getLogger().info("Java ist hier am Werk");
}
@Override
protected void onDisable() throws Throwable {
}
}
Alles anzeigen

mfg ![]()
Bin gerade beim einrichten und wo ich den Gamemode "Kompilieren" wollte gibt er mir einen Fehler aus.

mfg ![]()
Ich fange jetzt damit an, wenn ich Probleme oder Fragen habe kann ich dann in diesem Thread oder Privat bei dir melden ?
mfg ![]()
Okay, was würdest du mir denn als IDE empfehlen?
Ich habe damals in Eclipse gearbeitet.
mfg ![]()
Also man könnte in Java ein kompletten Gamemode aufbauen und in manchen Aspekten arbeitet Java deutlich schneller als Pawn ?
mfg ![]()
ZitatDer größte Vorteil ist, das Java eine Objekt-Orientierte Programmiersprache ist.
Ich weiß immer noch nicht was mir das bringt.
mfg ![]()
Orientiere dich mal an dem Beispielcode:
GetVehiclePos(vid, x, y, z);
if(GetPlayerDistanceFromPoint(playerid, x, y, z) <distance){//er ist in der nähe}
mfg ![]()
Wenn ich mir das ganze so ansehen fällt mir gerad noch ein fehler auf.
Du musst bei der Funktion PlayerPlaySound noch deine Coords von deinem Tor einfügen.
Ist nicht zwingend, ist halt mehr oder weniger für die Position und Reichweite. (Man kann da aber genau so gut 0.0 eintragen)
mfg ![]()
Deine Art wird nicht Funktionieren.
1. Welches Enum?
2. Du hast vergessen sscanf o.ä zu verwenden.
3. Benutzt du da Variablen die du nicht mal erstellt hast, dein Quellcode würde nur Errors ausgeben.
mfg ![]()
Blackshadowscript:
Du redest viel zu viel um den Brei herum, er hat nicht gefragt wie man einen Befehl erstellt ob welche möglichkeiten es an Includes gibt. Er hat gefragt ob es möglich ist mit einem Befehl ein Objekt zu spawnen.
Dazu ist dein Befehl unbrauchbar, da der Quellcode fehlerhaft ist. Möchte dich auch gar nicht anfeinden aber wie ich sehe verbreitest du sehr viel Halbwissen in Threads, deswegen weise ich dich mal drauf hin dass du fixiert darauf achtest, weil irgendeinen Quatsch dort hinschreiben und dann Jeffry zur Korrektur holen geht echt nicht, das grenzt schon an Spam.
Korrektur des Commands (Beispielcode)
ocmd:obj(playerid, params[])
{
new val;
if(sscanf(params,"i",val))return SendClientMessage(playerid, -1, "benutze: /obj [id]");
new Float:pPos[3];
GetPlayerPos(playerid, oPos[0], oPos[1], oPos[2]),
SerPVarInt(playerid, "obj.create.id", CreateObject(...));
return 1;
}
#Handy
mfg ![]()
Schau mal bitte in die samp.ban Datei, dort entfernst du mal alle Einträge, speicherst es und der Fehler sollte nicht mehr auftauchen.
//E: Wie sieht dein Kickbefehl aus? Verwendest du zufällig dort die Funktion Ban()?
Als Hinweis für dich, wenn die Funktion Ban() zum einsatz kommt, dann steht dort nicht "Server Closed the connecting" sondern "You are banned from the Server".. ![]()
#Handy
mfg ![]()