Ja ich nutze das sscanf Plugin.
Soll ich sonst mal das ganze Script reinschicken? Ist ja nur so ein Testscript
Beiträge von [RCR]David
-
-
@robbi2304 merk dir das: Ein richtiger Mapper verlang dafür kein Geld.
-
Code
Alles anzeigendcmd_makeadmin(playerid, params[]) { new pid, Alevel; if(sscanf(params,"ud", pid, Alevel)) { return SendClientMessage(playerid, C_YELLOW, "/makeadmin [ID] [Adminrang]"); } if(IstSpielerAdmin(playerid, 6)) { if(pid == INVALID_PLAYER_ID) { return SendClientMessage(playerid, C_RED, "Ungültiger Spieler"); } if(IstSpielerAdmin(pid, Alevel) == Alevel) { return SendClientMessage(playerid, C_RED, "Der Spieler hat schon das angegebene Adminrang"); } else { sSpieler[pid][pAdmin] = Alevel; SendClientMessage(pid, C_YELLOW, "Du bist nun ein Administrator"); SendClientMessage(pid, C_BLUE2, "Der angegebene Spieler ist nun Admin"); } } else { return SendClientMessage(playerid, C_RED, "Du bist kein Administrator"); } return 0; }
Ich gestalte es hier mal übersichtlicher. ... Also, das ist erstmals mein größtes Problem. Der Befehl wird nicht ausgeführt.
Der Befehl ist zwar vorhanden, aber keine Reaktion, bis auf den gelben Text. -
Ja schon, aber sendet das so das was ich will an den Server?
Wie Speicher ich das Adminlevel ab?
Sscanf habe ich die neueste Version -
Code
Alles anzeigenstock SaveUserStats(playerid) { //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht if(!PlayerInfo[playerid][pLoggedIn]) return 1; //Ansonsten speichere sie new query[256]; mysql_format(handle, query, sizeof(query), "UPDATE Benutzer SET Level = '%d', Money = '%d', Admin = '%d', WHERE UserID = '%d'", PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][p_id]); //Das Query wird abgesendet mysql_pquery(handle, query); return 1; }
Code
Alles anzeigenforward OnUserLogin(playerid); public OnUserLogin(playerid) { //Query wurde ausgeführt und das Ergebnis im Cache gespeichert if(cache_get_row_count() == 0) { //Der Spieler hat ein falsches Passwort eingegeben ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen"); } else { //Es existiert ein Ergebnis, das heißt der Spieler hat das richtige Passwort eingegeben //Wir lesen nun die erste Zeile des Caches aus (ID 0) PlayerInfo[playerid][p_id] = cache_get_field_content_int(0, "UserID", handle); PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level", handle); PlayerInfo[playerid][pMoney] = cache_get_field_content_int(0, "Geld", handle); PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "Admin", handle); SpawnPlayer(playerid); PlayerInfo[playerid][pLoggedIn] = true; SendClientMessage(playerid, 0x00FF00FF, "[Konto] Eingeloggt."); GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]); } return 1; }
Könntest du das Problem bitte etwas genauer beschreiben?
Ich würde gerne eine Nachricht an den ganzen Server versenden, die so Aussicht: "Server: [Servertag]Jeff hat Max vom server gekick. Grund:xyz"
Nutzt du das Plugin oder nur die reine Include, auf jeden Fall mal die neuste Version runterladen und einfügen
Welches Plugin minst du? Zurzeit habe ich das aktuellste MYSQL und sscanf plugin + die Includes laufen
-
Hey Leute, ich habe da ein Problem mit den DCMD Commands.
Code
Alles anzeigenpublic OnPlayerCommandText(playerid, cmdtext[]) { //Befehle mit DCMD dcmd(makeadmin, 9, cmdtext); dcmd(kick, 4, cmdtext); return 0; } //DCMD-Befehle dcmd_makeadmin(playerid, params[]) { new pid, Alevel; if(sscanf(params,"ud", pid, Alevel)) { return SendClientMessage(playerid, C_YELLOW, "/makeadmin [ID] [Adminrang]"); } if(IstSpielerAdmin(playerid, 6)) { if(pid == INVALID_PLAYER_ID) { return SendClientMessage(playerid, C_RED, "Ungültiger Spieler"); } if(IstSpielerAdmin(pid, Alevel) == Alevel) { return SendClientMessage(playerid, C_RED, "Der Spieler hat schon das angegebene Adminrang"); } else { sSpieler[pid][pAdmin] = Alevel; SendClientMessage(pid, C_YELLOW, "Du bist nun ein Administrator"); SendClientMessage(pid, C_BLUE2, "Der angegebene Spieler ist nun Admin"); } } else { return SendClientMessage(playerid, C_RED, "Du bist kein Administrator"); } return 0; } //Kick dcmd_kick(playerid,params[]) { new pid, grund[128]; if(sscanf(params, "us", pid, grund)) { return SendClientMessage(playerid,C_YELLOW,"/kick [ID]"); } if(!IstSpielerAdmin(playerid)) { return SendClientMessage(playerid,C_RED,"Du bist kein Admin"); } if(!IsPlayerConnected(pid)) { return SendClientMessage(playerid,C_RED,"Spieler ID nicht gefunden"); } if(pid == playerid) { return SendClientMessage(playerid,C_RED,"Du kannst dich nicht selber kicken"); } SendClientMessageToAll(C_DARKRED, "Server: %s hat %s gekick! Grund: %s"); Kick(pid); return 1; } //Adminsystem stock IstSpielerAdmin(playerid, Alevel) { if(sSpieler[playerid][pAdmin] >= Alevel) return 1; return 0; }
Probleme:
- Egal ob ich Admin bin, oder nicht, bei /makeadmin oder /kick kommt dann immer die Nachricht, wie man es anwendet.
- Es übernimmt nicht den Adminrang aus der SQL Datenbank (screen von der Datenbank im Spoiler unten)
- Wie mache ich bei den befehlen diesen "SendClientMessageToAll", ich kapier das nicht, war da jetzt einen ganzen Tag dran und hab ganz googel durchforscht, aber nix gefunden, was mir half
Ich hoffe ihr habt genug Informationen.
-
Wenn man da eine Hausreihe hinmappt würde es besser aussehen, mit Auffahrt etc.
-
-
Hey, ehm...
ich dachte mir, ich fange mit C# an. Ich weiß, es ist nicht ganz so Klug damit anzufangen. Jedoch möchte ich eine Herausforderung. Als Ziel für die Zeitspanne von 'nem Jahr setze ich mir, dass ich einen halbwegs guten Keybinder für SAMP schreibe. Ich möchte dazu meine eigene API und etc. schreiben. Nun ist jetzt die Frage :'D ... ich habe mir zwar schon eine PDF runtergeladen mit einer sehr ausführlichen Erklärung, jedoch wollte ich mal fragen, ob ihr irgendwie ein "Tutorial", oder einen guten Guide kennt, der auf Keybinder spezialisiert ist. Also Gui Fenster erstellen und auch funktionstüchtig machen. Hotkey erstellen, eigene API erstellen, um dann eventuell einen externen Keybinder Chat zu machen u.v.m.
Mfg.
-
Was mir sofort aufgefallen ist, ist, dass die anderen leiser waren und damit unverständlich. Beim Sprechen/Unterhalten haut es auch noch nicht so hin Jedoch benötigt das nur Übung. Bringt etwas Action rein :D.
Das Intro sprach mich überhaupt nicht an. Das ist einfach nur so 0815. Lass dir was kreatives dafür einfallen. Und mach mal Krach auf deinem Kanal ;).
-
Wenn du einen deutschen RP-Server suchst, würde ich dir http://nemesus-roleplay.de vorschlagen.
-
Und damit einen wunderschönen guten Morgen/Tag/Abend!
Ich bin hier schon etwas länger registriert, werde jedoch erst jetzt aktiv. Ich liebe es zu programmieren, jedoch kann ich es noch nicht wirklich. Man könnte sagen, dass ich da noch ein Newbie bin. Mein Traum ist es mal, so richtig geile Systeme und Spiele zu programmieren, jedoch wird dies noch ein langer und steiniger Weg. Ich heiße in Reallife Fabian, komme aus Österreich und bin am 23.02.1999 geboren und absolviere Zurzeit noch die Schulzeit. Zocken und kreative Ausübungen gehören natürlich auch zu meinen Hobbys. Ich spezialisiere
mich aber am meisten aufs programmieren ^^.So, dass wars mal soweit. Falls ich noch was dazu kommen sollte, wird dieser Beitrag editiert und ich lasse es euch auch wissen
-
Einen wunderschönen guten Morgen/Tag/Abend/Nacht,
ich sitze seit einer Woche an einem Keybinder Projekt für SAMP. Jedoch bin ich nun beim ersten hängen geblieben. Ich möchte, dass man beim Keybinder die Waffe auswählen kann. In meinem Fall, ist das ein FIB Keybinder. Ich habe einen "/me" bind erstellt, wo die Waffe gezogen wird.
Ich möchte nun diese Variabel mit einer Dropdownlist auswählbar machen, jedoch weiß ich nicht, wie ich das anstellen soll. Ich suche jetzt schon seit Tagen nach einer Lösung, aber ich habe nichts gefunden. Deswegen schreibe ich es hier rein.
Ich dachte mir, ob man da event. etwas mit DDLChoose machen könnte