Beiträge von ErikSon

    Hey, brauche Hilfe bei meinem Banksystem.
    Wenn ich /bank eingebe, kommt der Dialog, aber wenn ich z.B. auf Einzahlen gehe, kommt nichts.


    Codes:
    #define DIALOG_Bank 8
    #define DIALOG_BankEinzahlen 9
    #define DIALOG_BankAuszahlen 10
    #define DIALOG_BankKontostand 11


    ocmd:bank(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10,2308.8767,-1.8641,26.7422))return SendClientMessage(playerid,Rot,"Du bist nich in der Bank/an einem Bankautomat!");
    if(GetPVarInt(playerid,"Bankkonto")==0)
    {
    SendClientMessage(playerid,Rot,"Du hast kein Bankkonto!\nBitte gehe in die Bank und erstelle dir ein Bankkonto.\nDie Bank findest du unter /navi.");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_Bank,DIALOG_STYLE_LIST,"Bankkonto","Einzahlen\nAuszahlen\nUeberweisen\nKontostand","Abbrechen","");
    }
    return 1;
    }


    if(dialogid==DIALOG_Bank)
    {
    if(response)
    {


    if(listitem ==0)
    {
    ShowPlayerDialog(playerid,DIALOG_BankEinzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe die Summe ein, die du einzahlen willst.","Weiter","Abbrechen");
    }
    if(listitem ==1)
    {
    ShowPlayerDialog(playerid,DIALOG_BankAuszahlen,DIALOG_STYLE_INPUT,"Auszahlen","Bitte gebe die Summe ein, die du auszahlen willst.","Weiter","Abbrechen");
    }
    if(listitem ==3)
    {
    ShowPlayerDialog(playerid,DIALOG_BankKontostand,DIALOG_STYLE_MSGBOX,"Kontostand","Du hast %d$ auf deinem Bankkonto.","Ok","");
    }
    if(dialogid == DIALOG_BankEinzahlen)
    {
    new str[128];
    if(!response)return ShowPlayerDialog(playerid,DIALOG_Bank,DIALOG_STYLE_LIST,"Bankkonto","Einzahlen\nAuszahlen\nUeberweisen\nKontostand","Abbrechen","");
    if(GetPlayerMoney(playerid) < strval(inputtext))return SendClientMessage(playerid,Rot,"Du hast nicht genug Geld dabei!");
    GivePlayerMoney(playerid, - strval(inputtext));
    SetPVarInt(playerid,"Bankgeld",GetPVarInt(playerid,"Bankkonto") + strval(inputtext));
    format(str,sizeof(str),"Du hast %d$ auf dein Konto eingezahlt",strval(inputtext));
    SendClientMessage(playerid,Weiss,str);
    }
    if(dialogid == DIALOG_BankAuszahlen)
    {
    new str2[128];
    if(!response)return ShowPlayerDialog(playerid,DIALOG_Bank,DIALOG_STYLE_LIST,"Bankkonto","Einzahlen\nAuszahlen\nUeberweisen\nKontostand","Abbrechen","");
    if(GetPVarInt(playerid,"Bankgeld") < strval(inputtext))return SendClientMessage(playerid,Rot,"Du hast nicht genug Geld auf deinem Konto!");
    GivePlayerMoney(playerid,strval(inputtext));
    SetPVarInt(playerid,"Bankgeld",GetPVarInt(playerid,"Bankgeld") - strval(inputtext));
    format(str2,sizeof(str2),"Du hast %d$ von deinem Konto ausgezahlt.",strval(inputtext));
    SendClientMessage(playerid,Weiss,str2);
    }
    if(dialogid == DIALOG_BankKontostand)
    {
    new str3[128];
    format(str3,sizeof(str3),"Du hast %d$ auf deinem Konto",GetPVarInt(playerid,"Bankgeld"));
    SendClientMessage(playerid,Weiss,str3);
    }
    }
    }


    Hoffe ihr könnt mir helfen.

    Hey, ich habe versucht ein Tor zu scripten, aber es gelingt mir nicht.


    Ich habe mehrere Tutorials angesehen und alles genau gleich gemacht (z.B. MrMonat)...


    Das Tor will einfach nicht aufgehen...


    Codes:
    new:
    new fahrschuletor1;
    new fahrschuletor2;
    new fahrschuletor3;


    OnGameModeInit:
    fahrschuletor1=CreateDynamicObject(980, 664.79998779297, -1307.6999511719, 15.39999961853, 0, 0, 359.99536132813);//
    fahrschuletor2=CreateDynamicObject(980, 660.20001220703, -1227.4000244141, 17.700000762939, 0, 0, 64);//
    fahrschuletor3=CreateDynamicObject(980, 784.09997558594, -1152.5, 25.299999237061, 0, 0, 89.995361328125);//


    Befehle:
    ocmd:ft1(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,30,664.79998779297, -1307.6999511719, 15.39999961853))return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe vom Tor!");
    MoveObject(fahrschuletor1,664.79998779297, -1307.6999511719, 15.39999961853-10,5);
    SetTimer("ft1",10000,false);
    SendClientMessage(playerid,Weiss,"Du hast das Tor geöffnet. Es schließt sich automatisch in 10 Sekunden.");
    return 1;
    }


    ocmd:ft2(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,30,660.20001220703, -1227.4000244141, 17.700000762939))return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe vom Tor!");
    MoveObject(fahrschuletor2,660.20001220703, -1227.4000244141, 17.700000762939-10,5);
    SetTimer("ft2",10000,false);
    SendClientMessage(playerid,Weiss,"Du hast das Tor geöffnet. Es schließt sich automatisch in 10 Sekunden.");
    return 1;
    }


    ocmd:ft3(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,30,784.09997558594, -1152.5, 25.299999237061))return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe vom Tor!");
    MoveObject(fahrschuletor3,784.09997558594, -1152.5, 25.299999237061-10,5);
    SetTimer("ft3",10000,false);
    SendClientMessage(playerid,Weiss,"Du hast das Tor geöffnet. Es schließt sich automatisch in 10 Sekunden.");
    return 1;
    }


    public ft1()
    {
    MoveObject(fahrschuletor1,664.79998779297, -1307.6999511719, 15.39999961853,5);
    return 1;
    }


    public ft2()
    {
    MoveObject(fahrschuletor1,660.20001220703, -1227.4000244141, 17.700000762939,5);
    return 1;
    }


    public ft3()
    {
    MoveObject(fahrschuletor1,784.09997558594, -1152.5, 25.299999237061,5);
    return 1;
    }


    Habe sie mit Timer gemacht...



    Hoffe ihr könnt mir helfen!

    Hier Code:


    forwards:
    forward paydaytimer(playerid);
    forward payday(playerid);


    OnGameModeInit:
    SetTimer("paydaytimer",1000*60,true);


    Publics
    public paydaytimer(playerid)
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(GetPVarInt(i,"loggedin")==0)continue;
    GetPVarInt(i,"Payday");
    SetPVarInt(i,"Payday",GetPVarInt(i,"Payday")+1);


    if(GetPVarInt(i,"Payday")==60)
    {
    payday(playerid);
    }
    continue;
    }
    return 1;
    }




    public payday(playerid)
    {
    SetPVarInt(playerid,"Payday",0);
    SetPVarInt(playerid,"Respektpunkte",GetPVarInt(playerid,"Respektpunkte")+1);
    ShowPlayerDialog(playerid,DIALOG_PayDay,DIALOG_STYLE_MSGBOX,"---------|Zahltag|----------","Du hast 1 Respektpunkt bekommen.\n------------------------------","OK","");
    if(GetPVarInt(playerid,"Respektpunkte")==12)
    {
    GetPlayerScore(playerid);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    SendClientMessage(playerid,HBlau,"Du bist nun Level-Up!");
    }
    return 1;
    }

    Mit dini...


    Also, wenn ich jez eingeloggt bin und dann zB Server restarte oder eben auslogge, speichern sich die Respektpunkte und die Payday Zeit nicht... Poste danach den code



    Chillt mal :)


    Jeder fängt dämlich an... naja is n bisl übertrieben, aber wenn ihr ihm nicht helfen wollt dann helft ihn nicht...
    Das Forum ist da, um hier Hilfe zu holen und das braucht er ja auch...

    ocmd:veh(playerid,params[])
    {
    new fahrzeug;
    new color1, color2;
    new Float:x, Float:y, Float:z,Float:angle;
    if(sscanf(params,"iii",fahrzeug,color1,color2))return SendClientMessage(playerid,HBlau,"Benutzung: /veh [FahrzeugID] [Farb-ID] [Farb-ID]");
    GetPlayerPos(playerid,x,y,z);
    ChangeVehicleColor(fahrzeug,color1,color2);
    CreateVehicle(fahrzeug,x,y,z,angle,color1,color2,120);
    return 1;
    }


    Mit ocmd finde ichs eigentlich richtig easy, sicherlich genau so wie andere hier...


    Also, wenn du den Befehl endlich willst, nimm den, Google oder frage hier weiter...


    Viel glück!


    EDIT//


    PS: Falls du bei SERVER: Unknown Command oder so was eigenes hinschreiben möchtest machs so:


    {
    SendClientMessage(playerid,Gelb,"Der von Ihnen eingegebene Befehl konnte nicht gefunden werden!\nAlle Befehle finden Sie unter /help.");
    return 1;
    }
    }


    (unter OnPlayerCommandText)

    Muss nicht auch iwo z.B.:


    if(sscanf(params,"u",pID,string))return SendClientMessage(playerid,Blau,"Benutzung: /Wiederbeleben [ID]");
    hin?


    GRÜN kann der doch nicht definieren usw...
    da müsste normalerweise n error kommen, weil pawno kein Ü,Ä und Ö ...... ab kann ... iwi so ...


    also:


    ocmd:ooc(playerid, params[])
    {
    new text[128], string[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,HILFEGRAU,"HILFE: /ooc [Text]");
    format(string,sizeof(string),"**((OOC %s sagt: %s ))**",SpielerName(playerid),text);
    SendClientMessageInRange(playerid,string,GRUEN,50);
    printf("%s", string);
    return 1;
    }


    EDIT//
    SendClientMessageInRange(playerid,string,GRUEN,50);


    SendClientMessageInRange -> geht da nicht auch:


    SendClientMessageToAll(GRUEN,string);
    ?


    Ansonsten muss er auch den stock SendClientMessageInRange haben


    ohne CMDs zu benutzen die sich eh keiner merken kann


    ach diese paar befehle :)
    Wenn du ein Script kennst kennste schon alle ey...
    Alle nehmen GFs oder andere aus Foren ziehen es in ihre Server rein und ändern vlt n ganz bisschen, wenn auch garnichts.


    1/2 der Serverinhabern können sicherlich garnicht oder vlt n bisl scripten...


    EDIT// sry iwas war gerade fail...

    ey jo warum machste denn isPlayerAdmin? Da musste Rcon Admin sein...


    Mach mal das:

    if (strcmp("/aduty", cmdtext, true, 10) == 0)
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFF0063FF,"Du bist kein Adminstrator");
    SetPlayerSkin(playerid,217);
    GivePlayerWeapon(playerid,27,99999);
    SetPlayerHealth(playerid,999999);
    SetPlayerArmour(playerid,999999);
    Create3DTextLabel("Admin",0xFF000099,0,0,0,50,-1,1);
    return 1;
    }


    und dann einfach ganz unten oder so:


    stock isPlayerAnAdmin(playerid,rank)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rank)return 1;
    return 0;
    }


    EDIT:
    beim aduty waren fehler...

    aso fail, aber bei OnGameModeInit trotzdem SetTimerEx machen, weil bei SetTimer is doch nur die ID 0 gemeint oder so oder?


    EDIT//
    Die Zeit speichert sich nicht...

    ja z.B. so beim Laden:


    SetPVarInt(playerid,"AutoSchein",dini_Int(Spielerdatei,"AutoSchein"));
    SetPVarInt(playerid,"MotoSchein",dini_Int(Spielerdatei,"MotoSchein"));
    SetPVarInt(playerid,"RollerSchein",dini_Int(Spielerdatei,"RollerSchein"));
    SetPVarInt(playerid,"LKWSchein",dini_Int(Spielerdatei,"LKWSchein"));
    SetPVarInt(playerid,"FlugSchein",dini_Int(Spielerdatei,"FlugSchein"));
    SetPVarInt(playerid,"WaffenSchein",dini_Int(Spielerdatei,"WaffenSchein"));


    und so beim Speichern:


    dini_IntSet(Spielerdatei,"AutoSchein",GetPVarInt(playerid,"AutoSchein"));
    dini_IntSet(Spielerdatei,"MotoSchein",GetPVarInt(playerid,"MotoSchein"));
    dini_IntSet(Spielerdatei,"RollerSchein",GetPVarInt(playerid,"RollerSchein"));
    dini_IntSet(Spielerdatei,"LKWSchein",GetPVarInt(playerid,"LKWSchein"));
    dini_IntSet(Spielerdatei,"FlugSchein",GetPVarInt(playerid,"FlugSchein"));
    dini_IntSet(Spielerdatei,"WaffenSchein",GetPVarInt(playerid,"WaffenSchein"));


    Falls du es noch brauchen solltest...

    hmm kriege es immer noch nit hin...


    Also, der Timer (paydaytimer) ist ja jede Minute...
    Er sollte eigentlich nach jeder Minute in die Spielerdatei bei Payday +1 machen, macht er aber nicht.
    Deswegen kann auch 1. nicht Payday kommen und 2. bei /status nach jedem Relog wieder 60 Minuten.


    Genau das gleich bei Respektpunkte.


    Kann mir jemand helfen?