Beiträge von HappyHami

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    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 CompuPhase



    1 Warning.


    if(dialogid == ShopDialog )

    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 CompuPhase



    2 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 line


    Compilation 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 line


    Compilation 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))
    {

    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 line


    4 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 :love:

    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! :D Also was muss ich ändern :pinch:

    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?

    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?