Wurde hier schonmal gefragt ... Bitte die SUFU benutzen
Beiträge von Julian
-
-
Okay also Natic der Primäre fehler liegt darin das du die Client info Fetchen möchtest... in dem Du die Methode getInvokerId() benutzt ...
Damit holst du die Id vom Aufrufer ... Du möchtest aber den User checken das geht mit getClienId()
Guck einfach beim Unten beiliegen Beispiel
Ich lade einmal die Komplette richtige .java Datei hoch
Trozdem würde ich dir drigends Empfehlen nach den Javakonventionen zu Programmieren...
Das kannst du so nicht tuen!
Code
Alles anzeigen@Override public void onClientJoin(ClientJoinEvent e) { Client c = load.api.getClientInfo(e.getInvokerId()); { if(c.isInServerGroup(52)) { load.api.sendPrivateMessage(c.getId(), "Hello Staff-Member, have a nice Day!"); } else { load.api.addClientToServerGroup(29, c.getDatabaseId()); load.api.sendPrivateMessage(c.getId(), "Hello Player, if you will write !msg, you get the No-Message Role"); } } }
So steht es bei dir und so wäre es Falsch...
Ausserdem Schreibt man Klassen Groß
So wäre es richtig
Code
Alles anzeigen@Override public void onClientJoin(ClientJoinEvent e) { Client c = Load.api.getClientInfo(e.getClientId()); { if(c.isInServerGroup(52)) { Load.api.sendPrivateMessage(c.getId(), "Hello Staff-Member, have a nice Day!"); } else { Load.api.addClientToServerGroup(29, c.getDatabaseId()); Load.api.sendPrivateMessage(c.getId(), "Hello Player, if you will write !msg, you get the No-Message Role"); } } }
Code
Alles anzeigenpackage data.main; import com.github.theholywaffle.teamspeak3.TS3Api; import com.github.theholywaffle.teamspeak3.api.event.*; import com.github.theholywaffle.teamspeak3.api.wrapper.Client; import com.github.theholywaffle.teamspeak3.TS3Config; import com.github.theholywaffle.teamspeak3.TS3Query; public class load { public static TS3Api api; public static TS3Config cfg = new TS3Config(); public static TS3Query qry = new TS3Query(cfg); public static void main(String[] args) { try { cfg.setHost("91.200.100.200"); qry.connect(); api = qry.getApi(); api.selectVirtualServerByPort(9987); api.login("serveradmin", ""); api.setNickname("Community-Bot"); System.out.println("Der Bot ist gestartet"); } catch (Exception e) { System.out.println("Die Verbindung konnte nicht hergestellt werden!");; } api.registerAllEvents(); api.addTS3Listeners(new TS3Listener() { @Override public void onTextMessage(TextMessageEvent e) { Client c = load.api.getClientInfo(e.getClientId()); if(e.getMessage().equalsIgnoreCase("!msg")); { if(c.isInServerGroup(29)) { load.api.removeClientFromServerGroup(29, c.getDatabaseId()); load.api.sendPrivateMessage(c.getId(), "We removed the group!"); } else { load.api.addClientToServerGroup(29, c.getDatabaseId()); load.api.sendPrivateMessage(c.getId(), "The Server added you to the group!"); } } } @Override public void onServerEdit(ServerEditedEvent e) { System.out.println("Server edited by " + e.getInvokerName()); } @Override public void onClientMoved(ClientMovedEvent e) { System.out.println("Client has been moved " + e.getClientId()); } @Override public void onClientLeave(ClientLeaveEvent e) { // ... } @Override public void onClientJoin(ClientJoinEvent e) { Client c = load.api.getClientInfo(e.getClientId()); { if(c.isInServerGroup(52)) { load.api.sendPrivateMessage(c.getId(), "Hello Staff-Member, have a nice Day!"); } else { load.api.addClientToServerGroup(29, c.getDatabaseId()); load.api.sendPrivateMessage(c.getId(), "Hello Player, if you will write !msg, you get the No-Message Role"); } } } @Override public void onChannelEdit(ChannelEditedEvent e) { // ... } @Override public void onChannelDescriptionChanged(ChannelDescriptionEditedEvent e) { // ... } @Override public void onChannelCreate(ChannelCreateEvent e) { } @Override public void onChannelDeleted(ChannelDeletedEvent e) { // ... } @Override public void onChannelMoved(ChannelMovedEvent e) { } @Override public void onChannelPasswordChanged(ChannelPasswordChangedEvent e) { // ... } @Override public void onPrivilegeKeyUsed(PrivilegeKeyUsedEvent e) { Client c = load.api.getClientInfo(e.getClientId()); load.api.sendPrivateMessage(c.getId(), "\r\n" + "INFO: The Server added you to a group. "); } }); } }
Schönen Abend noch
-
Nimm das Shinji Tool und bau es selber Schnell
ist immer einfach
-
Was genau ist dieses load ? ist das ne eigene Klasse ? oder was ist das ?
EDIT:
Ich bin Blind xD Die eigene Klasse heisst so
Was nicht unbedingt nötig ist ..
das du immer load. und dann weiter gehst das einfache ansprechen der API mit api. geht auch ohne Probleme
-
Hat schon jemand die Textgröße des Geldes angepasst, die icons weggemacht und es richtig positioniert?
was Genau meinst du meinst du die Schrift entfernt die als Beispiel dort steht ?
-
An der Extdb kann es nicht mehr liegen
Und da ist der Fehler
Code
Alles anzeigen16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Attempt to override final function - bis_fnc_endmission 16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Mission id: adb23831433cc545b3b6e711212dda429052aea6 16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:47 Error position: <[] execVM "core\init.sqf"; > 16:02:47 Error Fehlendes ; 16:02:47 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:47 Fresnel k must be >0, given n=2.51,k=0 16:02:48 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:48 Error position: <[] execVM "core\init.sqf"; > 16:02:48 Error Fehlendes ; 16:02:48 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:48 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:48 Error position: <[] execVM "core\init.sqf"; > 16:02:48 Error Fehlendes ; 16:02:48 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:48 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:48 Error position: <[] execVM "core\init.sqf"; > 16:02:48 Error Fehlendes ; 16:02:48 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19 16:02:48 Error in expression <gs" >> "spyGlass_toggle") isEqualTo 1) [] execVM "core\init.sqf"; > 16:02:48 Error position: <[] execVM "core\init.sqf"; > 16:02:48 Error Fehlendes ; 16:02:48 File mpmissions\__CUR_MP.Altis\initPlayerLocal.sqf, line 19
Einmal bitte durchschauen
Was da Falsch sein könnte
Fehlt nen ; irgendwo...
-
Das Stimmt so extdb Führt Commands aus ...
Schick mal den Server und client Log... Bitte erst einmal connecten
-
Schick nochmal bitte den Log
-
Benutzt ihr auch extdb 3 die neuste version ?
-
Hast du es einfach mal mit nem Hint versucht ? einfach mal gucken was da geschieht oder ob der soweit überhaupt kommt ?
-
Du hast die extDB config aber schon verstanden? Du weißt was example heißt und das du vlt den Namen der connection anpassen solltest?
Das war das beste was ich je gehört habe zum Thema Extdb xD danke für den Lacher
-
Variable++
Würde ich behaupten
-
Kommt drauf an wie viele Clan sierene man hat
-
Einfacher wäre es wenn du es einfach in den KyeyHandler packst
Code
Alles anzeigen//Ö Key case 39: { if(playerSide in [civilian] && license_civ_deinelicense && vehicle player != player && !life_siren_active && ((driver vehicle player) == player) && typeOf vehicle player != "Steerable_Parachute_F" ) then { [] spawn { life_siren_active = true; sleep 30; life_siren_active = false; }; _veh = vehicle player; titleText ["Clan-Sirene ausgelöst.","PLAIN"]; [_veh,"varName"] remoteExec ["life_fnc_say3D",RANY]; }; };
Im Anhang Schön Formatiert...
Und für die description...
Codeclass deinclassname{ name = "deinvarname"; sound[] = {"\sounds\deinedatei.ogg", 1.0, 1}; titles[] = {}; };
Denk dran varName in der ClanSirene.sqf zu tauschen genau wie mit der license_civ_deinelicense ...
Das ganze kommt in den keyHandler man kann das natürlich noch mit biischen else if erweitern ;D
Das Ganze ist mit Timer wie lange du sie nicht usen kannst den sleep einfach ändern -
Erstell einfach ne eigene Mod die so heisst ... mit nichts drinne einfach... müsste klappen
-
Allein das ist schon besser erklärt als von Rene
Du machst dich langsam
Man Lernt nie aus ;D
Wie sieht es aus FreegamerHD klappt was in die richtung ?
-
mach das mal nur zum test mit dem root user bitte dannach wenn es geklappt hat ändern und dem anderen User die berechtigung geben
-
Ich finds toll, wie keiner mal den rpt gelesen hat XD hab grade mal mit dem Handy geschaut - Error with database connection. Bitte Mal dein extDB troubleshooten und extDB Log anhängen
Hahaha habe ich auch nicht dran gedacht :D...
Muss ja nicht nur am life_server liegen
-
license_civ_hispanic
Dann musst du den Variablen namen hispanic nennen
ja so müsste es sein
-
Nein So
Du hast warscheinlich nicht die extendet playerskins an deswegen mach es mal so
Code
Alles anzeigenswitch (playerSide) do { case civilian: { Die extendet Playerskins sind useless.... Einfach löschen if (license_fraktion_hispanic) then { //Für die uniform if (uniform player isEqualTo "U_I_CombatUniform") then { player setObjectTextureGlobal [0, "deinTexturPfad"]; }; //Für den rucksack if((backpack player) == "B_ViperHarness_blk_F") then { (backpackContainer player) setObjectTextureGlobal [0, "deinTexturPfad"]; }; }; }; case independent: { Die Skins hier }; case west: { Die Skins hier }; };
Du musst natürlich noch die klammer