Beiträge von Timtrucker

    Cranka12 Ja genau es ist etwas beim new! und zwar MAX_HAUS ist doch auch beim new oder? MAX_HAUS ist nichts anderes als ein platzhalter für die Zahl 250.
    und die 250 wird genau beim "new" eingetragen. wo ist dein problem? versuch es doch wenigstens ^^ ich will dir doch nur helfen.


    mfg timtrucker

    Wenn du in deine Account datei gehst darfst du ja auch nicht nur Premium auf 12.12.12 setzen sondern du musst es so machen:


    premium = 12
    premium2 = 12
    premium3 = 12


    dann gehts! jedoch muss du premium2 und premium3 dann auch zusätslich auch auslesen und speichern lassen.


    mfg timtrucker

    Der Timer soll halt das Rennen laden, wenn das alte Absolviert ist.


    Frage: Was meinst du genau mit laden? meinst du es sollen alle Checkpoints erstellt werden und die Spieler zum Rennen Teleportiert werden oder wie?


    Dann mach das doch am besten so:
    du musst als erstes Abfragen ob jemand ins Ziel gefahren ist. ICh weiss nicht ob du das schon gemacht hast oder so. Musst du halt abfragen :)
    Dann kannst du den Timer starten:
    SetTimer("Rennen2", 20000, 0) // 20000 = 20sek. kannste verstellen wenn du willst ^^
    und dann musst du halt die funktion erstellen!


    public Rennen2()
    {
    //Code... Hier kannst du dann deine Checkpoints erstellen
    for(new i=0; i <MAX_PLAYERS; i++)
    {
    SetPlayerPos(i, posX, posY, posZ); //posX, posY und posZ, da musste deine Position vom neuen Rennen reinmachen wo die spieler hingeportet werden
    }
    }


    Wenn es das ist was du meinst: Bitteschön xD
    achja und forward Rennen2() nicht vergessen ;)


    mfg timtrucker

    Probioer doch einfach mal wirklich die schleife wegzulassen und statt der Variablke "i" einfach playerid schreiben. Also Spielerinfo[playerid][Kontunummer]
    Es wäre ein fehler wenn du alle abfragen würdest. Denn nur eine ist ja richtig und das ist die von playerid. Aber wenn du alle abfragst ist da der rest falsch. Und ich denke mal das wird dann auch der Fehler sein.


    Probier das mal:


    if(dialogid == Dialog_Transfer)//Kontonummer angeben
    {
    if(strlen(inputtext))
    {
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Kontonummer ein !");
    return 1;
    }
    new Number = strval(inputtext);
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Kontonummer ein !");
    return 1;
    }
    if(Number != SpielerInfo[playerid][KontoNummer])
    {
    ShowPlayerDialog(playerid,Dialog_Transfer,DIALOG_STYLE_INPUT,"Überweisungsfehler","Überweisung fehlgeschlagen!\nKontonummer ist ungültig!\n\nBitte gib die Kontonummer des Empfängers ein","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,"Überweisung","Gib hier den Betrag an den du überweisen möchtest","Unterschreiben","Abbrechen");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, Dialog_Terminal, DIALOG_STYLE_LIST,"Bankterminal","Einzahlen\nAuszahlen\nÜberweisen\nKontoauszug","OK","Zurück");
    }
    }
    }


    hab das mal so überarbeitet. PRobiers mal aus :D

    Wofür brauchst du denn bei Premium die Punkte? ansonsten mache doch 3 variablen und für jede Stelle:
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Coins: %i] [Geld: %i] [Warns: %i] [Premium: %i.%i.%i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Coins"),GetPlayerMoney(playerid),GetPVarInt(playerid,"Warns"),GetPVarInt(playerid,"Premium"),GetPVarInt(playerid,"Premium2"),GetPVarInt(playerid,"Premium3"),fraktname);

    Ich kenn mich jetzt zwar nicht so im Bereich dialoge aus, aber mich würds interessieren wofür du die For-Schleife gemacht hast? ?(
    Warum jeden Spieler einzelnd abfragen und nicht nur Playerid? playerid reicht doch auch:


    if(Number != SpielerInfo[playerid][KontoNummer])



    Ich glaube die Forschleife ist völlig unnötig. Denn immer wenn du eine Kontunummer eingitbts ist es ja immer die falsche, da jeder Spieler eine andere Kontuunummer hat.
    deswegen ist es immer falsch.
    mach die For-schleife weg und frag nach der Kontunummer von playerid und nicht von allen spielern

    Sag mir mal bescheid ob es geklappt hat ;)

    mfg timtrucker

    Hallo Leute!
    ich möchte von euch gerne wissen wie ich in pawn eine Camerafahrt von einem Punkt zum anderen Punkt machen kann.
    Ich habe schon versucht mit einem Timer jeden Frame sozusagen abzulaufen und dann die Aktuelle kameraposition immer wieder mit 0.01 oder sowas addieren und die Kamera dann zu dieser position setzen.
    aber irgendwie funktioniert das nicht. Weder bewegt sich die kamera, noch wechselt sie überhaput ihre position.
    So habe ich das gemacht:



    http://pastebin.de/25129



    Die Funtion MoveCameraToPos() habe ich dann bei OnPlayerSpawn() aufgerufen um es mal zu testen aber die Kamera Guckt dann einfach nur auf den Punkt den ich bei SetPlayerCameraLookAt() definiert habe aber es passiert nichts.
    Mache ich was falsch? Ist es nur ein kleiner Fehler oder ist meine ganze vorgehensweise blödsinn????
    Bitte helft mir :(


    mfg timtrucker

    TTManager
    mit dem TTmanager kannst du jetzt ganz einfach die aktuelle Spielzeit anzeigen lassen!
    Dieses Include ist denke ich auch für Anfänger sehr leicht zu bedienen und zu steuern.


    Download: http://www.mediafire.com/?847rkcsy25ac6ex


    Diese Funktionen fügt der TTmanager hinzu:


    SetTimeGUI(typeid, color, Float:size, shadow, Float:posX, Float:posY); - Eigenschaften der Anzeige (Schrifttyp, Schriftfarbe, Schriftgröße, Schatten, PositionX, PositionY). Die Aktuelle Zeit wird dann in ein TextDraw ausgegeben wie man es auch auf vielen Servern vorfindet. Standart ist die Position bei X: 547 und Y: 40 oben rechts in der Ecke über dem Lebensbalken
    ShowTimeForPlayer(playerid); - Zeigt die Zeit für "playerid" an
    StartCountTime(speed); - Die Zeit wird "gestartet" (speed gibt die Geschwindigkeit an: 1000 = 1 sekunde)
    StopCountTime(); - Die Zeit wird gestoppt
    ResetTime(); - Die Zeit wird auf 0:00 zurückgesetzt
    SetTimeHour(hour); - setzt die Stunde auf eine Definierte Zahl
    SetTimeMin(minute); - setzt die Minute auf eine Definierte Zahl
    GetTimeHour(); - Gibt die aktuelle Zeit (Stunde) zurück
    GetTimeMin(); - Gibt die aktuelle Zeit (Minute) zurück

    Das include wird mit "iclude <ttmanager>" eingebunden.

    Pastebin: http://pastebin.de/25105


    Hier zeige ich euch mal ein kleines Beispiel wie man es machen könnte:


    Spoiler anzeigen
    public OnGameModeInit()
    {
    SetTimeGUI(1, 0xBEBEBEFF, 0.7, true, 547, 40); // Zeigt die Zeit in der oberen rechten ecke über den Lebensbalken an
    StartCountTime(1000); // Reale Geschwindigkeit: 60000
    return 1;
    }

    Spoiler anzeigen
    public OnGameModeExit()
    {
    StopCountTime(); // Diese Funktion wird nicht unbedingt benötigt, aber könnte vllt Bugs verhindern
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    ShowTimeForPlayer(playerid); // Zeigt die Zeit für den Spieler an wenn er connected
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    //Ein Beipiel CMD der die Zeit um eine Strunde zurücksetzt
    if (strcmp("/settimeback", cmdtext, true, 10) == 0)
    {
    SetTimeHour(GetTimeHour() - 1);
    return 1;
    }
    return 0;
    }


    sry dass ich kein PAWN Quelltext genommen habe. Irgendiwe quetscht der den COde dann immer in eine Reie :(
    Ich hoffe ich konnte vielen helfen ;)
    mfg timtrucker