Beiträge von kartoffelde

    Vorab:
    Ich habe mehrfach gegooglet, mir zich includes von ocmd runterladen, sscanf unten im GM gehabt und als include, und ingame kann ich es einfach nicht groß schreiben.


    Habe die OCMD.inc 2.0.0

    Zitat

    OCMD 2.0.0

    sscanf hab ich ebenfalls als include(v 1.1)


    Und ingame kann ich einfach nicht /kIcK schreiben oder so.

    Ah okay, danke!:)

    Heyho,
    Das Problem ist, dass das ganze nur funktioniert, wenn man id 0 hat. Hat man >ID 1, dann passiert nach der Meldung "Die Bombe in deinem Flugzeug geht in einer Sekunde hoch." nichts mehr :S


    Der Befehl:

    ocmd:zund(playerid,params[])
    {
    if(!IsPlayerInFrak(playerid,1)) return 1;
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,DROT,"Du bist nicht in einem Dodo!");
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 593) SendClientMessage(playerid,DROT,"Du bist nicht in einem Dodo!");
    if(GetPlayerVehicleSeat(playerid) == 1) return SendClientMessage(playerid,HGRAU,"Du bist nicht der Pilot!");
    if(GetPVarInt(playerid,"Zund") == 1) return SendClientMessage(playerid,HGRAU,"Die Bombe ist bereits scharf.");
    SendClientMessage(playerid,LROT,"Die Bombe in deinem Flugzeug geht in einer Sekunde hoch.");
    SetTimerEx("Zund",1000,false,"i",playerid);
    SetPVarInt(playerid,"Zund",1);
    return 1;
    }


    Und der Public:

    public Zund(playerid)
    {
    new Float:vx,Float:vy,Float:vz,vehid;
    vehid = GetPlayerVehicleID(playerid);
    GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
    SetPVarInt(playerid,"Zund",0);
    for( new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerInRangeOfPoint(i,50,vx,vy,vz))
    {
    SetPlayerHealth(i,-1999);
    SendClientMessage(i,LROT,"Du bist durch ein Flugzeuganschlag gestorben");
    CreateExplosion(vx,vy,vz,0,50);
    SetVehicleToRespawn(vehid);
    return 1;


    }
    else
    {
    return 1;
    }
    }
    return 1;
    }

    Hey,
    Ich wollte es bei meinem Script so machen, dass ein Admin Ingame den Spawn ändern kann von einer Fraktion. Dass Speichern der Koordinaten in die .txt datei klappt alles super.
    Bloß hab ich Probleme mit dem spawnen, da dann immer die Koordinanten "0.00000 0.00000 0.00000" kommen.


    public OnPlayerSpawn(playerid)
    {
    new Frakdatei[128],fID,fName[64],string[128];
    format(Frakdatei,sizeof(Frakdatei),"/Fraktionen/%s.txt",fName);
    fID = GetPVarInt(playerid,"FraktionID");
    switch(fID)
    {
    case 0:{fName = "Zivilist";}
    case 1:{fName = "Terroristen";}
    case 2:{fName = "LSPD";}
    case 1337:{fName = "Testfraktion";}
    }
    format(string,sizeof(string),"Spawn: %f x; %f y; %f z",dini_Float(Frakdatei,"Spx"),dini_Float(Frakdatei,"Spx"),dini_Float(Frakdatei,"Spx"));
    switch(GetPVarInt(playerid,"FraktionID"))
    {
    case 0:{}
    case 1337:{SendClientMessage(playerid,HGRAU,string);}
    }
    return 1;
    }


    Okay, habe meinen Fehler gefunden, musste format(Frakdatei,sizeof(Frakdatei),"/Fraktionen/%s.txt",fName) unter den ersten switch machen :D