Beiträge von Kasakow

    Abend,


    Ich hatte eine Funktion erstellt die 'CreateVehicleEx' heißt und dachte auch erst das es daran liegt, aber anscheinend doch nicht.
    In der ServerLog steht das 1 Fahrzeug erstellt wird, dabei sind es die 5 Roller die ich in der Funktion bereits ausgeklammert hab.
    Also der Server denkt 1 Fahrzeug wird erstellt, wenn ich mich dann registriere und spawne, sehe ich 5 Roller auf einem Fleck spawnen.



    stock CreateVehicles()
    {
    /*CreateVehicleEx(462, VEHICLE_ART_RENT, 1319.3834, -1368.5138, 13.1366, 177.0136, 0, 0); //Roller1
    CreateVehicleEx(462, VEHICLE_ART_RENT, 1320.3131, -1368.5138, 13.1366, 177.0136, 0, 0); //Roller2
    CreateVehicleEx(462, VEHICLE_ART_RENT, 1321.2260, -1368.5138, 13.1366, 177.0136, 0, 0); //Roller3
    CreateVehicleEx(462, VEHICLE_ART_RENT, 1322.0990, -1368.5138, 13.1366, 177.0136, 0, 0); //Roller4
    CreateVehicleEx(462, VEHICLE_ART_RENT, 1322.9420, -1368.5138, 13.1366, 177.0136, 0, 0); //Roller5*/
    return 1;
    }



    /*stock CreateVehicleEx(modelid, art, Float:cx, Float:cy, Float:cz, Float:cr, color0, color1)
    {
    new cID = CreateVehicle(modelid, cx, cy, cz, cr, color0, color1, -1, 0);
    ServerVehicles[cID][vCarId] = cID,
    ServerVehicles[cID][vModelId] = modelid,
    ServerVehicles[cID][vArt] = art,
    ToggleVehicleEngine(ServerVehicles[cID][vCarId], false);
    return cID;
    }*/


    ->ServerLog<-

    BTW:
    Ich selber benutze die von Strickenkid ist zwar schon etwas älter, aber funktioniert! :)


    BTT:
    Falls du bei den dynamischen Sachen nicht weiterkommst schaue dir das SOM 0.6 an, da sind die Sachen auch auf R41-2

    Ja, mit großer Datenmenge meinte ich aber einen Server der mit aktiven 150-300 Spielern läuft.
    Dafür sind einfach die neueren Plugins viel praktischer.

    geht alles


    //close

    Wenn er es mit meinem Quellcode probiert hat und es deswegen funktioniert, kann ich dir sagen das der Fehler darin lag das er an stellen wo hätte, "pID" stehen müssen "playerid" getippt hat, das hat aber an dem Punkt nicht gepasst.

    Probiere es mal so



    if(IsPlayerInAnyVehicle(pID))
    {
    new seatid = GetPlayerVehicleSeat(pID);
    SetPlayerPosEx(playerid,x,y + 4,z);
    SetVehiclePosEx(GetPlayerVehicleID(playerid),x,y + 4,z);
    PutPlayerInVehicleEx(playerid,GetPlayerVehicleID(pID),seatid); //könnte aber auch daran liegen, das die Seatid besetzt ist.
    SetPlayerInterior(playerid,GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
    LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(pID));
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(pID));
    format(string,sizeof(string),"%s hat sich zu dir geportet.",SpielerName(playerid));
    SCM(pID,SAMP_GRUEN,string);
    format(string,sizeof(string),""IINFO" du hast dich zu %s geportet.",SpielerName(pID));
    SCM(playerid,SAMP_GRUEN,string);
    }
    else
    {
    SetPlayerPosEx(playerid,x,y + 1,z);
    SetPlayerInterior(playerid,GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
    format(string,sizeof(string),"%s hat sich zu dir geportet.",SpielerName(playerid));
    SCM(pID,SAMP_WEISS,string);
    format(string,sizeof(string),""IINFO" du hast dich zu %s geportet.",SpielerName(pID));
    SCM(playerid,SAMP_GRUEN,string);
    }
    return 1;
    }


    ocmd:mheal(playerid, params[])
    {
    if(!IsPlayerConneced(playerid))return 1;
    if(PlayerInfo[playerid][pTot] == 1)return SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle nutzen!");
    new giveplayerid, moneys;
    if(gTeam[playerid] != TEAM_CYAN&&PlayerInfo[playerid][pMember]!=4&&PlayerInfo[playerid][pLeader]!=4)return SendClientMessage(playerid, COLOR_RED, "Du bist kein Medic Mitglied");
    if(sscanf(params, "ui", giveplayerid, moneys))return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /mheal [ID/NAME] [Preis]");
    if(moneys < 1 || moneys > 1000)return SendClientMessage(playerid, rot, "Der Preis darf nicht weniger als 1$ und höher als 100$ sein!");
    if(giveplayerid == playerid)return SendClientMessage(playerid,rot, "Du kannst dich nicht selber Heilen!");
    if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID)
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid),
    SendClientMessage(playerid, COLOR_RED, string);
    return 1;
    }
    new playambu, Float:givehealth;
    playambu = GetPlayerVehicleID(playerid);
    givehealth = GetPlayerHealth(giveplayerid);
    if(!IsAnAmbulance(playambu))return SendClientMessage(playerid, COLOR_RED, "Du sitzt in keinem Krankenwagen");
    if(!IsPlayerInMyVehicle(playerid, giveplayerid))return SendClientMessage(playerid, COLOR_RED, "Ihr seid nicht im gleichen Wagen!");
    if(givehealth >= 99.0)return SendClientMessage(playerid, COLOR_RED, "Der Spieler hat genug leben");
    if(STDPlayer[giveplayerid] > 0)
    {
    STDPlayer[giveplayerid] = 0;
    SendClientMessage(giveplayerid, COLOR_WHITE, "Du bist nun nicht mehr an Ebola erkrankt. Die Ärzte konnten dich retten!");
    }
    SetPlayerHealth(giveplayerid, 100),
    PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0),
    PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0),
    format(string, sizeof(string), "Du wurdest für {009933}$%d {FFFFFF}geheilt.",moneys),
    ClearAnimations(giveplayerid),
    SendClientMessage(giveplayerid,COLOR_WHITE,string);
    return 1;
    }



    stock IsPlayerInMyVehicle(playerid, giveid)
    {
    new id_cache[2];
    id_cache[0] = GetPlayerVehicleID(playerid);
    id_cache[1] = GetPlayerVehicleID(giveid);
    if(id_cache[0] == id_cache[1])return 1;
    return 0;
    }

    Hab dir den Command mal bisschen umgeschrieben, unter anderem, habe ich es auf OCMD umgeschrieben.
    Also lege ich dir doch sehr ans Herz dass du dir die Include holst, sowie SSCANF einrichtest.
    Den SSCANF Stock musst du quasi einfach unten als "Funktion" einfügen oder dir ebenfalls die Include+Plugin reinhauen.


    #define TEAM TEAM_NO


    enum
    {
    TEAM_NO,
    TEAM_WAR
    };


    stock SpawnPlayerEx(playerid)
    {
    switch(GetFrak(playerid))
    {
    case TEAM_NO:
    {
    SetSpawnInfo(playerid, 0, GetSkin(playerid), 1309.8894,-1368.1423,13.5449,180.6100, 0, 0, 0, 0, 0, 0),
    SpawnPlayer(playerid);
    }
    case TEAM_WAR:
    {
    //Spawndaten
    }
    }
    return 1;
    }

    Ich habe in jeden meiner Script's immer eine extra Spawn-Funktion angelegt, kannst dich ja mal daran orientieren.

    Tag Leute,


    mach Menschen kennen mich hier noch von früher.
    Ich wurde vor ca 2-3 Jahren aus der Community "ausgeschlossen", da ich des öfteren unreifes Verhalten an den Tag legte oder die Moderation über PN beledigt habe.
    Einsicht entsteht mit der Zeit, wenn man auf zurückliegende Jahre zurückschaut, und sein damaliges Verhalten mit seinem heutigen Verhalten nicht mehr vergleichen kann.
    Ich möchte nur kurz ansprechen dass es von meiner Seite aus keine Beleidigungen, unnötiges Verhalten sowie Provokation geben wird.
    Das wird dann aber dann denke mehr und mehr selber zu sehen ein, das 2/3 Jahre unterschied zwischendrin liegen.


    Grüße :rolleyes:

    Möchte auch mal meinen Senf dazu geben.
    Man sieht das in dem UCP viel Arbeit herinnen steckte und dass du das nicht innerhalb weniger Stunden geschrieben hast.
    Leute die hier kein Interesse haben, sollten am besten erst gar nicht schreiben, statt hier gleich den ganzen Thread vollzumüllen so das der Endkunde letztes endlich auch gar keine lust mehr hat sich alle OT Beiträge durchzulesen und den Thread schon vorher verlässt.


    btw:
    Bin interessiert, ist das UCP OOP geschrieben ?


    mfg :thumbup: