Wollte ma fragen ob mir jemand sagen kann wie ich ein Accountsystem mache!
Also: Kann mir jemand sagen wie ich ein Accounsystem machen kann?
Accountsystem
- Vogelpommes
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Dafür brauchst du: "dini.inc" , "dutils.inc" und "dudb.inc".
So Kannst du Geld etc. speichern!
Downloade dir vom sa-mp forum einfach die incs!
dann bei den INCLUDES
#include <dini>
#include <dutils>
#include <dudb>Dannach definirst du dcmd fürs login+register system!
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1Dann machste bei "OnPlayerCommandText"
dcmd(login,5,cmdtext);
dcmd(register,8,cmdtext);
hinund dann als "eigenes Callback" z.b.: am ende des scripts:
dcmd_register(playerid,params[]) {if (PLAYERLIST_authed[playerid]) return SendClientMessage(playerid,COLOR_RED,"Du bist schon eingeloggt...");
if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid,COLOR_RED,"Dein Account Existiert bereits.");
if (strlen(params)==0) return SendClientMessage(playerid,COLOR_RED,"[VERWENDUNG] /register [PASSWORT]");
if (udb_Create(PlayerName(playerid),params)) {
dUserSetINT(PlayerName(playerid)).("money",5000);
dUserSetINT(PlayerName(playerid)).("ID",dUserINT("Server").("IDcount"));
dUserSetINT(PlayerName(playerid)).("check",0);
dUserSetFLOAT(PlayerName(playerid)).("health",100);
printf("[REGISTRIERT] %s",PlayerName(playerid));
new count = dUserINT("Server").("IDcount");
count++;
dUserSetINT("Server").("IDcount",count);
return SendClientMessage(playerid,COLOR_GREEN,"Account Erfolgreich erstellt!");
}
return 1;
}und dann noch zum Login:
dcmd_login(playerid,params[]) {if (PLAYERLIST_authed[playerid]) return SendClientMessage(playerid,COLOR_RED,"Du bist schon eingeloggt...");
if (!udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid,COLOR_RED,"Account existiert nicht! [VERWENDUNG] /register [PASSWORT]");
if (strlen(params)==0) return SendClientMessage(playerid,COLOR_RED,"[VERWENDUNG] /login [PASSWORT]");
if (udb_CheckLogin(PlayerName(playerid),params)) {
SpawnPlayer(playerid);
GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money"));
SetPlayerHealth(playerid,dUserFLOAT(PlayerName(playerid)).("health"));
spawned[playerid] = 1;
return SendClientMessage(playerid,COLOR_RED,"Du bist nun eingeloggt!");
}return SendClientMessage(playerid,COLOR_RED,"Falsches Passwort!");
}um das geld zuspeichern:
if (PLAYERLIST_authed[playerid])
{
dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
}mabye musste dann noch was oben definieren:
new bool:PLAYERLIST_authed[MAX_PLAYERS];Und die farben haste ja schon definiert!
[NICHT GETESTET]
Falls fehler kommen, ICQ^^
MfG,
Melli -
Dafür brauchst du, einen FileStream, eine Datei bischen Grips und so.
Dudb & Dini und wie si eheißen sind kacke Oo -
is aba das einfachste!
habe sowieso mir ein eigenes Script Createt , aba dudb is für anfänger gut!
-
Dankschön aber dann kommt das!
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(435) : error 017: undefined symbol "dcmd"
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(436) : error 017: undefined symbol "dcmd"
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(573) : error 010: invalid function or declaration
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(575) : error 021: symbol already defined: "udb_UserSetInt"
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(575) : error 010: invalid function or declaration
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(575 -- 577) : warning 203: symbol is never used: "dcmd_login"
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(575 -- 577) : warning 203: symbol is never used: "dcmd_register"
D:\GTA SAMP\Server\gamemodes\TheRealWorld1.pwn(575 -- 577) : warning 203: symbol is never used: "logged"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase5 Errors.
-
wo muss man das alles engeben
-
Ja das ist auch mein problem: ich habe zwar ein fertiges aber ohne commands !!!
Weiss aber nicht wie ich es mit commands bestücken soll!
-
KANN MIR DAS NICH JEMAND VLLT VERTIG MACHEN UND DAN ÜBA ICQ SCHICKEN ODA SOW
// Kannst du bitte mal Capslock in Ruhe lassen?
-
dubd, dini & dutils müssen in Scriptfiles rein.
Wenn sie da nicht liegen, funktioniert es nicht, da die #include Dateien genau dort gesucht werden.Wenn du sie in Gamemodes oder Filterscripts hast, einfach verschieben!
-
in Scriptfiles?
das muss in pawno / include
-
-
Nein...
Ich habe es gemerkt, ca. 10 Minuten nachdem ich den Post geschrieben habe. (Ernsthaft )
Aber eigentlich habe ich dazugeschrieben: "... in Scriptfiles (glaube ich^^)" -
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(206) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(212) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(213) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(214) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(215) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(216) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(217) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(235) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(240) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(243) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(244) : error 017: undefined symbol "PlayerName"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(245) : error 017: undefined symbol "spawned"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(245) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(245) : error 001: expected token: ";", but found "]"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(245) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(245) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase15 Errors.
ich hab einfach auf new gedrückt und alles bei onplayertextcommand eingegeben und wo kommt das mit dem geld her kanste mir son skript mal fertig schicken(icq) oder so? 407558329
-
Dashier ganz unten in dein Script einfügen:
stock PlayerName(playerid) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}Und weiter oben, unter die includes:
new spawned[MAX_PLAYERS];
-
#include <a_samp>
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
#include <dini>
#include <dutils>
#include <dudb>
#define COLOR_GREEN 0xFFFFFFAA
#define COLOR_RED 0xFFFFFFAA
new bool:PLAYERLIST_authed[MAX_PLAYERS];
new spawned[MAX_PLAYERS];
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd_register(playerid,params[]) {
if (PLAYERLIST_authed[playerid]) return SendClientMessage(playerid,COLOR_RED,"Du bist schon eingeloggt...");
if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid,COLOR_RED,"Dein Account Existiert bereits.");
if (strlen(params)==0) return SendClientMessage(playerid,COLOR_RED,"[VERWENDUNG] /register [PASSWORT]");
if (udb_Create(PlayerName(playerid),params)) {
dUserSetINT(PlayerName(playerid)).("money",5000);
dUserSetINT(PlayerName(playerid)).("ID",dUserINT("Server").("IDcount"));
dUserSetINT(PlayerName(playerid)).("check",0);
dUserSetFLOAT(PlayerName(playerid)).("health",100);
printf("[REGISTRIERT] %s",PlayerName(playerid));
new count = dUserINT("Server").("IDcount");
count++;
dUserSetINT("Server").("IDcount",count);
return SendClientMessage(playerid,COLOR_GREEN,"Account Erfolgreich erstellt!");
}
return 1;
}
dcmd_login(playerid,params[]) {
if (PLAYERLIST_authed[playerid]) return SendClientMessage(playerid,COLOR_RED,"Du bist schon eingeloggt...");
if (!udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid,COLOR_RED,"Account existiert nicht! [VERWENDUNG] /register [PASSWORT]");
if (strlen(params)==0) return SendClientMessage(playerid,COLOR_RED,"[VERWENDUNG] /login [PASSWORT]");
if (udb_CheckLogin(PlayerName(playerid),params)) {
SpawnPlayer(playerid);
GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money"));
SetPlayerHealth(playerid,dUserFLOAT(PlayerName(playerid)).("health"));
spawned[playerid] = 1;
return SendClientMessage(playerid,COLOR_RED,"Du bist nun eingeloggt!");
}
return SendClientMessage(playerid,COLOR_RED,"Falsches Passwort!");
}
//ist das vllt. falsch
if (PLAYERLIST_authed[playerid])
{
dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
}
//----------------------
return 0;
}stock PlayerName(playerid) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
} -
Keine Ahnung? Wieso schreibst du nicht die generierten Fehlermeldungen wenns immernoch nicht läuft?
-
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(55) : error 017: undefined symbol "dcmd_register"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(58) : error 017: undefined symbol "params"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(59) : error 017: undefined symbol "params"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(72) : warning 225: unreachable code
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(72) : error 017: undefined symbol "dcmd_login"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(75) : error 017: undefined symbol "params"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(76) : error 017: undefined symbol "params"
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(83) : warning 217: loose indentation
C:\Dokumente und Einstellungen\Marcel\Desktop\Sever\pawno\Untitled.pwn(85) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase6 Errors.
-
Wende dich mal an [RoH]Meldariel, von dem hast du das ja.. der kann dir alles weitere geben was du noch dafür brauchst.
-
okay wie kann man damit jetzt machen, dass jeder seinen eigenen skin hat also das man in der account datai jetzt skinid:108 oder so hat und das dann verändern kann und jedes mal beim connecten er diesen skin aus der account datai bekommt?
-
breadfish.de
Hat das Thema geschlossen.