Virtuele Welt ändern auf befehl

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin ich suche ein Tutorial das mir erklärt wie ich mit einem befehlt, wie /dm in eine andere virtuelle welt komme. z.b die normale welt ist ja 1, und wen man /dm macht kommt mal in welt 2. Man soll bestimmte waffen bekommen, und an einer bestimten stelle gespawnt werden.
    Danke

  • wie?
    ist doch einfach
    einen teleport irgendwo anders hin
    oder was meinst du?

  • 1. die normale virtuelle welt id ist 0!
    2. versuchs mit dcmd!


    hier wäre der code wenn du alle definitionen hast:
    public OnPlayerCommand...
    {
    dcmd(SetVW, 5, cmdtext);
    }


    dcmd_SetVW(playerid, params[])
    {
    new virtualid;
    if (sscanf(params, "d", virtualid))
    {
    return sendclientmessage(playerid,farbe,"virutalid");
    }
    setplayervirtualworld(playerid,virtualid);
    return 1;
    }


    MfG
    Blank

    Du auch?

  • ja aber ich will es so machen


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/DM", cmdtext, true, 10) == 0)
    {
    SetPlayerVirtualWorld(playerid,2);
    GivePlayerWeapon(playerid,waffenid,munition)
    SetPlayerPos(playerid,x,y,z)
    return 1;


    ist das so richtig. ???
    Auser das ich X Y Z einfügen muss und so.

  • Also ich krige 5 warnings.


    C:\Users\Patrick\Desktop\Stunt\Stunt2.pwn(75) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Stunt\Stunt2.pwn(75) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Stunt\Stunt2.pwn(75) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Stunt\Stunt2.pwn(75) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Stunt\Stunt2.pwn(76) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Warnings.



    zeile 75:
    GivePlayerWeapon(playerid,24,300,16,50,29,2500);


  • if(!strcmp("/DM", cmdtext))
    {
    SetPlayerVirtualWorld(playerid,2);
    GivePlayerWeapon(playerid,waffenid,munition);//Vergiss das ; nicht!
    SetPlayerPos(playerid,x,y,z);//Vergiss das ; nicht!
    return 1;
    }

    //Edit geb die waffen nacheinander du kannst nicht einfahc per komma die waffen ändern :huh:

    GivePlayerWeapon(playerid,waffe1,ammo1);
    GivePlayerWeapon(playerid,waffe2,ammo2);
    GivePlayerWeapon(playerid,waffe3,ammo3);
    GivePlayerWeapon(playerid,waffe4,ammo4);
    GivePlayerWeapon(playerid,waffe5,ammo5);

  • Danke jetst klapts. Habs auch schon ausprobirt danke^^


    edit: weiß jemand wie ich mache das ein befehl nur in einer bestimmter Virtuelen Welt genutzt werden kann????


    1. Befehl:
    if(!strcmp("/dm", cmdtext))
    {
    SetPlayerVirtualWorld(playerid,0);
    GivePlayerWeapon(playerid,24,300);
    GivePlayerWeapon(playerid,16,50);
    GivePlayerWeapon(playerid,29,2500);
    SetPlayerPos(playerid,2028.8776,1343.4323,10.8203);
    SendClientMessage(playerid,0x999999FF,"Wilkommen in der DM Zone");


    Man soll den befehl nur in der 0. Virtuellen Welt benutzen können


    if(!strcmp("/stunt", cmdtext))
    {
    SetPlayerVirtualWorld(playerid,1);
    SetPlayerPos(playerid,2028.8776,1343.4323,10.8203);
    SendClientMessage(playerid,0x999999FF,"Wilkommen in der Stunt Zone");
    Dieser befehl soll nur in der 1. Virtuelen Welt benutzt werden können.

    3 Mal editiert, zuletzt von Patrickk. ()

  • Danke klappt^^


    Aber jetst habe ich versucht zu machen das wen man in Virtuele welt 0 Stirbt an einer bestimmten stelle hinkommt, und wen man in Virtuelle welt 1 Stirbt an einer anderen virtuellen stelle hinkommt.
    Aber es klappt bei mir. Ich habe es so:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(GetPlayerVirtualWorld(playerid) == 1) {
    }
    SetPlayerPos(playerid,652.6160,-2110.2222,5.7314);

    if(GetPlayerVirtualWorld(playerid) == 0) {
    }
    SetPlayerPos(playerid,2028.8776,1343.4323,10.8203);
    return 1;
    }


    Also errors gibts keiner, aber wen ich es teste klappt es nicht so wie ich es will. Wen man in Wirtuellen Welt 1 stirbt stirbt man kommt aber zur stelle von 0 und dan stirbt man noch mal und kommt dan allerdings zum Spawnpunkt. Aber wen man in 0 stirbt kommt man zur richtigen stelle, aber man stirbt auch wieder und man kommt zum spawn punkt.
    weiß einer wie ich es machen muss damit es richtig ist??

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if(GetPlayerVirtualWorld(playerid) == 1)return SetPlayerPos(playerid,652.6160,-2110.2222,5.7314);
    if(GetPlayerVirtualWorld(playerid) == 0)return SetPlayerPos(playerid,2028.8776,1343.4323,10.8203);
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion