Beiträge von Meisternuke

    also ich habe das mysql plugin installiert, also runtergeladen usw..
    hab die mysql daten oben im fs eingetragen...
    das filterscript in die server.cfg getragen..
    wenn ich ingame bin sind aber keine autohäuser da..
    habe die version von dir genommen wo schon autohäuser drin sein sollen..
    nix ist da, bitte um hilfe...



    ps. das tut wo man sehen soll wie man alles einfügt von der DT seite geht ja nicht, wäre nett das i-wie zu erneuern

    ok muss dann aber noch ne klammer hin sonst kommt fehler:


    GivePlayerMoney(playerid, (GetPlayerMoney(pID)*0,01));
    GivePlayerMoney(pID, -(GetPlayerMoney(pID)*0,01));

    wenn ich /rob id mache, sollen 5 % des gegenübers abgezogen werden...


    also Getplayermoney * 0,05...


    hab das so:
    GivePlayerMoney(playerid, (GetPlayerMoney(pID)*0,05));
    GivePlayerMoney(pID,( GetPlayerMoney(pID)*0,05));



    ist das so richtig?

    wie mache ich das, wenn jemand /ad schreibt, ein timer für alle gestartet wird, damit keiner mehr vor 60 sekunden /ad schreiben kann?

    ocmd:arrest(playerid,params[])
    {
    if(Fraktion(playerid,1)||Fraktion(playerid,2))//ist er in Fraktion 1 oder 2
    if(IsPlayerInRangeOfPoint(playerid,2,200.6969,168.2510,1003.0234))
    {
    new pID,string[128],Float:PosX, Float:PosY, Float:PosZ;
    {
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze: /arrest [ID]");
    if(GetPVarInt(pID,"Wanteds") == 0)return SendClientMessage(playerid,ROT,"Der Spieler hat keine Wanteds!");
    if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Spieler nicht gefunden");
    if(pID == playerid)return SendClientMessage(playerid,ROT,"Du kannst dich nicht selber einsperren!");
    {
    GetPlayerPos(pID,PosX,PosY,PosZ);
    if(IsPlayerInRangeOfPoint(playerid, 5.0 ,PosX, PosY, PosZ))
    {
    SetTimer("Jailtimer1",GetPVarInt(pID,"Wanteds")*60000,0);
    Jailtimer = SetTimerEx("Jailtimer2", 2000, 1,"i",playerid);
    SetPVarInt(pID,"Jailtime",GetPVarInt(pID,"Wanteds")*60000);
    SetPlayerWorldBounds(pID,203.9931,188.1784,180.7820,156.5854);
    format(string, sizeof string,"Du hast %s verhaftet!",Spielername(pID));
    SendClientMessage(playerid,BLAU,string);
    format(string, sizeof string,"Du wurdest von %s verhaftet!",Spielername(playerid));
    SendClientMessage(pID,BLAU,string);
    new Float:RandomSpawnJail[][4] =
    {
    {193.2786, 174.6594, 1003.0234, 3.4033},
    {197.5484, 174.7399, 1003.0234, 1.2100},
    {198.3096, 161.9169, 1003.0300, 181.9817}
    };
    new rand = random(sizeof(RandomSpawnJail));
    SetPlayerPos(pID, RandomSpawnJail[rand][0], RandomSpawnJail[rand][1],RandomSpawnJail[rand][2]);
    SetPlayerFacingAngle(pID, RandomSpawnJail[rand][3]);
    SetPVarInt(pID,"Wanteds",0);
    SetPlayerWantedLevel(pID, 0);
    SetPVarInt(pID,"Jail",1);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe");
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du kannst hier niemanden verhaften!");
    }
    return 1;
    }


    forward Jailtimer1(playerid);
    public Jailtimer1(playerid)
    {
    SetPlayerPos(playerid,200.6969,168.2510,1003.0234);
    SendClientMessage(playerid,BLAU, "Du hast deine Haftstrafe erfolgreich abgesessen!");
    SetPVarInt(playerid,"Jail",0);
    SetPlayerWorldBounds(playerid,20000,-20000,20000,-20000);
    }
    forward Jailtimer2(playerid);
    public Jailtimer2(playerid)
    {
    if(GetPVarInt(playerid,"Jailtimer") == 0)
    {
    KillTimer(Jailtimer);
    }
    else
    {
    if(GetPVarInt(playerid, "Jail") == 1)
    {
    SetPVarInt(playerid,"Jailtime",-2000);
    SpielerSpeichern(playerid);
    SendClientMessage(playerid, ROT, "2Sekunden weniger");
    }
    }
    }




    das ist mein befehl mit den beiden publics, welche aufgerufen werden sollen...
    doch die timer funktionieren nicht.... es wird zb. von der Variable der Spielerdatei einfach nicht alle 2 sekunden 2000 abgezogen...
    man kommt auch nicht nach 60000 msekunden frei....
    kann mir wer mit den timern helfen, das die richtig funktionieren


    //e
    kennt sich keiner mit dem problem aus?

    finde das das ein wenig problemtisch werden kann, also zb. wenn man in einen baum fliegt... dann ist das pickup am arsch der welt in der luft...


    aber wenn du willst, mach es so:
    onplayerdeath:
    SetPlayerVirtualWorld(playerid,playerid+1); //wenn du möchtest das alle in die vw1 kommen ersetzte playerid+1 mit 1
    deathpickup = CreatePickup(Pickupid, 0, X, Y, Z, playerid); //somit wird das pickup nur in die virtuellewelt gesetzt, in welcher der spieler ist...


    und dann bei onplayerpickuppickup:
    DestroyPickup(deathpickup);
    SetPlayerVirtualWorld(playerid, 0);
    SpawnPlayer(playerid);

    als ich hab kp warum das nicht funktioniert...
    ich schreib mal daneben was nicht funktioniert:


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name [MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    dini_IntSet(Spielerdatei,"Level",1);
    dini_IntSet(Spielerdatei,"Geld",10000);
    dini_IntSet(Spielerdatei,"Adminlevel",0);
    dini_IntSet(Spielerdatei,"Fraktion",0);
    dini_IntSet(Spielerdatei,"Leader",0);
    dini_IntSet(Spielerdatei,"Member",0);
    dini_IntSet(Spielerdatei,"Wanteds",0);
    dini_IntSet(Spielerdatei,"Job",0);
    dini_IntSet(Spielerdatei,"BSkill",0);
    dini_IntSet(Spielerdatei,"MSkill",0);
    dini_IntSet(Spielerdatei,"Fuehrerschein",0);
    dini_IntSet(Spielerdatei,"Motorradschein",0);
    dini_IntSet(Spielerdatei,"Jail",0);
    dini_IntSet(Spielerdatei,"Jailtime",0);
    dini_IntSet(Spielerdatei,"Firstskin",1); //der wert wird einfach nicht auf 1 gesetzt... also man registriert sich.. nix passiert.. bleibt auf 0
    dini_IntSet(Spielerdatei,"Banned",0);
    SetPlayerScore(playerid,1);
    SetPVarInt(playerid,"loggendin",1); //wird erstgarnicht in der spielerdatei angezeigt
    SpawnPlayer(playerid); //man wird auch nicht gespawnt
    SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
    return 1;
    }




    kann mir wer helfen?
    warum geht das nicht..
    die anderen werte klappen doch auch
    also geld usw

    hab mir hier was erstellt:


    ganz oben:
    new Skinauswahl[MAX_PLAYERS];


    neuer stock:
    stock ErsteSkinauswahl(playerid)
    {
    SetPlayerPos(playerid, 2284.1350,2122.9329,32.8281);
    SetPlayerFacingAngle(playerid,80);
    SetPlayerCameraPos(playerid, 2280.9590,2123.3318,32.8281);
    SetPlayerCameraLookAt(playerid, 2284.1350,2122.7329,32.8281);
    TogglePlayerControllable(playerid, 0);
    Skinauswahl[playerid] = 1;
    return 1;
    }


    bei OnplayerKeystatechange:


    if(newkeys == KEY_LEFT)
    {
    if(Skinauswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 10);
    }
    }
    else if(newkeys == KEY_RIGHT)
    {
    if(Skinauswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 11);
    }
    }


    wenn ich dann hier den befehl eingebe.. also zum testen:
    if(strcmp(cmdtext,"/skina",true) == 0)
    {
    ErsteSkinauswahl(playerid);
    return 1;
    }


    jetzt wenn ich zur auswahl komme...
    und links oder rechts eingebe, passiert nix?
    woan liegt das?....


    zudem wie mache ich es, das ich eine liste aufstelle von skins...
    also zb. 1, 20, 34, und 80...
    und dann wenn ich links mache der nächste aus der liste kommt, bzw bei rechts der davor?

    da du ja beim register die auswahl haben möchtest.. musst du den spieler nicht direkt spawnen lassen...
    anders aber beim login...
    also wenn er sich einloggt wird er gleich gespawnt



    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    SpielerLaden(playerid);
    SendClientMessage(playerid,GELB,"Du hast dich erfolgreich eingeloggt");
    SpwanPlayer(playerid);//hier wird der spieler gespawnt, sollte er das passwort erfolgreich eingegeben haben
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast ein falsches Passwort eingegeben!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gebe das Passwort des Accounts ein!","Login","Cancel");
    return 1;

    }
    }



    musst halt richtig einrücken...
    bei fragen schreib =D

    Hab hier einen Dialog:


    ShowPlayerDialog(playerid,DIALOG_MUELL,DIALOG_STYLE_MSGBOX,"Bereit?","Du bist kurz davor die Tour zu starten. /n Du erhältst für jeden Punkt welchen du abfährst 100$-200$ /n Zudem steigt dein Müllskill jedes mal um 1! /n Bis du bereit?","JA","NEIN");


    Aber ingame ist der Dialog trotzdem nur in einer zeile + /n wird angezeigt...
    was ist daran falsch?