Nice sowas gibts aber schon im Englischen Forum dennoch 9/10
Beiträge von RFT
-
-
Hier mal eins ungetestet hab ich gerade hier im Forum geschrieben damit wird der Betrag der gecheatet wird abgezogen und nicht addiert
stock J_GivePlayerMoney(playerid, Money)
{
SetPVarInt(playerid, "Money",GetPVarInt(playerid, "Money")+Money);
GivePlayerMoney(playerid,Money);
return true;
}stock J_ResetPlayerMoney(playerid);
{
SetPVarInt(playerid,"Money",0);
ResetPlayerMoney(playerid);
return true;
}stock J_SetPlayerMoney(playerid,Money);
{
J_ResetPlayerMoney(playerid);
J_GivePlayerMoney(playerid, Money);
return true;
}stock J_GetPlayerMoney(playerid)
{
return GetPVarInt(playerid, "Money");
}//und das hier in einem Timer
stock CheckPlayerMoney(playerid)
{
if(J_GetPlayerMoney(playerid,"Money") != GetPlayerMoney(playerid))
{
new Cheated = GetPlayerMoney(playerid)-J_GetPlayerMoney(playerid);
J_GivePlayerMoney(playerid, -Cheated);
return true;
}
return true;
} -
sowas würde ich gleich Closen man muss schon selber Kreativ sein und sich was einfallen lassen
-
Gefällt mir nice BFX 10/10
-
-
Er verbraucht sehr viele Resourcen mit Englisch kannste es dir genau selber erklären
mach die Strings kleiner dann kommt dies nicht mehr
-
Mappen wirste doch wohl mit dem MTA Map Editor spielendleicht selber können
-
was die bedeutung Pragma genau hat kann ich dir nicht sagen aufjeden fall kannst du mit #pragma sachen Unterdrücken damit er nicht überprüft ob einige Variabeln unbenutzt sind oder ob das Script nicht richtig eingerückt ist
-
gefällt mir 10/10
-
hast du den Ordner Acc bei dir drinnen laut der beschreibung müsste der Ordner so heißen
-
meine meinung nach dürfte sscanf cmdtext splitten und so dürfte es eigentlich funktionieren naja ich teste es mal
//edit du benutzt bestimmt einfach /st und da steht noch cmd teste es mal so
if(strcmp(cmdtext, "/straftat", true) == 0 || strcmp(cmdtext, "/st", true) == 0)
{
new string1[256];
new string2[256];
new string3[256];
new
pID,
anzahl,
grund[128];
if(sscanf(cmdtext, "uds",pID,anzahl,grund)) {
return SendClientMessage(playerid,COLOR_RED,"USAGE: /st [playerid][Anzahl an WantedPunkten][grund]");
}
if(!IsPlayerConnected(pID)) {
return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
}WantedPoints[pID] += anzahl;
SetPlayerCriminal(pID,playerid, grund);
SendClientMessage(playerid,COLOR_RED,"Erfolgreich!");
format(string1,128,"Du hast ID:%d %d WantedPunkte gegeben![Grund:%s]",pID,anzahl,grund);
SendClientMessage(playerid,COLOR_RED,string1);
format(string2,128,"ID:%d %d hat dir %d WantedPunkte gegeben![Grund:%s]",playerid,anzahl,grund);
SendClientMessage(playerid,COLOR_RED,string2);
format(string3,128,"HQ:%d hat %d %d WantedPunkte gegeben, weil %s",playerid,pID,anzahl,grund);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsACop(i))
{
SendClientMessage(i,COLOR_RED,string3);}
}
return 1;
}//edit obwohl nach Goldkiller sein Edit bin ich nun auch nicht mehr überzeugt von das meins klappt ich teste es mal kurz
-
geb den einfach beim einloggen das erstmal 1000 beim speichern wird das Geld nun gespeichert oder setz beim registrieren das Geld auf 1000
-
zeig mal deine Spielerdatei her
-
nimm gAdmin oder MaD oder meins was ich bald release mit MySql
-
das hier entfernen
public OnPlayerPrivmsgund du brauchst nix in der user.config eingeben und wenn du dir einfach Geld geben willst gibst du da ein Geld=1000
-
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
new
PlayerName[24],
tString[128],
tString2[128],
File:File;GetPlayerName(playerid, PlayerName, sizeof PlayerName);
format(tString, sizeof tString, "/Monopoly_admin/%s.ini", PlayerName);
File = fopen(tString, io_write);
if (File)
{
format(tString2, sizeof tString2, "Password: %s\n\r", PlayerData[playerid][Password]);fwrite(File, tString2);
format(tString2, sizeof tString2, "Admin: %d\n\r",PlayerData[playerid][Admin]);fwrite(File, tString2);
format(tString2, sizeof tString2, "Geld: %d\n\r",GetPlayerMoney(playerid));fwrite(File, tString2);
fclose(File);
}
}
return 1;
}stock LoginPlayer(playerid, password[])
{
new
PlayerName[24],
tString[128],
File:File;GetPlayerName(playerid, PlayerName, sizeof PlayerName);
format(tString, sizeof tString, "/Monopoly_admin/%s.ini", PlayerName);
File = fopen(tString, io_read);
if (File)
{
new
tString2[256],
tString3[128],
value[128];fread(File, tString2, sizeof tString2);
tString3 = GetFileString(tString2);
if(!strcmp("Password", tString3)) value = GetFileValue(tString2); strmid(PlayerData[playerid][Password], value, 0, strlen(value)-1, 128);
if(!strcmp(PlayerData[playerid][Password], password, true))
{
while(fread(File, tString2, 256))
{
tString3 = GetFileString(tString2);
if(strfind(tString3, "Admin") != -1) value = GetFileValue(tString2); PlayerData[playerid][Admin] = strval(value);
tString3 = GetFileString(tString2);
if(strfind(tString3, "Geld") != -1) value = GetFileValue(tString2); GivePlayerMoney(playerid, strval(value));
}
fclose(File);
gPlayerLogged[playerid] = 1;
}
else
{
SendError(playerid, "Password ist incorrect.");
fclose(File);
return 1;
}if(PlayerData[playerid][Admin] > 0)
{
format(tString, sizeof tString, "Wilkommen %s, du hast dich erfolgreich eingelogt (Admin Level %d)",PlayerName,PlayerData[playerid][Admin]);
SendClientMessage(playerid, 0xFF80C0FF, tString);
}
if(PlayerData[playerid][Admin] <= 0)
{
format(tString, sizeof tString, "Wilkommen %s, du bist erfolgreich eingellogt.", PlayerName);
SendClientMessage(playerid, 0xFF80C0FF, tString);
}
}
return 1;
}dürfte passen
-
jo sende mal den Abschnitt wos gespeichert wird benutzt du Dini oder welches Dateisystem
-
Davon halte ich nix, ich der Server müsste bewertet werden nacher is ein standart gf auf Platz 1 oder wie ?
//edit und falscher bereich -
hast du die Sachen auch in einem Callback oder einfach so in der pwn stehen poste es mal mit dem Callback
-
Du musst doch das Geld in irgendeiner Datei speichern lassen sende mal den Abschnitt wo die Accounts gespeichert werden