Beiträge von [MM]Marco

    Abend,


    Ich hätte eine Frage zum Spieler Pos in einer dini zu speichern.


    Also ich frage ja die Pos des Spielers mit GetPlayerPos(playerid) ab,




    kann ich das dann so machen:


    new Float:posx, Float:posy, Float:posz;
    GetPlayerPos(playerid, posx, posy, posz);
    SetPVarInt(playerid,"X",posx);
    SetPVarInt(playerid,"Y",posy);
    SetPVarInt(playerid,"Z",posz);



    LG



    Kann ich so die Position speichern?

    Hallo,




    was ist an diesem befehl falsch? ich bekomme weder errors nochw arnings, aber Ingame steht Unknown command...


    ocmd:wiederleben(playerid,params[])
    {
    new Float:posx, Float:posy, Float:posz;
    new pID,string[50];
    GetPlayerPos(playerid, posx, posy, posz);
    //GetPlayerPos(playerid, posx, posy, posz);
    if(IsPlayerConnected(playerid))
    {
    if(isPlayerInFrakt(playerid,6))
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /wiederbeleben [Spielername/ID]");
    {
    //if(!IsPlayerInRangeOfPoint(playerid,2,TotX[i],TotY[i],TotZ[i]))return SendClientMessage(playerid,COLOR_GRAU,"Du befindest dich nicht bei der Leiche");
    //{
    if(GetPVarInt(pID, "Todtime") < 0)return SendClientMessage(playerid,COLOR_GRAU,"Der Spieler ist nicht Tot!");
    if(GetPVarInt(pID, "Todtime") >= 1)
    {
    SetPlayerPos(pID,posx+3,posy,posz);
    format(string,sizeof(string),"Du hast %s erfolgreich wiederbelebt!",SpielerName(pID));
    SendClientMessage(playerid,COLOR_GRÜN1,string);
    }
    //}
    }
    }
    }
    }
    return 1;
    }



    Hilfe wäre echt super!


    MFG

    Namespace, du weißt wohl genau was ich vorhabe :D


    das ganze soll ein wiederbelebe Befehl werden, wenn der Spieler sich bei dem Pickup befindet und den Namen eingibt der vom Textlabel ausgegeben wird, soll man den Tooten wieder beleben können...



    Ich zeig am besten mal, wie ich das gemacht habe... nur die beiden Abfragen (ob er sich an Position x befindet und den Namen eingibt, der vom Textlabel ausgegeben wird habe ich noch nicht):


    ocmd:wiederleben(playerid,params[])
    {
    new Float:posx, Float:posy, Float:posz;
    new pID;
    GetPlayerPos(playerid, posx, posy, posz);
    //GetPlayerPos(playerid, posx, posy, posz);
    if(IsPlayerConnected(playerid))
    {
    if(isPlayerInFrakt(playerid,6))
    {
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /wiederbeleben [Spielername/ID]");
    {
    //if(IsPlayerInRangeOfPoint(playerid,hier möchte ich abfragen ob spieler1 in der nähe eines textlabels ist und))
    //{
    SetPlayerPos(playerid,posx,posy,posz);
    SendClientMessage(playerid,COLOR_GRÜN1,"Du hast blabla erfolgreich wiederbelebt");
    //}
    }
    }
    }
    return 1;
    }




    Also wie gesagt, ich bekomme nur die beiden Abfragen nicht hin :S

    Ah Dankeschön :D


    Da war mein Fehler :)



    //Edit:


    Eine Frage hätte ich noch:


    Wie kann ich jetzt abfragen ob sich ein anderer Spieler in der nähe des Textlabels befindet?

    Guten Abend,


    Ich habe ein kleines Problem,


    Ich bekomme folgende Warnung:


    C:\.pwn(6329) : warning 213: tag mismatch


    Das ganze ist in dieser Zeile:


    spawntext[playerid] = Create3DTextLabel("Test", 0x8C8C8CFF, posx, posy, posz, 20.0, 0);


    Ich möchte unter onplayerdeath das 3d Text Label erstellen und bei on playerspawn wieder löschen.


    das ganze habe ich so definiert:


    new totentext[MAX_PLAYERS];


    Was mache ich falsch?


    LG

    Also, ich habe das ganze jetzt nochmal mit nem Kumpel ausprobiert, aber das klappt immer noch nicht, nur für den besitzer des fahrzeuges ist das fahrzeug abgeschlossen...


    hier nochmal der befehl:


    if(strcmp(cmd, "/carlock", true) == 0)
    {
    new file[50];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(file,50,"/Cars/%s.txt",name);
    for(new i = 0; i<GetMaxPlayers();i++)
    if(gPlayerHasCar[playerid] == 1)
    {
    new v, Float:vehx, Float:vehy, Float:vehz;
    v = Vehicle[playerid];
    GetVehiclePos(v, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
    {
    if(VehicleInfo[playerid][Locked] == 0)
    {
    SetVehicleParamsForPlayer(v, i, 0, 1);
    //SetVehicleParamsForPlayer(v, playerid, 0, 1);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~r~Fahrzeug abgeschlossen", 3000, 6);
    dini_IntSet(file,"Locked",1);
    VehicleInfo[playerid][Locked] = 1;
    //VLock[vehicleid] = 1;//algemeine variable abgeschlossen
    gVehLocked[v] = 1;
    return 1;
    }
    if(VehicleInfo[playerid][Locked] == 1)
    {


    SetVehicleParamsForPlayer(v, i, 0, 0);
    //SetVehicleParamsForPlayer(v, playerid, 0, 0);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~g~Fahrzeug aufgeschlossen", 3000, 6);
    dini_IntSet(file,"Locked",0);
    VehicleInfo[playerid][Locked] = 0;
    gVehLocked[v] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist nicht in der Nähe deines Fahrzeuges.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du besitzt kein Fahrzeug.");
    }
    return 1;
    }

    hier:


    ocmd:cuff(playerid,params[])
    {
    if(isPlayerInFrakt(playerid,1)||isPlayerInFrakt(playerid,2)||isPlayerInFrakt(playerid,3))
    {
    new pID, string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /cuff [Spieler/ID]");
    new Float:posx, Float:posy, Float:posz;
    GetPlayerPos(pID, posx, posy, posz);
    if(!IsPlayerInRangeOfPoint(playerid, 10.0, posx, posy ,posz)) return SendClientMessage(playerid, COLOR_GRAU, "Der Spieler ist zu weit weg!");
    {
    TogglePlayerControllable(pID, 0);
    }
    format(string,sizeof string,"Beamter %s hat dich gefesselt!",SpielerName(playerid));
    SendClientMessage(pID,COLOR_HELLBLAU,string);
    format(string, sizeof string,"Du hast %s gefesselt!",SpielerName(pID));
    SendClientMessage(playerid,COLOR_HELLBLAU,string);
    GameTextForPlayer(pID, "~r~~r~~r~~r~~r~~r~~G~gefesselt!", 3000, 5);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Beamter!");
    }
    return 1;
    }

    Nabend,


    Ja ich weiß normalerweise darf ich kein problem mit onplayercontrolable haben, aber wenn man jmd freezt, kann derjenige sich nicht bewegen ud sich nicht umgucken, aber ein anderer sieht wie er schießt und springt und auf der stelle läuft, wenn er die entsprechenden tasten drückt.


    Wie bekomme ih das weg?


    Ich meine wenn der gefreezte schießt und mich trifft zieht er mir sogar heal ab

    okay hard base, ich glaube deine sache ist richtig, ich probiers nachher mal mit nem kumpel aus, wenn er wieder da ist ;) Danke rotzdem, auch an alle anderen, die nadere Möglichkeit Sarruths müsste ja eig auch funktionieren, aber hard_base ist leichter zu ändern ;)


    ja das mit v habe ich ja auch so :D

    Also ich habe bereits einen Car lock befehl erstellt, Er klappt auch, aber das Fahrzeug ist nur für mich, den der spieler gehört abgeschlossen, alle anderen können in das Fahrzeug.


    Hier mal der befehl:


    if(strcmp(cmd, "/carlock", true) == 0)
    {
    new file[50];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(file,50,"/Cars/%s.txt",name);
    if(gPlayerHasCar[playerid] == 1)
    {
    new v, Float:vehx, Float:vehy, Float:vehz;
    v = Vehicle[playerid];
    GetVehiclePos(v, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
    {
    if(VehicleInfo[playerid][Locked] == 0)
    {
    SetVehicleParamsForPlayer(v, playerid, 0, 1);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~r~Fahrzeug abgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",1);
    VehicleInfo[playerid][Locked] = 1;

    gVehLocked[v] = 1;
    return 1;
    }
    if(VehicleInfo[playerid][Locked] == 1)
    {
    SetVehicleParamsForPlayer(v, playerid, 0, 0);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~g~Fahrzeug aufgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",0);
    VehicleInfo[playerid][Locked] = 0;
    gVehLocked[v] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist nicht in der Nähe deines Fahrzeuges.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du besitzt kein Fahrzeug.");
    }
    return 1;
    }

    Hallo,


    Ich habe ein Problem, ich erstelle gerade einen /verkwaffe Befehl und bekomme folgenden Error:



    C:\.pwn(3474) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hier ist mein Befehl:


    ocmd:verkwaffe(playerid,params[])
    {
    new waffe,pID,munition;
    if(!isPlayerInJob(playerid,9))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Waffendealer!");
    {
    if(sscanf(params,"usi",pID,waffe,munition))return SendClientMessage(playerid,COLOR_BLAU,"Benutze: /sellgun [Spielername/ID] [Waffe] [Munitionanzahl]");
    {
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der Spieler ist nicht online!");
    {
    if(strcmp(waffe, "deagle", true) == 0)// <- Hier ist der Error
    {
    GivePlayerWeapon(pID,24,munition);
    SendClientMessage(playerid,COLOR_HELLBLAU,"Test: Du hast die Deagle bekommen :D");
    }
    }
    }
    }
    return 1;
    }


    wäre supi wenn mir jemand helfen würde :)


    MFG