wenn er am shop was kauft,steht da du hast dich registriert -_- das is der fehler, wie geht der weg?
Beiträge von HappyHami
-
-
-
Wie meinst du? er soll ja nicht SPAWNEN
-
Hey,dank Kaliber habe ich jetzt ein regi sys...
vorher habe ich es so gemacht,wenn jmd. stirbt,werden ihm 500$ abgezogen... und beim shop... aber da steht jetzt "Erflogreich registriert" und es passiert nichts, kann mir jmd. helfen?
public OnPlayerDeath(playerid, killerid, reason)
{
SendClientMessage(killerid,0x00C100FF,"Du hast einen Feind eleminiert und erhältst 1000,00$!");
SendClientMessage(playerid,0xFF0000FF,"Du wurdest eleminiert und dir wurden 500,00$ abgezogen!");
new string[128];
new playername[MAX_PLAYER_NAME];
SendDeathMessage(killerid, playerid, reason);
new killername[MAX_PLAYER_NAME];
GetPlayerName(killerid,killername,sizeof(killername));
GetPlayerName(playerid, playername, sizeof(playername));
if(killerid == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000FF,"Du bist durch deine eigene Dummhait gestorben!");
format(string,128,"{FF00E7}%s {F70000}wurde von {FF00E7}%s {F70000}getötet!", playername,killername);
SendClientMessageToAll(0xFF0000FF, string);
GivePlayerMoney(killerid, 1000);
GivePlayerMoney(playerid, -500);
return 1;
}und das regi sys:
//Register Stock
stock Register(playerid,key[])//Wir benötigen die Parameter Playerid, sowie key, wobei key das passwort des Users sein soll.....)
{
new Spielerdatei[64];//Wir erstelllen uns eine neue Spielerdatei, in der die Daten des Spielers gespeichert werden sollen
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid)); //Wir formatieren die Spielerdatei um, und sagen so dem Script , dass die Daten in dem Scriptfiles Ordner unseres Servers im Ordner "Accounts" gespeichert werden sollen....(Man kann auch /Accounts/%s.txt nehmen,wobei ich .ini jedoch schöner finde..%s ist der String zum Abfragen des Spielernamens...
dini_Create(Spielerdatei); //Hier wird die Dini-datei erstellt
dini_Set(Spielerdatei,"Passwort",key); //In die Spielerdatei soll das Passwort gesetzt werden
SendClientMessage(playerid,GRÜN,"Erfolgreich registriert."); //Die Message die kommt ,wenn man sich erfolgreich registriert hat.....
dini_IntSet(Spielerdatei,"Level",0); //Wir setzen in die Datei das Level 0
dini_IntSet(Spielerdatei,"Banned",0); //Wir setzen Banned auf 0 = Nicht gebannt 1=Gebannt
dini_IntSet(Spielerdatei,"Adminlevel",0); //Wir setzen das Adminlevel auf 0
dini_IntSet(Spielerdatei,"Fraktion",0); //Wir setzen die Fraktion auf 0 = Zivilisten bzw. keine Fraktion
dini_IntSet(Spielerdatei,"Geld",0); //Wir setzen das Geld auf 0
SetPVarInt(playerid,"loggedin",1); //Hier setzen wir die Variable, ob der Spieler eingeloggt ist auf 1, um Sie später wieder abfragenzukönnen...
return 1;
}danke im vorraus
-
Kann mir einer per Teamviewer diesen Warning weg machen :S?
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(357) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
if(dialogid == ShopDialog )
-
ich find den fehler nicht -_- kannst du mir via Teamviewer helfen :S?
-
Das ist die Zeile aber naja
if(dialogid == ShopDialog )vor dem register sys ging alles aber jetzt? kannst du mir helfen
-
Mein Fehler sry
Zeile 355
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
{
if(dialogid==DIALOG_LOGIN) //Wenn der Dialog-Login aufgerufen wird
{
if(response==0) //Falls er auf Abbrechen drückt, dann
{
SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht an ihn
Kick(playerid); //Er wird gekickt
return 1;
}
if(response==1) //Falls er aber auf Login drückt, dann...
{
if(!strlen(inputtext)) //Hier prüft man ob er überhaupt was eingegeben hat, sonst müsste er ja nichts eingeben und würde sich einloggen koennen...
{
SendClientMessage(playerid,ROT,"Dein angegebenes Passwort war nicht lange genug!"); //Nachricht
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen"); //Dialog erneut zeigen
return 1;
}
else
{
Login(playerid,MD5_Hash(inputtext)); //Falls es aber was eingegeben wurde wird der Stock Login aufgerufen und ausgeführt.. MD5_Hash bedeutet dass das Passwort nicht wortwörtlich in die Spielerdatei gesetzt wird sondern als String und dann wieder ins richtige umformatiert wird. So schützt man eueren Server vor Hackern, weil Sie dann das PW von diesen nicht wissen...
return 1;
}
}
}
if(dialogid==DIALOG_REGISTER) //Falls der DIALOG_REGISTER aufgerufen wird
{
if(response==0) //Falls er auf abrrechen drückt..
{
SendClientMessage(playerid,ROT,"Du hast den Registrierungs Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht
Kick(playerid); //WIrd gekickt
return 1;
}
if(response==1)
{
if(!strlen(inputtext)) //Überprüft ob was eingegeben wird...
{
SendClientMessage(playerid,GRÜN,"Dein eingegebenes Passwort war nicht lang genug!"); //Wenn er wieder nichts eingibt
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Willkommen auf meinem Server\n bitte gib nun dein gewünschtes Passwort ein","Register","Abbrechen"); //Dann Dialog erneut anzeigen....
return 1;
}
else //Falls aber was eingegeben wurde , dann....
{
Register(playerid,MD5_Hash(inputtext)); //Wir die Funktion Register von Vorhin aufgerufen und ausgeführt und das PW wird erneut gehasht...
return 1;
}
}
}
return 1;
} -
Hallo,ich versuche seit geschlagenen 2 Tagen ein Registrier und Login System zu erstellen, nun hab ich eins und 2 Warnings zerstören alles!
Kann mir jmd. helfen?
"C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(355) : warning 225: unreachable code
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(355) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Warnings.
"
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
{
if(dialogid==DIALOG_LOGIN) //Wenn der Dialog-Login aufgerufen wird
{
if(response==0) //Falls er auf Abbrechen drückt, dann
{
SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht an ihn
Kick(playerid); //Er wird gekickt
return 1;
}
if(response==1) //Falls er aber auf Login drückt, dann...
{
if(!strlen(inputtext)) //Hier prüft man ob er überhaupt was eingegeben hat, sonst müsste er ja nichts eingeben und würde sich einloggen koennen...
{
SendClientMessage(playerid,ROT,"Dein angegebenes Passwort war nicht lange genug!"); //Nachricht
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen"); //Dialog erneut zeigen
return 1;
}
else
{
Login(playerid,MD5_Hash(inputtext)); //Falls es aber was eingegeben wurde wird der Stock Login aufgerufen und ausgeführt.. MD5_Hash bedeutet dass das Passwort nicht wortwörtlich in die Spielerdatei gesetzt wird sondern als String und dann wieder ins richtige umformatiert wird. So schützt man eueren Server vor Hackern, weil Sie dann das PW von diesen nicht wissen...
return 1;
}
}
}
if(dialogid==DIALOG_REGISTER) //Falls der DIALOG_REGISTER aufgerufen wird
{
if(response==0) //Falls er auf abrrechen drückt..
{
SendClientMessage(playerid,ROT,"Du hast den Registrierungs Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht
Kick(playerid); //WIrd gekickt
return 1;
}
if(response==1)
{
if(!strlen(inputtext)) //Überprüft ob was eingegeben wird...
{
SendClientMessage(playerid,GRÜN,"Dein eingegebenes Passwort war nicht lang genug!"); //Wenn er wieder nichts eingibt
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Willkommen auf meinem Server\n bitte gib nun dein gewünschtes Passwort ein","Register","Abbrechen"); //Dann Dialog erneut anzeigen....
return 1;
}
else //Falls aber was eingegeben wurde , dann....
{
Register(playerid,MD5_Hash(inputtext)); //Wir die Funktion Register von Vorhin aufgerufen und ausgeführt und das PW wird erneut gehasht...
return 1;
}
}
}
return 1;
}
//Polizei Shop
if(dialogid == ShopDialog )
{
if(response == 0)
{
return 1;
}
if(response == 1)
{
if(listitem == 0)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Schutzweste gekauft!");
SetPlayerArmour(playerid,100);
GivePlayerMoney(playerid,-500);
return 1;}
if(listitem == 1)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir Rauchgranaten gekauft!");
GivePlayerWeapon(playerid,17,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem == 2)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine AK47 gekauft!");
GivePlayerWeapon(playerid,30,2000);
GivePlayerMoney(playerid,-1500);
return 1;
}
if(listitem == 3)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine SMG gekauft!");
GivePlayerWeapon(playerid,29,2000);
GivePlayerMoney(playerid,-1200);
return 1;
}
if(listitem == 4)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Deagle gekauft!");
GivePlayerWeapon(playerid,24,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem == 5)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Schrotflinte gekauft!");
GivePlayerWeapon(playerid,25,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem ==6 )
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Sniper gekauft!");
GivePlayerWeapon(playerid,34,2000);
GivePlayerMoney(playerid,-1500);
return 1;
}
}
}
//Mafia Shop
if(dialogid == KaufenDialog )
{
if(response == 0)
{
return 1;
}
if(response == 1)
{
if(listitem == 0)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Schutzweste gekauft!");
SetPlayerArmour(playerid,100);
GivePlayerMoney(playerid,-500);
return 1;}
if(listitem == 1)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir Rauchgranaten gekauft!");
GivePlayerWeapon(playerid,17,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem == 2)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine M4 gekauft!");
GivePlayerWeapon(playerid,31,2000);
GivePlayerMoney(playerid,-1500);
return 1;
}
if(listitem == 3)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine SMG gekauft!");
GivePlayerWeapon(playerid,29,2000);
GivePlayerMoney(playerid,-1200);
return 1;
}
if(listitem == 4)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Deagle gekauft!");
GivePlayerWeapon(playerid,24,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem == 5)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Schrotflinte gekauft!");
GivePlayerWeapon(playerid,25,2000);
GivePlayerMoney(playerid,-1000);
return 1;
}
if(listitem ==6 )
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir eine Sniper gekauft!");
GivePlayerWeapon(playerid,34,2000);
GivePlayerMoney(playerid,-1500);
return 1;
}
}
}
return 1;
}Ich danke für JEDE Hilfe
-
Habe das jetzt
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(162) : error 017: undefined symbol "Eingeloggt"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(162) : warning 215: expression has no effect
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(162) : error 001: expected token: ";", but found "]"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(162) : error 029: invalid expression, assumed zero
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(162) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
//Registrier und Login
Eingeloggt[playerid] = false;
SendClientMessage(playerid,0xFFFBFFFF,"Herzlich Willkommen bei Happy Deathmatch");
SendClientMessage(playerid,0xFF0000FF,"Zum Registrieren /register zum Einloggen /login ");
new name[128];
new save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/User/%s.ini");
if(!dini_Exists(save)) }
{
SendClientMessage(playerid, 0xFF0000FF, "Wilkommen zurück! Um dich einzu loggen tippe /login Password");
GivePlayerMoney(playerid,dini_Int(save,"Money"));
SetPlayerScore(playerid,dini_Int(save,"Score");
pInfo[playerid][Kills] = dini_Int(save,"Kills");
pInfo[playerid][Deaths] = dini_Int(save,"Deaths");
pInfo[playerid][Adminlevel] = dini_Int(save, "AdminLevel");
} -
Habe jetzt alles gemacht was ihr gesagt habt,jetzt kommt:
achja oben ist new eingelogt..... mit einem g dann kommen nur 4 errors, aber wenn ich 2 g's mache kommen 8 und ehm ja....
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(161) : error 017: undefined symbol "eingeloggt"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(161) : warning 215: expression has no effect
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(161) : error 001: expected token: ";", but found "]"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(161) : error 029: invalid expression, assumed zero
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(161) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
/Registrier und Login
eingeloggt[playerid] = false
SendClientMessage(playerid,0xFFFBFFFF,"Herzlich Willkommen bei Happy Deathmatch");
SendClientMessage(playerid,0xFF0000FF,"Zum Registrieren /register zum Einloggen /login ");
new name[128];
new save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/User/%s.ini");
if(!dini_Exists(save))
{ -
Definier das:
if(killerid == INVALID_PLAYER_ID) return "DeinZeugs"(playerid);Was meinst du mit "Dein Zeugs"?
-
Und wie mache ich das dann ?
-
Hallo ich habe versucht ein Registrier und Login System zu machen,dann kommen diese Erros -_-
"C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(158) : error 017: undefined symbol "eingelogt"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(158) : warning 215: expression has no effect
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(158) : error 001: expected token: ";", but found "]"
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(158) : error 029: invalid expression, assumed zero
C:\Users\Hami\Desktop\Selfmade Script\Happy Deathmatch\gamemodes\HappyDeathmatch.pwn(158) : fatal error 107: too many error messages on one line4 Errors."
Zeile:
public OnPlayerConnect(playerid)
{
eingelogt[playerid] = false
SendClientMessage(playerid,0xFFFBFFFF,"Herzlich Willkommen bei Happy Deathmatch");
SendClientMessage(playerid,0xFF0000FF,"Zum Registrieren /register zum Einloggen /login ");
new name[128];
new save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/User/%s.ini");
if(!dini_Exists(save))
......Danke im vorraus
-
Hallo Liebe Community
Wenn man sich selbst töet, z.B. vom Dach springt, in einem Car explodiert oder so, wie kann ich machen das da steht, "X ist durch seine Dummheit gestorben"
Und wie mache ich eine Score Anzeige in der mitte des bildschirmes ganz oben,also welches Team führt?
Also das habe ich bis jetzt:public OnPlayerDeath(playerid, killerid, reason)
{
SendClientMessage(killerid,0x00C100FF,"Du hast einen Feind eleminiert und erhältst 1000,00$!");
SendClientMessage(playerid,0xFF0000FF,"Du wurdest eleminiert und dir wurden 500,00$ abgezogen!");
new string[128];
new playername[MAX_PLAYER_NAME];
SendDeathMessage(killerid, playerid, reason);
new killername[MAX_PLAYER_NAME];
GetPlayerName(killerid,killername,sizeof(killername));
GetPlayerName(playerid, playername, sizeof(playername));
format(string,128,"{FF00E7}%s {F70000}wurde von {FF00E7}%s {F70000}getötet!", playername,killername);
SendClientMessageToAll(0xFF0000FF, string);
GivePlayerMoney(killerid, 1000);
GivePlayerMoney(playerid, -500);
SetPlayerColor(playerid,0xFFFBFFFF);
return 1;
}Danke im Vorraus
-
Ja ach ^^, ich habs jetzt entfernt, aber wie sonst soll das leben geresettet werden ?! wenn man drauf klickt,bzw. es kauft dann passiert nichts, nur geld wird weg genommen, aber man soll sein leben dann im laufe des games mit /heal resetten, das aber auch nur wenn man es im shop gekauft hat! Also was muss ich ändern
-
Ich habs im Script gemacht, das KEINE ERRORS ODER WARNINGS mehr kommen, nur das Problem ist jetzt
das wenn man das medipack im shop kauft, man das Leben sofort geresettet kriegt, es sol aber nur resetten wenn man /heal schreibt, wie geht das?
Hier ist der Command:
if (strcmp("/heal", cmdtext, true, 10) == 0)
{
if(pack[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF,"Du hast kein Medipack mehr !");
pack[playerid] = 0;
SetPlayerHealth(playerid,100);
SendClientMessage(playerid, 0x00C100FF,"Du hast dich geheilt.");
if(pack[playerid] == 1) return SendClientMessage(playerid, 0xFF0000FF,"Du besitzt bereits einen Medipack !");
pack[playerid] = 1;
return 1;
}Hier der Shop:
}
if(listitem == 1)
{
SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir ein Medipack gekauft!");
SetPlayerHealth(playerid,100);
GivePlayerMoney(playerid,-1000);
return 1;
}Wie geht es,das wenn er auf dem listitem 1 , es kauft und er ein "medipack" erhält, aber das leben immeroch so bleibt wie es war, und erst wenn er /heal schreibt, das das leben aufgefüllt wird?
-
Ich muss doch nur wissen unter was das genau kommt ?´!
if(pack[playerid] == 1) return SendClientMessage(playerid, rot,"Du besitzt bereits einen Heal Pack !");
pack[playerid] = 1;?!
-
Meinst du des so?
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/heal", cmdtext, true, 10) == 0)
{
if(pack[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF,"Du hast kein Heal Pack mehr !");
pack[playerid] = 0;
SetPlayerHealth(playerid,100);
return 1;
}
return 0;
}und wo genau kommt das andere jetzt hin :D?
-
if(pack[playerid] == 1) return SendClientMessage(playerid, rot,"Du besitzt bereits einen Heal Pack !");
pack[playerid] = 1;wo füge ich des ein :)?