Beiträge von Nicorotom

    Hallo Community,
    ich habe diesen Guide([ SCRIPTING ] Checkpoints abfahren) befolgt um Checkpoints für einen Piloten zu erstellen.
    Klappt alles wunderbar.
    Nun ist allerdings meine Frage:
    Wie kann ich es einbauen, das an einem bestimmten Checkpoint ein Ereignis passiert?
    Eingebaut ist dort ja, das bei jedem Checkpoint eine Nachricht kommt und beim letzten man Geld dazukriegt.


    Gruß,
    Nicorotom

    Ok danke Leute, funktioniert nun alles ;)
    Ich habe das nun wiefolgt:
    if(strcmp(cmdtext,"/bombe",true)==0){
    if(gTeam[playerid]==TEAM_TERRORIST)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    bombe = CreateObject(1252,X,Y,Z,0,0,0);
    bombetimer = SetTimer("bombeexplodiert",5000,0);
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht bei den Terroristen!");
    }
    return 1;
    }


    Timer:
    public bombeexplodiert(playerid)
    {
    new Float:XX,Float:YX,Float:ZX;
    GetObjectPos(bombe,XX,YX,ZX);
    CreateExplosion(XX,YX,ZX,10,5);
    DestroyObject(bombe);
    KillTimer(bombetimer);
    return 1;
    }


    Funktioniert Prima ;)
    Danke euch allen :D

    Ok habe dir mein Script gesendet.


    //EDIT:
    Oben steht:
    new bombe[MAX_PLAYERS];
    new bombetimer;
    #define bombemenu 0


    Ok nun habe ich einen neuen Fehler:
    D:\gta server\0.3\gamemodes\udm.pwn(442) : warning 235: public function lacks forward declaration (symbol "bombeexplodiert")


    Betroffene Zeile:
    public bombeexplodiert(playerid)

    Doch,
    new bombpickup[MAX_PLAYERS]; das habe ich als new bombe[MAX_PLAYERS]; reingeschrieben und bombetimer, so heißt mein timer denn ich einsetze um nach 5 sekunden eine explosion beim pickup erscheinen zu lassen.
    bombe[playerid] = CreatePickup... habe ich auch eingefügt, wie du sehen kannst.
    Also ich weiß einfach nicht woran es liegen könnte :-/
    Das Timer Public zeigt auch keine Fehler an. Nur die Zeile mit bombe[playerid] = CreatePickup...

    Kann mir keiner bei den Fehlern helfen?


    //EDIT:


    Hier nochmal die Fehler:
    D:\gta server\0.3\gamemodes\udm.pwn(270) : error 029: invalid expression, assumed zero
    D:\gta server\0.3\gamemodes\udm.pwn(270) : error 029: invalid expression, assumed zero
    D:\gta server\0.3\gamemodes\udm.pwn(270) : warning 215: expression has no effect
    D:\gta server\0.3\gamemodes\udm.pwn(270) : error 001: expected token: ";", but found "]"
    D:\gta server\0.3\gamemodes\udm.pwn(270) : fatal error 107: too many error messages on one line


    Und die Zeilen:
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+2);
    bombe[playerid] = CreatePickup(1252,1,X,Y,Z,0);
    bombetimer = SetTimer("bombe",5000,0);


    //EDIT2:
    Brauche wirklich dringend Hilfe!
    Will es heute endlich schaffen!

    Folgende Fehler:
    D:\gta server\0.3\gamemodes\udm.pwn(269) : error 029: invalid expression, assumed zero
    D:\gta server\0.3\gamemodes\udm.pwn(269) : error 029: invalid expression, assumed zero
    D:\gta server\0.3\gamemodes\udm.pwn(269) : warning 215: expression has no effect
    D:\gta server\0.3\gamemodes\udm.pwn(269) : error 001: expected token: ";", but found "]"
    D:\gta server\0.3\gamemodes\udm.pwn(269) : fatal error 107: too many error messages on one line


    Zeile:
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+2);
    bombe[playerid] = CreatePickup(1252,1,X,Y,Z,0);


    Kannste mir denn erklären, wie ich die Position des Pickups abfrage? Weil ich ja keine Koordinate angebe.


    //EDIT:
    Ok, die Position habe ich schonmal abgefragt.
    Allerdings tauchen immernoch die Errors von oben auf!
    Sonst funktioniert alles soweit, würden diese Errors nicht auftreten :-/

    Ok soweit klappt das, nun will ich, wenn das Pickup erstellt ist, dass nach 5 Sekunden die Bombe explodiert. Dies würde ich dann mit CreateExplosion machen.
    Allerdings finde ich keinen Befehl, die Position eines Pickups abzufragen :-/
    Könnt ihr mir bitte den Code sagen?
    Kriege das mit dem Timer nicht so wirklich hin.

    Hallo Leute,
    ich wollte für meinen Server ein Befehl erstellen, womit man eine Bombe legen kann, die dann explodiert.
    Das habe ich zurzeit so versucht:


    if(strcmp(cmdtext,"/bomb",true)==0){
    if(gTeam[playerid]==TEAM_TERRORIST)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerWantedLevel(playerid,2);
    CreatePickup(1252,12,X,Y,Z,0);
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht bei den Terroristen!");
    }
    return 1;
    }


    Die Probleme sind allerdings:

    • Alle Teams können Bomben legen
    • Bombe wird zwar gelegt, allerdings sollte sie nach meiner Quelle: Type: 12 Blows up a few seconds after being created. Dieses passiert allerdings nicht, ich kann Ewigkeiten warten und es explodiert nicht!
    • Das Pickup wird scheinbar gelegt(Animation sieht man), allerdings sieht man das Pickup nicht :-o Es liegt nichts auf dem Boden.
    • Wanted Level wird auch nicht vergeben(sehe keine Sterne oben bei der Lebensleiste)

    Ich hoffe Ihr könnt mir helfen ;)


    Gruß,
    Nicorotom


    //EDIT:
    Das komische ist, wenn ich das ganze per Dialogmenü mache, dann funktioniert das Prima. Allerdings will ich das per Command haben :-/

    Das machste dann einfach mit SendClientMessage
    Das machst du dann halt sooft wieviele Zeilen du haben willst, also bei 4 Zeilen zum Beispiel:
    SendClientMessage(inhalt)
    SendClientMessage(inhalt)
    SendClientMessage(inhalt)
    SendClientMessage(inhalt)


    Der Code für SendClientMessage ist folgender:
    SendClientMessage(playerid,Farbe,"Text");

    Ich finds cool ^^
    dort werde ich die leute hin spawn die ins prison Müssen :thumbup:


    9 / 10

    Das Problem wird sein:
    Es gibt eine Stelle, dort sind die Tore nicht ganz zusammen.
    Dort kannst du also ins Wasser springen und musst dann nurnoch zum Land schwimmen und schon biste frei :P

    Ok danke danke ;)
    Funktioniert nun alles ;)


    Kann ich jetzt den gleichen Code auch für meinen Hunter benutzen??


    //Edit:
    Hat sich erledigt, funktioniert auch, da der Hunter den gleichen Befehl nutzt nur halt andere Modelnummer.


    PS: Melde dich mal in ICQ 486423232

    Ok habe es so gemacht.
    Beim compilen kommt dieser Error
    D:\gta server\0.3\gamemodes\test.pwn(285) : error 017: undefined symbol "carid"
    D:\gta server\0.3\gamemodes\test.pwn(287) : error 017: undefined symbol "carid"


    //Edit:
    Habe oben nun eingetragen new carid
    nun kommt diese Warnung:
    D:\gta server\0.3\gamemodes\test.pwn(245) : warning 219: local variable "carid" shadows a variable at a preceding level
    D:\gta server\0.3\gamemodes\test.pwn(256) : warning 219: local variable "carid" shadows a variable at a preceding level

    Also:


    Ich gebe den Befehl ein
    Nun sitze ich automatisch im Turismo
    Wenn ich nun aussteige soll der Wagen verschwinden damit kein anderer den Wagen nehmen kann


    //Edit:
    Das Problem ist ja, ich kann bei OnGameModeInit nicht das einfügen was du sagtest, da der Turismo ja per Befehl geholt wird.

    Ähm funktioniert das auch so, wenn ich das als Befehl habe:


    if (strcmp("/turismo", cmdtext, true, 8 )== 0)
    {
    new Float:X,Float:Y,Float:Z,Float:Angle, carid;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Angle);
    carid = GetPlayerVehicleID(playerid);
    carid = CreateVehicle(451,X,Y,Z,Angle,-1,-1,600);
    PutPlayerInVehicle(playerid,carid,0);
    TogglePlayerControllable(playerid,true);
    return SendClientMessage(playerid, COLOR_STAFF, "Turismo wurde gespawnt!");
    }


    //Edit:
    Ich will es halt nur für den Turismo haben, den ich per Befehl hole