Beiträge von bad_company

    dcmd_gebegeld(playerid,params[])
    {


    new moneyid, moneyamount, Float:x, Float:y, Float:z;


    if(IsPlayerInRangeOfPoint(moneyid,1.0,x,y,z))
    if(sscanf(params,"dd",moneyid,moneyamount))
    {
    SendClientMessage(playerid,0xFF0000FF," /gebegeld [ID] [Geld] ");
    }
    else if(!IsPlayerInRangeOfPoint(moneyid,1.0,x,y,z))
    {
    SendClientMessage(playerid,0xFF0000FF," Spieler nicht in der Nähe!");
    }
    else if(!IsPlayerConnected(moneyid))
    {
    SendClientMessage(playerid,0xFF0000FF," Spieler nicht online!");
    }
    else if(moneyamount < 1 || moneyamount > 50000)
    {
    SendClientMessage(playerid,0xFF0000FF," Summe ungültig!");
    }
    else
    {
    new
    name[MAX_PLAYER_NAME],
    mname[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(moneyid,name,sizeof(name));
    GetPlayerName(playerid,mname,sizeof(mname));


    format(string,sizeof(string),"Du hast $%d von %s bekommen!",moneyamount,mname);
    SendClientMessage(moneyid,0xFFFF00AA,string);
    GivePlayerMoney(moneyid,moneyamount);


    format(string,sizeof(string),"Du hast $%d an %s geschickt!",moneyamount,name);
    SendClientMessage(playerid,0xAA3333AA,string);
    GivePlayerMoney(playerid,-moneyamount);
    }
    return 1;
    }
    Werde es mal mit mein Kumpel testen ^^ mal schauen.

    finde ich gut dan lern ichs gleich ^^ oki ich probiers


    //EDIT:
    Hier:
    dcmd_gebegeld(playerid,params[])
    {


    new moneyid,
    moneyamount;



    if(IsPlayerInRangeOfPoint(moneyid,radius,1.0,1.0,1.0))

    if(sscanf(params,"dd",moneyid,moneyamount))
    {

    SendClientMessage(playerid,0xFF0000FF," /gebegeld [ID] [Geld] ");
    }


    else if(!IsPlayerConnected(moneyid))
    {

    SendClientMessage(playerid,0xFF0000FF," Spieler nicht online!");
    }


    else if(moneyamount < 1 || moneyamount > 50000)
    {

    SendClientMessage(playerid,0xFF0000FF," Summe ungültig!");
    }

    else
    {
    new
    name[MAX_PLAYER_NAME],

    mname[MAX_PLAYER_NAME],
    string[128];

    GetPlayerName(moneyid,name,sizeof(name));

    GetPlayerName(playerid,mname,sizeof(mname));



    format(string,sizeof(string),"Du hast $%d von %s
    bekommen!",moneyamount,mname);

    SendClientMessage(moneyid,0xFFFF00AA,string);

    GivePlayerMoney(moneyid,moneyamount);



    format(string,sizeof(string),"Du hast $%d an %s
    geschickt!",moneyamount,name);

    SendClientMessage(playerid,0xAA3333AA,string);

    GivePlayerMoney(playerid,-moneyamount);
    }
    return 1;
    }
    alles
    in ordnung und die floats sind wegen meinem register system schon oben
    definiert aber das problem ist :

    if(IsPlayerInRangeOfPoint(moneyid,radius,1.0,1.0,1.0))
    es kennt
    das radius nicht was muss ich da machen ?

    was mus da bei x,y,z rein ?? zB 1.0,1.0,1.0 also das das geht wen der 1 coord nah an dem dran ist ?


    //EDIT: und bei einem Chat wie mache ich es da das alle leute in einem bestimmten umkreis das lesen können ??

    ich schau mal ..



    //EDIT: Musste zwar jedes "bankgeld" in den befehlen ersetzen aber läuft super danke ^^


    //EDIT2: Hab mal noch ne Frage ich habe den Befehl erstellt /gebegeld um nem anderen Player Geld zu geben ..
    wie kann ich einstellen das das nur geht wen der andere spieler in der nähe ist also in einem bestimmten umkreis ist ??

    So hab mir grade mal fix ein Banksystem gescriptet (nich wundern InRangeOfPoint hab ich noch net drinne) ja auf jeden fall hab ich ein problem beim saven und laden des bankgeldes hier ist der Script:
    enum spieler_daten
    {
    wanted,
    skin,
    Float:lastx,Float:lasty,Float:lastz,
    eingeloggt,
    bankgeld
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128], Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);


    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    new
    namee[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,namee,sizeof(namee));
    format(string,sizeof(string),"%s hat den Server verlassen.",namee);
    SendClientMessageToAll(0xFFFFFFAA,string);
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    GetPlayerPos(playerid,saveX, saveY, saveZ);
    dini_FloatSet(accFormat,"lastx",saveX);
    dini_FloatSet(accFormat,"lasty",saveY);
    dini_FloatSet(accFormat,"lastz",saveZ);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    dini_IntSet(accFormat,"bankgeld",bankgeld(playerid,bankgeld));
    }
    Spieler[playerid][eingeloggt] = 0;
    Spieler[playerid][wanted] = 0;
    Spieler[playerid][skin] = 0;
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(response)
    {
    switch(dialogid) // dialogid auswählen
    {
    case DIALOG_LOGIN: // ID Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte log dich mit deinem Passwort ein.","Einloggen","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
    {
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    bankgeld(playerid, bankgeld,dini_Int(accFormat,"bankgeld"));
    Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte log dich mit deinem Passwort ein.","Einloggen","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // ID Registrieren
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Registrieren","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    return 1;
    }

    Errors:
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : error 012: invalid function call, not a valid address
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : warning 215: expression has no effect
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : warning 215: expression has no effect
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : error 001: expected token: ";", but found ")"
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : error 029: invalid expression, assumed zero
    C:\PROGRA~1\GTASAN~1\GTASAN~1\SAMP03~1\GAMEMO~1\Sample.pwn(191) : 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.


    in dieser Zeile:
    dini_IntSet(accFormat,"bankgeld",bankgeld(playerid,bankgeld));


    Das Problem liegt beim Speichern und (denk mal) auch beim Laden .. weiß nicht wie ich auf das bankgeld zugreifen kann um es zu speichern "GetPlayerbankgeld" gibts ja nicht desswegen Help ... ;(


    MfG bad_company

    das müsst ich doch bei OnPlayerSpawn reinschreiben irgendwie
    das wenn man /speicherskin eintippt das dan ins dini gespeichert wird mit dcmd habe ich es grade nicht hinbekommen hier script:
    public OnPlayerSpawn(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    {
    dcmd(speicherskin,12,cmdtext);
    }


    dcmd_speicherskin(playerid,params[])
    #pragma unused params
    {
    new
    string[128];
    format(string,sizeof(string),"Skin gespeichert.");
    SendClientMessage(playerid,0xFFFF00AA,string);
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    return 1;
    }


    if(dini_Isset(accFormat,"lastx"))
    {
    SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    }
    if(dini_Isset(accFormat,"skin"))
    {
    SetPlayerSkin(playerid,dini_Int(accFormat, "skin"));
    }
    if(death[playerid] == true)
    {
    SetPlayerPos(playerid,-2656.4094,635.7793,14.4531);//Krankenhausposition
    SendClientMessage(playerid, 0xAA3333AA, "|_____________Krankenhaus_____________|");
    SendClientMessage(playerid, 0xAA3333AA, " Du warst schwer Verletzt.");
    SendClientMessage(playerid, 0xAA3333AA, " Die Arztrechnung beträgt $500.");
    GivePlayerMoney(playerid,-400);
    death[playerid] = false;
    }
    return 1;
    }

    new loggedin[MAX_PLAYERS];//Das bei den defines hinschreiben
    steht da das musst du oben uter die defines schreiben also fast ganz oben unter #define......


    und dan müssteste hier:
    new loggedin[MAX_PLAYERS];//Das bei den defines hinschreiben
    if(strcmp(cmdtext, "/login", true) == 0)
    {
    new save[40], s2[256]; //gleiche wie oben
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(save,sizeof(save),"Spieler/%s.ini",spieler);
    if(dini_Exists(save)) // wenn Datei existiert
    {
    s2=dini_Get(save,"passwort"); // lade das Passwort
    if(strval(s2)==udb_hash((cmdtext))) // wenn die Eingabe nach /login mit dem Passwort von der registration übereinstimmt
    {
    loggedin[playerid] = true; //sage dem Server, dass der Spieler eingeloggt ist.
    SendClientMessage(playerid, 0x33CCFFAA, "***Du hast dich erfolgreich eingeloggt***");
    SpawnPlayer(playerid);
    }
    else // wenn das passwort nicht stimmt
    {
    SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!");
    }
    }
    return 1;
    }


    das:
    new loggedin[MAX_PLAYERS];//Das bei den defines hinschreiben


    rausnehmen denke es sollte dann gehen ..

    so speicher ich den skin das ist ja in ordnung:
    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128], Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);


    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    new
    namee[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,namee,sizeof(namee));
    format(string,sizeof(string),"%s hat den Server verlassen.",namee);
    SendClientMessageToAll(0xFFFFFFAA,string);
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    GetPlayerPos(playerid,saveX, saveY, saveZ);
    dini_FloatSet(accFormat,"lastx",saveX);
    dini_FloatSet(accFormat,"lasty",saveY);
    dini_FloatSet(accFormat,"lastz",saveZ);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    }
    Spieler[playerid][eingeloggt] = 0;
    Spieler[playerid][wanted] = 0;
    Spieler[playerid][skin] = 0;
    return 1;
    }


    und hier soll ewr ihn auslesen:
    public OnPlayerSpawn(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);


    if(dini_Isset(accFormat,"lastx"))
    {
    SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    }
    if(dini_Isset(accFormat,"skin"))
    {
    SetPlayerSkin(playerid,skin);
    }
    if(death[playerid] == true)
    {
    SetPlayerPos(playerid,-2656.4094,635.7793,14.4531);//Krankenhausposition
    SendClientMessage(playerid, 0xAA3333AA, "|_____________Krankenhaus_____________|");
    SendClientMessage(playerid, 0xAA3333AA, "Du warst schwer Verletzt.");
    SendClientMessage(playerid, 0xAA3333AA, "Die Arztrechnung beträgt $500.");
    GivePlayerMoney(playerid,-400);
    death[playerid] = false;
    }
    return 1;
    }


    aber wenn ich spawne dan habe ich immer einen skin der gar nicht zur auswahl steht und den habe ich dan die ganze zeit
    was ist da falsch ??


    MfG bad_company

    geht ^^ aber die gelben Pfeile werde ich später durch PfeilPickUp ersetzen und rein porten damit das viedeo net kommt und nicht alle läden offen sind ^^
    du bist doch schlau oder weißt du was ich machen muss das der player beim ersten Spawn(Register) seinen skin wählen kann und beim 2. und bei jeden weiteren login sofort gespawnt wird ohne skinauswahl ??

    naja vorhin hatte ich nach tut gefragt jetz wie ich das ausmache und naja weil ich vorhin wissen wollte wie ich die pickups wegmache aber die antwort bekommen habe wie man nur die pickups da lässt und die pfeile wegmacht naja ...
    weiß nun einer wie man die pickups weg macht und die gelben pfeile bleiben aber das die kleinen eintrete clips weg sind ??
    und trotzdem danke für die antwort. :)

    so ich habe einen /o chat gemacht also das man immer /o eingibt aber das ist sinnlos wen man auch ohne das /o einfach schreiben kann desswegen will ich den normalen chat ausschalten wie ??


    Und ich will das die blauen Pickups vor den läden weg sind also das nur noch die gelben Pfeile da sind !


    Und wie kann ich es machn das wenn man an einen gelben Pfeil laufe das dan nicht das video abläuft also das man gegen den gelben pfeil läuft und dan gleich drinne ist ..??


    Geht das ?
    MFG bad_company

    Ich will ja einen Reallife Server machen aber da brauch ich noch ein paar Filterscripts also ich wollte:
    - das diese enter exit pickups weg sind den die gelben Pfeile reichen
    - das man kein video sieht wie man durch eine tür geht also man geht an den Pfeil und is drinne ohne video
    - das die Playernamen nicht mehr bunt angezeigt werden und das man andere Player nicht auf der minimap sieht


    oki naja das wars eigendlich aber wer noch ein gutes TuT kennt wie man ein /o chat macht ?? (selfmade)


    MfG bad_company