Beiträge von BOMBER

    steht im Enum das hier:


    etc...
    Float:MordeGesamt,
    Float:TodeGesamt
    etc...


    ?


    Nein nur MordeGesamt, es soll ja auch noch normal also z.b. Morde gesamt: 10 angezeigt werden und nur in der KD gefloatet werden


    //Edit: Closed, falsches Enum benutzt, SpielerInfo statt WaffenInfo, mfg :P

    Hier soll die KD-Rate angezeigt werden (ganz unten im Dialog, allerdings kommt 3x warning: Tagmismatch.


    format(string,sizeof(string),"DM-Rang: %s\nNahkampfmorde: %i\nMorde mit Deagle: %i\nMorde mit Minigun: %i\nMorde mit AK-47: %i\nMorde mit M4: %i\nMorde mit RPG: %i\nMorde mit Pumpgun: %i\nMorde mit Sniper: %i\nMorde gesamt: %i\nTode gesamt: %i\nKD-Ratio: %0.2f", DmPlatzierung(playerid),WaffenInfo[playerid][KillsMitFaust],WaffenInfo[playerid][KillsMitDeagle], WaffenInfo[playerid][KillsMitMinigun], WaffenInfo[playerid][KillsMitAK47], WaffenInfo[playerid][KillsMitM4],
    WaffenInfo[playerid][KillsMitRPG],WaffenInfo[playerid][KillsMitPumpgun],WaffenInfo[playerid][KillsMitSniper], WaffenInfo[playerid][MordeGesamt],SpielerInfo[playerid][TodeGesamt],Float:SpielerInfo[playerid][MordeGesamt]/Float:SpielerInfo[playerid][TodeGesamt]);


    MFG

    Ich würde dir empfehlen einfach eine Variable hochzählen zu lassen, sprich bei Serverstart ist diese 1, wenn nun 2 Personen in EgE geschickt werden bekommen die beiden vWorld 1, dann addierst du 1 auf deine Variable und nun kannst du die zweiten 2 Personen in die vWorld 2 schicken usw.


    Ist vielleicht nicht die beste Lösung, aber eine Lösung ^^



    Ich werds versuchen, danke.


    MFG


    //Edit: So?


    if(dialogid == DIALOG_ANNEHMEN)
    {
    if(!response)return SendClientMessage(playerid, WEISS, "Du hast die Anfrage der 1 vs 1 Einladung abgelehnt!");
    if(response)
    {
    EinsGegenEins[playerid] = 1;
    ServerWaffen(playerid,24,300);
    new rand = random(sizeof(EGESpawn));
    SetPlayerPos(playerid, EGESpawn[rand][0],EGESpawn[rand][1], EGESpawn[rand][2]);
    SetPlayerVirtualWorld(playerid,VirtualWorldEgE[playerid]+1);
    }
    }

    Naja, kommt ganz drauf an was der bzw. die Spieler für ne Virtualworld momentan haben...
    Wenn der eine Virtualworld 2 hat, und der andere aber 4, dann hat der 1. die Virtualworld 3 und der 2. Virtualworld 5...


    Setzt die Spieler doch in eine festgelegte Virtualworld?


    Nein, in jeder Virtual World sollen ja nur 2 Spieler sein, (1vs1), deshalb war meine Frage ja auch wenn der der einlädt von 0 > 1 geht, ist die bei dem eingeladen sobald er annimmt auch 1, das hab ich schon getestet.


    Aber jetzt, wenn schon 2 in Virtual World 1 sind, sollen die nächste 2 in Virtual World 2 gehen usw.


    MFG

    So habe hier mal mein system soweit fertig geschrieben, nun ist die Frage wenn z.b. 2 Spieler in EgE sind, ob die nächsten 2 denn Virtual World 2 bekommen? oder immer nur VW = 1?


    if(dialogid == DIALOG_ANNEHMEN)
    {
    if(!response)return SendClientMessage(playerid, WEISS, "Du hast die Anfrage der 1 vs 1 Einladung abgelehnt!");
    if(response)
    {
    EinsGegenEins[playerid] = 1;
    ServerWaffen(playerid,24,300);
    new rand = random(sizeof(EGESpawn));
    SetPlayerPos(playerid, EGESpawn[rand][0],EGESpawn[rand][1], EGESpawn[rand][2]);
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid)+1);
    }
    }


    Habs nun anders gemacht, aber danke :D


    [03:52:49] Error: Function not registered: 'SSCANF_Init'
    [03:52:49] Error: Function not registered: 'SSCANF_Join'
    [03:52:49] Error: Function not registered: 'SSCANF_Leave'
    [03:52:49] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"
    [03:52:49] Number of vehicle models: 0


    Ganz oben im Script >>


    #include <sscanf2>


    Das Plugin findest du hier:


    http://forum.sa-mp.com/showthread.php?t=120356


    MFG


    [03:47:09] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"
    [03:47:09] Number of vehicle models: 0


    Und dann ?


    Plugins sind alle drinne und neue :)


    Hol dir mal die Nativechecker.dll, denn siehste welche File fehlt


    Einfach als Plugin einbinden, und schick denn noch mal den Errorcode aus der Konsole, MFG


    //Edit: Meinte File, nicht Include :P
    //Edit²: Meinte als Plugin einfügen nicht als Filterscript -.-


    Link: http://forum.sa-mp.com/showthread.php?t=249226


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER) //ab hier geht alles
    {
    for(new i=0; i<sizeof(fbiCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==fbiCar[i])
    {
    if(SpielerInfo[playerid][pFraktion] !=2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Grau,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }
    }
    }


    for(new i=0; i<sizeof(pdCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==pdCar[i])
    {
    if(SpielerInfo[playerid][pFraktion] !=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Grau,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }
    }
    }
    return 1;
    }

    Hier, die Klammern musst du selbst fixxen, du brauchst nicht 2x if(newstate == Player_state_driver und 3x return 1; einfügen.


    MFG


    //UNGETESTET! (Enum o.ä UMSCHREIBEN!)
    ocmd:takewarn(playerid, params[])
    {
    new pID;
    If(!IsPlayerAnAdmin(playerid, 1-5))return SendClientMessage(playerid, FARBE, "Du hast keine Rechte um diesen Befehl auszuführen"); //Muss angepasst werden
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, FARBE, "Benutze: /takewarn ID");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, FARBE, "Dieser Spieler ist offline!");
    new string[128];
    format(string, sizeof(string), "%s hat deine Warns gecleart!", SpielerName(playerid)); //Sollte angepasst werden
    if(SpielerInfo[pID][Warns] > 0)
    {
    SpielerInfo[pID][Warns] -= 1;
    SendClientMessage(pID, FARBE, string);
    } else return SendClientMessage(playerid, FARBE, "Dieser Spieler hat keine Warns!");
    return 1;
    }


    Hoffe das hilft dir weiter. ;)


    //Edit: Fehler vorbehalten, grad schnell ausm Kopf geschrieben. :whistling:

    okay dann muss der fehler hier
    GetPlayerPos(pID, GodX, GodY, GodZ);
    CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
    irgendwo liegen. Ich hab das nämlich bei mir raus genommen und es klappte auf anhieb.


    Habe grad geschaut, naja immer noch die Meldung > Ich hätte Godmode (Habe ich aber nicht) und wenn ich mich n 2x Sprenge (dadurch sterbe), kommt die normale Nachricht dass ich kein Godmode hätte.

    Kann es sein, dass du vergessen hast dem ganzen nen return 1; zu verpassen? Ich habs gerade bei mir getestet. Dort ging es mit einem return 1;


    new Float:GottHealth;
    GetPlayerHealth(pID, GottHealth);
    GetPlayerPos(pID, GodX, GodY, GodZ);
    CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
    if(GottHealth < 80.0)
    {
    SendClientMessage(playerid, GRÜN, "Der geprüfte Spieler hat keinen Godmode!");
    } else {
    SendClientMessage(playerid, ROT, string);
    }
    return 1;
    }
    Ne, ein Return 1; ist vorhanden. :wacko:

    Grad mal versucht n Godcheck zu schreiben, funktioniert alles soweit, allerdings werden die Nachrichten vertauscht, meine HP geht unter < 80, aber es wird mir die Nachricht ausgegeben, dass ich Godmode hätte. :o


    new Float:GottHealth;
    GetPlayerHealth(pID, GottHealth);
    GetPlayerPos(pID, GodX, GodY, GodZ);
    CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
    if(GottHealth < 80.0)
    {
    SendClientMessage(playerid, GRÜN, "Der geprüfte Spieler hat keinen Godmode!");
    } else {
    SendClientMessage(playerid, ROT, string);
    }