ich versteh hier nur Bahnhof!
Beiträge von Rapfabrik
-
-
ja und das Heist?
Wie gehtn das jetzt ??
-
Hy leute,
Ich muss mich doch immer über /rcon login [password] einloggen damit ich meine IsPlayerAdmin commands nutzen kann und nun wolte ich fragen ob es dafür ein DCMD Command gibs mit den man sich z.b mit /alogin [password] einloggt ... wenn es geht auch bitte das es für jeden steht Adminx hat sich als Admin eingeloggt!
Danke für eure Nette Hilfe
-
habs selber gelöst danke an allen die mir Helfen wollten
-
-
was hat das mit Kick zu tun ????
WTF.. alta was ist mit dir?
Kick? verstehst du nicht?
Ok !
Kick: Wenn ein Spieler vom Server fliegt ohne das wahrscheinlich zu wollen dann wird er vom server ODER ADMIN geKICKT das Heist er wird gegen sein willen vom Server weck geschmissen ohne das er es verhindern kann!!! Dann steht da oben im chat "Server closed the connnection" auch dir gebe ich ein tipp wenn du im server bist und sowas wie "Server closed the connection" liest bitte denn server verlässt weil dann bist du quasi nicht mehr im Online Game. Ich hoffe du hast verstanden warum das damit zu tun hat.
So zum Thema!
Wenn Spieler A ( ID 1 ) sich einloggt dann muss er doch passwort eingeben (ja das muss er ojaa das muss er sicherlich )
Und wenn er 3x Falsch macht dann kommt schon das böse rote "Server closed the connection"
Das gehört sich auch so.Aber dann kommt Spieler B ( ID 0) rein und macht ausersehen ein Falsches passwort ( nicht 2 nur 1 )
Jetzt hat er doch noch 2 Versuche oder? Doch hat er weil Spieler A (ID 1) es ja auch hatte
aber nein spieler B (ID 0) wird gleich beim ersten mal gekickt "Server closed the connection"Also id 0 ist das Problem !!! Wie kann ich den bug beseitigen?
Hoffe ich habe mich genug ausgedrückt!
MFg Rapfabrik
-
Hallo
Ich habe ien problem unzwar funktioniert diese funktion nur bei der ID 0..
{
new pname2[MAX_PLAYER_NAME];
new pname3[MAX_PLAYER_NAME];
new string2[64];
new string3[128];
GetPlayerName(playerid, pname2, sizeof(pname2));
format(string2, sizeof(string2), "%s.cer", pname2);
new File: UserFile = fopen(string2, io_read);if (UserFile)
{
new valtmp[128];
fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
{
new key[128],val[128];
new Data[128];
while(fread(UserFile,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
}
fclose(UserFile);
gPlayerLogged[playerid] = 1;
gPlayerAccount[playerid] = 1;
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt!", pname3);
SpawnPlayer(playerid);
SendClientMessage(playerid, WEIS,string3);
}
else
{
Versuche[playerid]++;
if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
else if(Versuche[playerid] > 2) { Kick(playerid); }fclose(UserFile);
}
}
return 1;
}also wenn amn 1 mal falsch macht hat man noch Zwei chancen es richtig zu machen.
Aber das klappt nur bei der Id 0 also wenn der spieler id 0 hat
sonst wird man gleich beim ersten mal gekickt!Hoffe jemand kann mir dabei helfen !!!
Danke
MFg
-
ok DANKE FUNTZ 1A
aber wie mache ich es das keine meldung kommt?
einfach else löschen geht net... -
Hab jetzt nicht ganz verstanden
hier mal der code komplett
dcmd_kick(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid))
{
if (gPlayerLogged[playerid] != 0){}
else
{
SendClientMessage(playerid, ROT, "Du bist nicht eingeloggt (log dich mit /login (Passwort) ein !");
}
}
}new
sGrund[128],
pID;
if(sscanf(params, "dz",pID,sGrund)) {
return SendClientMessage(playerid,ROT,"Benutze: /kick [playerid] [grund]");
}if(!IsPlayerConnected(pID)) {
return SendClientMessage(playerid,ROT,"Kein Spieler mit angegebener ID Online");
}
new
ThePlayer[MAX_PLAYER_NAME],
string[128];
GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),"%s (ID %d) wurde von einen Admin gekickt,Grund: %s",ThePlayer,pID,sGrund[0] ? sGrund : "<Kein Grund>");
SendClientMessageToAll(GELB,string);
Kick(pID);
return 1;
}also wenn ein normaler spieler kick mach soll einfach nichts geschehen ... (leer)
aber das geht irgend wie nicht ...
der normaler Spieler kann trotzdem kick machen.. hoffe es geht balddanke
-
Moin leute,
warum funktioniert der cod enicht richtig?
dcmd_kick(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid))
{
if (gPlayerLogged[playerid] != 0){}
else
{
SendClientMessage(playerid, ROT, "Du bist nicht eingeloggt (log dich mit /login (Passwort) ein !");
}
}
}also es sollen nur admins benutzen können !!!
geht aber leider net..
danke für eine hilfe
-
geht net
naja... habs irgend wie hingekriegt... weiß selba.. nicht wie.. auf jeden fall funktioniert es jetzt...
-
also momentan wenn ich /stats mache bekomme ich das hier:
kills,deaths,cash
Aber ich will das sowas steht :
kills,deaths,cash,Bank
und bank soll auch gespeichert werden also wenn man geld lagert und abhebt!
hier sind mal die commands die ich schon haben ( fehlr nur noch das es abgespeichert wird):
//---laggern---//
dcmd_laggern(playerid,params[])
{
new
string[50],
amount;
if(sscanf(params,"d",amount))
{
return SendClientMessage(playerid, ROT, "Benutze: /laggern <Betrag>!");
}
else if(amount < 0 || amount > GetPlayerMoney(playerid))
{
return SendClientMessage(playerid, ROT, "Du hast nicht genügend Geld auf der Hand!");
}
else
{
GivePlayerMoney(playerid,-amount);
PlayerInfo[playerid][pBank] += amount;
format(string,sizeof(string),"Du hast $%d auf dein Bankkonto eingezahlt",amount);
SendClientMessage(playerid,GELB,string);
}
return 1;
}//---abheben---//
dcmd_abheben(playerid,params[])
{
new
string[50],
amount;
if(sscanf(params,"d",amount))
{
return SendClientMessage(playerid, ROT, "Benutze: /abheben <Betrag>!!");
}
else if(amount < 0 || amount > PlayerInfo[playerid][pBank])
{
return SendClientMessage(playerid, ROT, "Du hast nicht genügend Geld in deiner Bank!");
}
else
{
GivePlayerMoney(playerid,amount);
PlayerInfo[playerid][pBank] -= amount;
format(string,sizeof(string),"Du hast $%d von deinem Bankkonto abgehoben",amount);
SendClientMessage(playerid,GELB,string);
}
return 1;
}Die commands sind ja eh richtig gleibt nur das mit dem bankgeld speichern!!!
P.S: laggern und abheben kann man überall also kein playertopoint oder so
Danke.
-
-
haha das war ja leicht
Danke dir
-
Hallo Leute,
Also ich habe nun folgendes in mein script
kill,
death,
cash,nun habe ich ein Banksystem erstellen wollen...
und habe 2 kommandos für laggern und abheben genommen ( dcmd:abheben ) (dcmd_laggern)und nun habe ich genau das gleich eingefügt was bei cash in mein script stand also wenn da jetzt
[blablablablbalbalbalbalbalbalablablbalbalbalablabl](pcash)....stand dann habe ich das gemacht
[blablablablbalbalbalbalbalbalablablbalbalbalablabl](pBank)....pcash in pBank geändert nicht mehr!!!und nun wenn ich im spiel /stats machen dann kommt bei bank genau das gleiche wie es bei cahs steht...
cash: 123$
Bank: 123$auf wenn ich /abheben 1 mache kommt es bei der bank auch dazu , soll aber abgezogen werden...
wie kann ich das denn machen?
also das Bank eine einige speicher ort hat.....<--- wenn ich das AUCH verstanden habe kann ich mich als einen Fortgeschrittenen Scripter bezeichnen:DDanke im vorraus...
-
Hallo,
habe ein login system in mein gm und wenn ich /login <egal welches password> dann loggt es mich trotzdem ein O.o obwohl da stehen müsste du hast noch 2 versuche dann eins dann kick...
könnte sich das einmal jemand anschuan dank
public OnPlayerLogin(playerid,const string[])
{
new pname2[MAX_PLAYER_NAME];
new pname3[MAX_PLAYER_NAME];
new string2[64];
new string3[128];
GetPlayerName(playerid, pname2, sizeof(pname2));
format(string2, sizeof(string2), "%s.cer", pname2);
new File: UserFile = fopen(string2, io_read);if (UserFile)
{
new valtmp[128];
fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
{
new key[128],val[128];
new Data[128];
while(fread(UserFile,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
if( strcmp( key , "Bank" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); }
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
GivePlayerMoney(playerid,PlayerInfo[playerid][pBank]);
}
fclose(UserFile);
gPlayerLogged[playerid] = 1;
gPlayerAccount[playerid] = 1;
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt!", pname3);
SpawnPlayer(playerid);
SendClientMessage(playerid, WEIS,string3);
}
else
{
Versuche[playerid]++;
if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
else if(Versuche[playerid] > 2) { Kick(playerid); }fclose(UserFile);
}
}
return 1;
} -
Hallo,
wie schuat dieser befehl in Dcmd aus?
//---Enter---//
if(strcmp("/enter", cmdtext, true) == 0) // so hier ? dcmd_enter(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == TEAM_COPS)
{
if (PlayerToPoint(3.0, playerid,1568.4795,-1690.1753,5.8906))// wo man /enter eingeben kann, das 3.0 ist der Radius
{
SetPlayerPos(playerid,246.4, 110.84, 1003.22);//Position wo der Spieler hinteleportiert wird bei /enter
SetPlayerInterior(playerid,10);// Interoir(nur bei selbst gemachten Objekten)
GameTextForPlayer(playerid, "~w~ Cop-Base", 5000, 1);// Text die kommt wenn man zu dem Punkt Teleoprtiert wird
}}//grove
if(gTeam[playerid] == TEAM_GROVE)
{
if (PlayerToPoint(3.0, playerid,2523.2729,-1679.2501,15.4970))// wo man /enter eingeben kann, das 3.0 ist der Radius
{
SetPlayerPos(playerid,2451.1497,-1685.2985,1013.5078);//Position wo der Spieler hinteleportiert wird bei /enter
SetPlayerFacingAngle( playerid, 180 ); // Dreh grad
SetPlayerInterior(playerid,2);// Interoir(nur bei selbst gemachten Objekten)
GameTextForPlayer(playerid, "~w~ GroveStreet Base", 5000, 1);// Text die kommt wenn man zu dem Punkt Teleoprtiert wird
}}
//Arme
if(gTeam[playerid] == TEAM_ARME)
{
if (PlayerToPoint(3.0, playerid,2721.1414,-2380.0479,17.3403))// wo man /enter eingeben kann, das 3.0 ist der Radius
{
SetPlayerPos(playerid,314.820984, -141.431992, 999.661987);//Position wo der Spieler hinteleportiert wird bei /enter
SetPlayerFacingAngle( playerid, 180 ); // Dreh grad
SetPlayerInterior(playerid,7);// Interoir(nur bei selbst gemachten Objekten)
GameTextForPlayer(playerid, "~w~ Arme Base", 5000, 1);// Text die kommt wenn man zu dem Punkt Teleoprtiert wird
}
}
//Zombie
if(gTeam[playerid] == TEAM_ZOMBIE)
{
if (PlayerToPoint(3.0, playerid,940.7739,-1085.2761,24.2962))// wo man /enter eingeben kann, das 3.0 ist der Radius
{
SetPlayerPos(playerid,295.138977, 1474.469971, 1080.519897);//Position wo der Spieler hinteleportiert wird bei /enter
SetPlayerInterior(playerid,15);// Interoir(nur bei selbst gemachten Objekten)
GameTextForPlayer(playerid, "~w~ Zombie Base", 5000, 1);// Text die kommt wenn man zu dem Punkt Teleoprtiert wird
}
}
}
return 1;
}wäre echt cool wenn es einer mir erklären könnte !!!
Danke!
-
Wunderbar!!!
Dickes danke schön an euch beiden
Werde es gleich am Thread Anfang editieren und für andere rein schreiben und auch schrieben von wem das war
Danke nochmals
Peace.
-
Ok danke funktioniert 1A *freu*
könnt ihr mir auch die 2 Frage beantworten ..:D
Danke....!!!!!!!!
Zitat:
*Das (das befehl /klau) nur Nutzbar ist wenn man Eingeloggt ist ( login registersystem schon drinnen ) [if(gPlayerLogged[playerid] == 1)] <- das irgend wo einfügen oder?
-
geht alles nicht...
ich werd noch verückt...
an die includes kann es nciht liegen oder
edit
Kann es sein das mein Gamemode automatisch einen anderen sa-mp version genommen hat z.b. 0.2x oder 0.2.2 oder so?
Jetzt gehts irgend wie wieder O.o
habe alles neu 2x aufgesetzt und naja jetzt gehts..
sowas behindertes will ich hoffentlich nicht wieder erleben.......
Danke für alle die helfen wollten mfg