Beiträge von Logan

    Bedenke Roleplay != Reallife.
    Roleplay bedeutet die Rolle eines fiktiven Charakters zu schlüpfen jedoch ist Reallife "realer" als "Roleplay"

    Ja wie die Vorposter schon sagen musst du SetSpawnInfo noch ergänzen, da er in den Code was mit SpawnPlayer(playerid); reingeschrieben hat und wenn du noch keine Spawn Info gesetzt hast, obige Meldung erscheint.

    Du bist hier wenn ich mich nicht recht erinnere im falschen Bereich.
    Musst du selber wissen was du damit machst, spende es armen Kindern oder kaufe dir davon 1 Jahr Donator Rank hier im Breadfish Forum.

    Wenn du eine alte Version hast , versuche diese Mal.

    /*---------------------------------------


    /--------\ /--------\ /\
    | | | | / \
    | | | | / \ |-----
    | | |--------/ / \ |
    | | | |--------| \----\
    | | | | | |
    \--------/ | | | -----/


    OBJECTSTREAMER & MAPEDITOR
    VERSION 5.1.1
    OCMD MODULE


    ---------------------------------------*/


    /*
    OCMD 2.0.0
    by kleinerOpa
    best command-solution for sa:mp
    supports samp 0.2X, 0.3a without OCMD_CHECK_UPDATE function
    supports samp 0.3b, 0.3c
    WEB: www.kleiner-opa.de
    ICQ: 611064955
    */


    #include <a_samp>
    #if defined OCMD_CHECK_UPDATE
    #tryinclude <a_http>
    #if !defined HTTP
    #error OCMD_CHECK_UPDATE only works with a_http.inc
    #undef OCMD_CHECK_UPDATE
    #endif
    #endif


    forward ocmdOnPlayerCommandText(playerid,cmdtext[]);
    #if defined OCMD_BEFORE_CALLBACK
    forward BeforePlayerCommandText(playerid,cmdtext[]);
    #endif
    #if defined OCMD_CHECK_UPDATE
    forward ocmdCheckUpdate();
    forward ocmdCheckUpdate2(index,response_code,data[]);
    #endif


    #if defined OCMD_BEFORE_CALLBACK
    new bool:ocmdBeforeCallback;
    #endif
    #if defined OCMD_BEFORE_CALLBACK || defined OCMD_CHECK_UPDATE
    new bool:ocmdInit;
    #endif


    #define ocmd:%1(%2) forward ocmd_%1(%2);\
    public ocmd_%1(%2)


    #define OCMD_VERSION "2.0.0"


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    #if defined OCMD_BEFORE_CALLBACK || defined OCMD_CHECK_UPDATE
    if(!ocmdInit)
    {
    #if defined OCMD_BEFORE_CALLBACK
    if(funcidx("BeforePlayerCommandText")!=-1)ocmdBeforeCallback=true;
    #endif
    #if defined OCMD_CHECK_UPDATE
    SetTimer("ocmdCheckUpdate",(60*1000),false);
    SetTimer("ocmdCheckUpdate",(60*60*1000),true);
    #endif
    ocmdInit=true;
    }
    #endif
    new ocmdStr[32]="ocmd_",
    i=1,
    #if defined OCMD_COMMAND_LOG
    ocmdName[MAX_PLAYER_NAME],
    #endif
    bool:ocmdNoParams;
    #if defined OCMD_COMMAND_LOG
    GetPlayerName(playerid,ocmdName,sizeof ocmdName);
    printf("[cmd] [%s]: %s",ocmdName,cmdtext);
    #endif
    #if defined OCMD_BEFORE_CALLBACK
    if(ocmdBeforeCallback&&!CallLocalFunction("BeforePlayerCommandText","ds",playerid,cmdtext))return 1;
    #endif
    for(;i<128;i++)
    {
    if(!cmdtext[i]||cmdtext[i]==' ')
    {
    if(!cmdtext[i]||!cmdtext[i+1])ocmdNoParams=true;
    break;
    }
    ocmdStr[i+4]=tolower(cmdtext[i]);
    }
    if(!ocmdNoParams&&CallLocalFunction(ocmdStr,"ds",playerid,cmdtext[i+1]))return 1;
    if(ocmdNoParams&&CallLocalFunction(ocmdStr,"ds",playerid," "))return 1;
    return CallLocalFunction("ocmdOnPlayerCommandText","ds",playerid,cmdtext);
    }


    #if defined OCMD_CHECK_UPDATE
    public ocmdCheckUpdate()
    {
    HTTP(1,HTTP_GET,"www.kleiner-opa.de/sc/ocmd.txt","","ocmdCheckUpdate2");
    }
    public ocmdCheckUpdate2(index,response_code,data[])
    {
    if(strlen(data)&&strcmp(OCMD_VERSION,data)!=0)
    {
    new ocmdStr[128];
    format(ocmdStr,sizeof ocmdStr,"An update for OCMD is available (version %s) - www.kleiner-opa.de",data);
    print(ocmdStr);
    for(new i;i<MAX_PLAYERS;i++)if(IsPlayerAdmin(i))SendClientMessage(i,0xD3D3FFFF,ocmdStr);
    }
    }
    #endif


    #define OnPlayerCommandText ocmdOnPlayerCommandText


    Versuchs mal so.

    ocmd:repair(playerid,params[])
    {
    #pragma unused params
    new vehid;
    vehid = GetPlayerVehicleID(playerid);
    RepairVehicle(vehid);
    SendClientMessage(playerid,ROT,"Fahrzeug repariert.");
    return 1;
    }

    Ja Hallo Leute,
    auch heute brauch ich mal wieder eure Hilfe.
    Und zwar arbeite ich gerade an meinem kleinen Contract-FS und dort wollte ich denjenigem ein 3D Text Label über den Kopf verpassen, der gecontract wurde.
    Nur habe ich das auch schon versucht, jedoch wird nie das Label über dem Kopf angezeigt.
    Bisher sah das so aus:

    ocmd:contract(playerid,params[])
    {
    new pID,geld;
    if(sscanf(params,"ui",pID,geld))return SendClientMessage(playerid,ROT,"Benutzung: /contract [Playerid/PartOfName] [Geld]");
    if(GetPlayerMoney(playerid) < geld)return SendClientMessage(playerid,ROT,"Fehler: So viel Geld hast du nicht dabei.");
    if(geld <= 1999)return SendClientMessage(playerid,ROT,"Auftragskiller verlangen ein Mindestgehalt von 2000 Dollar.");
    if(Contracted[pID] == 1)return SendClientMessage(playerid,ROT,"Dieser Spieler steht schon auf der Abschussliste.");
    AuftragsGeld[pID] = geld;
    Contracted[pID] = 1;
    GivePlayerMoney(playerid,-AuftragsGeld[pID]);
    SendClientMessage(playerid,BLAU,"Die Hitmen werden sich um dein Opfer kümmern.");
    new str[128];
    new Float:X,Float:Y,Float:Z;
    format(str,128,"Abschussopfer. Belohnung: %i$",AuftragsGeld[pID]);
    GetPlayerPos(pID,X,Y,Z);
    new Text3D:ContractLabel = Create3DTextLabel(str,GOLD,X,Y,Z,10.0,-1);
    Attach3DTextLabelToPlayer(ContractLabel,pID,0.0,0.0,0.7);
    return 1;
    }


    Hallo Gredsoft.
    Wie lange es dauert , kann dir keiner sagen, da wir nicht wissen was du alles schon mit DINI etc. geschrieben hast, was natürlich dann umgeschrieben werden muss.
    Nun natürlich lohnt es sich auf MySQL umzuschreiben. Es ist einfach übersichtlicher und auch danach einfacher, falls man ein UCP erstellen will.

    Atrox du hast leider einen kleinen Fehler gemacht. Soweit ich weiß ist die Fraktionsid eine Zahl und deshalb muss da statt %s %i hin.

    Der Fehler liegt oben in deiner SendClientMessage.
    Die SpielerName und fID Werte musst du danach weglassen, da sonst die Syntax falsch wäre. Die lautet:
    SendClientMessage(playerid,FARBE,NACHRICHT)
    Was du oben machen willst, würde ich dir mit einem string empfehlen.

    Jo hallo Leute,
    da ich in nächster Zeit ein Contract-System plane, wollte ich hier mal fragen, was dieses System "besonders" machen könnte.
    Also, dass es nicht ganz gewöhnlich ist sondern besonders.
    Deswegen brauche ich eure Hilfe und eure guten Ideen!


    Ich freue mich schon im voraus auf viele gute Ideen!



    MFG