Beiträge von Anubis

    Du musst die BizzInfo erstmal erweitern damit du das label des business welches durch die schleife gesucht wird updaten kannst.BizzInfo[h][label]



    BizzInfo[h][label] = Create3DTextLabel(string, 0x00CC33FF, BizzInfo[h][bEntranceX],BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ], 7, 0, 1);


    und zum updaten


    Update3DTextLabelText(BizzInfo[h][label],0x00CC33FF,string);

    Naja, der BSN von Nova wurde ja nicht erst beliebt nachdem dort rumgemappt wurde. Populär war er schon vorher und daraufhin wurde er dann irgendwann verschönert und entwickelte sich dann immer weiter zu einer der beliebtesten locations auf Nova. Deswegen sollte man das Thema BSN mappen nicht allzu eng sehen........



    Finde nicht das man es als Ideenklau bezeichnen kann wenn man den BSN etwas umgestaltet, solang es hinterher keine 1:1 Kopie ist.

    Ok, dann bin ich ja froh das ich es bisher auch immer so gemacht habe. Wollte es nurnoch mal bestätigt haben - danke :)




    Nur warum gibt es dann keine probleme bei variablen die innerhalb einer Funktion definiert werden um zb eine id zu speichern und dann innerhalb der funktion weiterzugeben.Diese variablen erweitert man ja nicht mit max_players bzw playerid und werden nur bei funktionsgebrauch erstellt.

    Angenommen ich definiere jetzt eine globale variable im script ->


    new variable;



    Könnte es nicht ein problem geben wenn mehrere Spieler gleichzeitig eine Funktion aufrufen welche etwas in diese variable schreibt um den inhalt dann innerhalb der funktion wieder zu verarbeiten ?

    Ich werds mal spasseshalber ausprobieren, es gibt doch diese fertigen Kuchenmischungen von Dr.Oe-........ für die Microwelle - denke da wird so ziemlich das gleiche bei rauskommen :D

    Nabend zusammen,


    Ich habe beim Serverconnect einen kleinen timer eingebaut der die position während des logins ändert da man anders wohl nicht an dem Standard Strandscreen von SAMP vorbeikommt bevor es zur ClassSelection geht.Allerdings wurde mir gemeldet das alle Spieler auf dem Server ebenfalls an diese position teleportiert werden wenn jemand mit der id 0 auf den Server kommt. Eigentlich ja keine grosse sache aber offenbar mache ich doch etwas falsch. Hoffe jemand kann mir da weiterhelfen:)


    forward skipscreen(playerid);


    SetTimer("skipscreen",1000,0);


    public skipscreen(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    SetPlayerPos(playerid, 1088.0247,-1369.1608,340.7324);
    SetPlayerCameraPos(playerid, 1088.0247,-1369.1608,340.7324);
    SetPlayerCameraLookAt(playerid, 1461.4468,-1572.5127,169.9652);
    }
    return 1;
    }

    Ich würds sowieso nicht speichern, wenn ein Spieler disconnected. Was hat das mit dem Auto zu tun?,

    Das carsystem ist unabhängig vom usersystem, das Fahrzeg wird beim connecten erstelle und beim disconnect wieder zerstört. Vorher werden aber alle carvars gespeichert, nur das klappte mit in einer schleife die das Spieelrfahrzeug sucht nicht fehlerfrei. Aber egal, wenn du sagst es wäre möglich dann habe ich sicher irgendwo einen fehler gemacht.








    Und zu Neo.......

    Zitat

    Nach der Regel ist es einem Moderator erlaubt dich wegen diesem Vergehen zu verwarnen

    Genau, s ist ihm erlaubt - das heisst nicht das er es machen muss. Und genau darauf will ich hinaus.....bischen kulanz kann man ja wohl drin sein, bin schliesslich nicht erst seit gestern hier im Forum unterwegs :thumbdown:

    Moin Moin,


    Ich hatte bis eben ein kleines problem mit meinem carsystem.


    Beim disconnect sollte mittels einer schleife nach dem playercar gesucht werden, was auch halbwegs funktionierte. Alle werte die direkt aus dem fahrzeug ausgelesen wurden (health,x,y,z) usw wurden in der fahrzeug ini gespeichert aber alles andere was laut enum vorgesehen war nicht.Danach habe ich das carsystem mit dem usersystem verknüpft und die schleife rausgenommen, die carid des playercars beim connect dann direkt mit im usersystem/pinfo gespeichert sodass das entsprechende usercar beim disconnect nicht mehr per schleife gesucht werden musste sondern direkt durch die carid aus dem usersystem/pInfo angesprochen wurde. Ergo, ohne die schleife wird nun alles was zum speichern vorgesehen ist auch gespeichert und problem gelöst :)



    Daher mal meine frage an die experten, sind schleifen unter OnPlayerDisconnect geundsätzlich nicht möglich und verursachen möglicherweise sogar fehler ? Denn unter anderem ist mir auch aufgefallen das der disconnect extrem lange dauerte und die fahrzeug ini ca 3 minuten lang ständig geöffnet und wieder geschlossen wurde ohne das änderungen stattfanden.



    Danke schonmal im vorraus :)

    Meins ist auch selfmade so wie alles in meinem GM ;)



    Unterschied zu deinem ist nur das ich den Anti Money Cheat drin verankert habe und Geldautomaten lassen sich mit Geld beliefern was vorraussetzt das bei einer abhebung vom Konto das Geld ebenfalls vom Automaten abgezogen wird und beim einzahlen eben umgekehrt.





    Aber jetzt mal back to Topic :thumbup:

    Ehm...wenn du nirgens GivePlayerMoney gemacht hast,kann es auch net gehen oder?

    Nene^^


    Das Geld wird, wie man sehen kann in der pInfo verbucht. Bei Serverstart wird ein Timer gestartet der pInfo Guthaben und die Geldanzeige von GTA abgleicht - im Prinzip ein einfacher AntiMoneyCheat.



    Haste mal in die ini geschaut nicht das es da drauf ist ^^

    Ne auch nicht, das hab ich vorher schon alles abgecheckt - beim einzahlen wird alles ordnungsgemäss verbucht -ingame,pInfo,aInfo und die beiden Inis aber beim auszahlen passiert rein garnichts.

    Ok, ich werde mal etwas genauer.



    Ich stehe also vor dem automaten, menu geht auf - ich klicke auf "einzahlung" und werde aufgefordert den betrag einzugeben den ich einzahlen möchte, das mache ich und der Betrag wird eingezahlt. Wenn ich etwas abheben möchte werde ich ebenfalls gefragt wieviel ich abheben möchte, wenn ich dann den abzuhebenden Betrag eingebe und bestätige passiert nichts.

    Hallo liebe Breadies :)


    Habe hier ein kleines problem mit meinem Bankmenu und bin ganz offensichtlich gerade etwas blind da ich schon fast eine Stunde nach dem Fehler suche .Einzahlen funktioniert reibungslos aber auszahlen nicht - bin kurz davor zu verzweifeln..............

    //------------------------------------------------------------------------------
    new updatmini[128];
    if(dialogid == atmdeposit)// atm einzahlen
    {
    if(response == 1)
    {
    new deposit = strval(inputtext);
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,atmdeposit,DIALOG_STYLE_INPUT,"","Wieviel möchtest du Einzahlen ?.","Einzahlen","Abbrechen");
    return SendClientMessage(playerid,COLOR_ROT,"Kein Betrag angegeben!");
    }
    if(pInfo[playerid][geld] <= deposit)
    {
    for(new i = 0;i<sizeof(aInfo);i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,aInfo[i][atmx],aInfo[i][atmy],aInfo[i][atmz]))
    {
    format(updatmini,sizeof updatmini,"atm/atm_%d.ini",i);
    pInfo[playerid][geld] -= deposit; dini_IntSet(save,"geld",pInfo[playerid][geld]);
    pInfo[playerid][bank] += deposit; dini_IntSet(save,"bank",pInfo[playerid][bank]);
    aInfo[i][einlagen] += deposit;dini_IntSet(updatmini,"einlagen",aInfo[i][einlagen]);
    }}
    return 1;
    }}}}
    //------------------------------------------------------------------------------
    if(dialogid == atmdisburse)// atm auszahlen
    {
    if(response == 1)
    {
    new disburse = strval(inputtext);
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,atmdisburse,DIALOG_STYLE_INPUT,"","Wieviel möchtest du abheben ?.","Auszahlen","Abbrechen");
    return SendClientMessage(playerid,COLOR_ROT,"Kein Betrag angegeben!");
    }
    if(pInfo[playerid][bank] <= disburse)
    {
    for(new i = 0;i<sizeof(aInfo);i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,aInfo[i][atmx],aInfo[i][atmy],aInfo[i][atmz]) && aInfo[i][einlagen] <= disburse)
    {
    if(aInfo[i][einlagen] <= disburse)
    {
    format(updatmini,sizeof updatmini,"atm/atm_%d.ini",i);
    pInfo[playerid][geld] += disburse;dini_IntSet(save,"geld",pInfo[playerid][geld]);
    pInfo[playerid][bank] -= disburse;dini_IntSet(save,"bank",pInfo[playerid][bank]);
    aInfo[i][einlagen] -= disburse;dini_IntSet(updatmini,"einlagen",aInfo[i][einlagen]);
    }}}
    return 1;
    }}}}



    Vielen dank schonmal im vorraus.


    Anubis

    Dazu müsste man wissen was für ein System du benutzt um deine Userdaten/Cardaten usw zu speichern.



    Dann ist die Lösung eigentlich recht simpel. Du müsstest dem Fahrzeug nur eine variable hinzufügen die standardmässig auf 0 ist, sobald jemand vom oamt das fahrzeug abgeschleppt hat setzt dieser die variable mit einem befehl auf 1 und signalisiert dem script somit das es abgeschleppt ist. Unter "public OnVehicleSpawn(vehicleid)" müsstest du dann nurnoch abfragen ob das Fahrzeug abgeschleppt wurde oder nicht und vorgeben wo das fahrzeug spawnen soll wenn der Status auf 1(abgeschleppt) ist.

    Der Befehl ist soweit in ordnung bis auf 2 Klammern die zuviel sind........machs mal so.



    if(strcmp(cmdtext, "/tortest", true) == 0)
    {
    MoveObject(BeHapper_ZU, -1794.92578125, 795.078125, 24.067102432251,2.0);
    SetTimer("BH_1",5000,0);
    return 1;
    }

    Ich würde vorschlagen, du stellst dich nochmal genau vors Tor, savest eine neue Position und trägst die dann bei IsPlayerInRangeOfPoint ein....und für die Zukunft eventuell den Radius auch noch etwas höher stellen..zb 5.....wenn mal jemand mit auto vor dem Tor steht und nicht so nah rankommt.