Beiträge von Simon

    Also mit den "Nicht" PVars nur das Leben Schwer es gibt so gut wie garkeinen Der nicht mit PVars Arbeitet..
    Außer Noobs


    Ich habe das Gefühl das du in jedem Threat schreibst das man mit PVars scripten soll. Jeder soll so scripten wie er es am besten kann, das hat rein gar nichts mit Noob zu tun. Ich scripte auch nicht mit PVars weil ichs einfach anderes gelernt habe und nun nicht unnötig iwie umsteige. Im endeffekt ist es egal, denn soweit ich weiß musst du bei pVars auch eine neue variable erstellen..


    @ pawno: ich würde an deiner Stelle ein neues public machen, wo die spielerdatei aktuallisiert wird. du brauchst dann nur die Variable ändern und sobald er sich ausloggt das public aufrufen. dann werden die aktuellen werte der variablen in der .ini gespeichert. genauso auch beim einloggen: ein public der die Werte in der .ini in den Variablen speichert.

    HAHA :D:D die dateiendung war wohl der fehler :D


    jo garnet aufgefallen. kein wunder :S ich habe das nun umgefummelt:


    die anzahl fängt bei 0 an also:


    Spieler[playerid][Autoanzahl] = 0 <<>> 1 Auto
    Spieler[playerid][Autoanzahl] = 1 <<>> 2 Auto


    das kann ich eventl rückgängig machen wenns an der endung lag..


    die autos werden dementsprechend gespeichert:


    Name_Auto_0.ini
    Name_Auto_1.ini


    werde es nun ersteinmal testen :S


    //edit: die autos werden alle so erstellt wie sie sollen, farbe wird auch gesettet, den rest muss ich noch testen.
    nun ein problem: Tank wird net gesettet. es wird so abgefragt im Tanksystem:


    enum VehicleInfo
    {
    vTank,
    vTankVerbrauch
    }
    new vInfo[MAX_VEHICLES][VehicleInfo];


    und ich habe es nun so damit er es settet:
    vInfo[Spielercar[playerid][i]][vTank] = Autos[playerid][i][ATank];


    der tank bleibt aber auf 0 :S


    //edit²: klappt alles :D


    danke schön nochmal... ein kleiner Rechschreibfehler sorgt für soviel Verwirrung :S

    Jo stimmt, das kann gut sein. ich muss das entweder anders speichern oder nochmal extra abfragen.


    ich habe es auch mit for(new i = 1..) versucht, damit der gleich bei 1 anfängt, jedoch macht der dann auch keine schleife :S


    ich werde ma sehen ob ich das hinbekomme.

    ich habe noch nie mit PVars gearbeitet, warum sollte ich nun iwie umdenken wenn es so auch klappt, wie sollte ich es denn mit PVars machen?
    damit kenne ich mich überhaupt net aus..

    ich mache net umsonst eine for schleife..


    man kann mehrere fahrzeuge besitzen. insgesammt 5, deswegen auch das array bei Spielercar und Autos.
    er geht einfach die anzahl der autos durch und lädt dann die dateien aus der .ini, was anscheinend aber net ganz hinhaut..

    Guten Tag


    Ich arbeitete z.Z. an einem Autosystem und habe schonmal so die Basis gescriptet. Man kann zwar noch kein Auto kaufen, jedoch werden, falls dateien vorhanden, die Autos geladen und gespeichert. mein Problem was ich nun habe: wenn ich nun die autodatei des spielers lade, wird das auto nicht created.


    Hier mal mein Scriptausschnitt:


    news.. :
    enum AInfo
    {
    AName[50],
    modelid,
    ATank,
    Float:AHP,
    Abgeschlossen,
    Farbe1,
    Farbe2,
    Paintjob,
    Tempomat,
    Nummernschild[30],
    Float:Posx,
    Float:Posy,
    Float:Posz,
    Float:Posa
    //Tuningteile
    }
    new Autos[MAX_PLAYERS][5][AInfo];
    new Spielercar[MAX_PLAYERS][5];


    Nun zum Laden der datei:
    public Anmelden(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    for(new i = 0; i < Spieler[playerid][Autoanzahl]-1; i++) //die autoanzahl wird in der .ini des spielers gespeichert. da die schleife bei 0 anfängt und die autoanzahl bei 1, halt -1.
    {
    new Autodatei[100];
    format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d",name,i); // Name_Auto_ID
    Autos[playerid][i][modelid] = dini_Int(Autodatei,"modelid");
    Autos[playerid][i][ATank] = dini_Int(Autodatei,"ATank");
    Autos[playerid][i][AHP] = dini_Int(Autodatei,"AHP");
    Autos[playerid][i][Abgeschlossen] = dini_Int(Autodatei,"Abgeschlossen");
    Autos[playerid][i][Farbe1] = dini_Int(Autodatei,"Farbe1");
    Autos[playerid][i][Farbe2] = dini_Int(Autodatei,"Farbe2");
    Autos[playerid][i][Paintjob] = dini_Int(Autodatei,"Paintjob");
    Autos[playerid][i][Tempomat] = dini_Int(Autodatei,"Tempomat");
    Autos[playerid][i][Nummernschild] = dini_Int(Autodatei,"Nummernschild");
    Autos[playerid][i][Posx] = dini_Int(Autodatei,"Posx");
    Autos[playerid][i][Posy] = dini_Int(Autodatei,"Posy");
    Autos[playerid][i][Posz] = dini_Int(Autodatei,"Posz");
    Autos[playerid][i][Posa] = dini_Int(Autodatei,"Posa");
    Spielercar[playerid][i] = CreateVehicle(Autos[playerid][i][modelid],Autos[playerid][i][Posx],Autos[playerid][i][Posy],Autos[playerid][i][Posz],Autos[playerid][i][Posa],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2],-1);
    SetVehicleNumberPlate(Spielercar[playerid][i],dini_Get(Autodatei,"Nummernschild"));
    SetVehicleHealth(Spielercar[playerid][i],Autos[playerid][i][AHP]);
    ChangeVehicleColor(Spielercar[playerid][i],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2]);
    ChangeVehiclePaintjob(Spielercar[playerid][i],Autos[playerid][i][Paintjob]);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(Spielercar[playerid][i], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spielercar[playerid][i],0,0,alarm,Autos[playerid][i][Abgeschlossen],bonnet,boot,objective);
    }
    return 1;
    }


    nun zum speichern:
    public Update(playerid)
    {
    new name[MAX_PLAYER_NAME]
    GetPlayerName(playerid,name,sizeof(name));
    for(new i = 0; i < Spieler[playerid][Autoanzahl]-1; i++)
    {
    new Autodatei[100];
    format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d",name,i);
    dini_IntSet(Autodatei,"modelid",Autos[playerid][i][modelid]);
    dini_IntSet(Autodatei,"ATank",vInfo[Spielercar[playerid][i]][vTank]);
    dini_FloatSet(Autodatei,"AHP",Autos[playerid][i][AHP]);
    dini_IntSet(Autodatei,"Abgeschlossen",Autos[playerid][i][Abgeschlossen]);
    dini_IntSet(Autodatei,"Farbe1",Autos[playerid][i][Farbe1]);
    dini_IntSet(Autodatei,"Farbe2",Autos[playerid][i][Farbe2]);
    dini_IntSet(Autodatei,"Paintjob",Autos[playerid][i][Paintjob]);
    dini_IntSet(Autodatei,"Tempomat",Autos[playerid][i][Tempomat]);
    dini_FloatSet(Autodatei,"Posx",Autos[playerid][i][Posx]);
    dini_FloatSet(Autodatei,"Posy",Autos[playerid][i][Posy]);
    dini_FloatSet(Autodatei,"Posz",Autos[playerid][i][Posz]);
    dini_FloatSet(Autodatei,"Posa",Autos[playerid][i][Posa]);
    }
    return 1;
    }


    Das Auto wird beim Anmelden nicht createt. Wäre sehr nett wenn mir da jemand helfen könnte.


    Mfg
    Simon

    mit dcmd:


    dcmd_einsperren(playerid,params[])
    {
    new pID;
    if(sscanf(params, "u", pID))
    {
    return SendClientMessage(playerid,farbe,"Benutze: /einsperren [playerid]");
    }
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,farbe,"Ungültige playerid");
    }
    else
    {
    if(gPlayer[playerid][Member] == 1 || gPlayer[playerid][Member] == 2 || gPlayer[playerid][Member] == 3 || gPlayer[playerid][Member] == 21 || gPlayer[playerid][Leader] == 1 || gPlayer[playerid][Leader] == 2 || gPlayer[playerid][Leader] == 3 || gPlayer[playerid][Leader] == 21)
    {
    SetPlayerPos(pID,x,y,z);
    SetPlayerInterior(pID,interior);
    SetPlayerVirtualWorld(pID,vw);
    SendClientMessage(pID,farbe,"Sie wurden ins gefängnis gesteckt");
    timer = SetTimerEx("name",interval,0,"i",pID);
    }
    }
    return 1;
    }


    musst du nur noch die koordinaten eintragen und die farben ändern. den timer anpassen, wann er wieder aus dem knast kommen soll und im public dann seine posi wieder änderen

    also zuerst müsst ihr mal in die server.cfg schauen. dann guckt ihr über welchen port der läuft und ob lanmodus an oder aus ist. Lanmodus sollte aus sein und Port ist normalerweise 7777 wenn ihr es nicht geändert habt. nun müsst ihr auf eurem router zugreifen und die ports freigeben.


    Sag mal welche einstellung du da hast. du solltest FTP ausgewählt haben und den port bei UDP und TCP auf 7777 setzen, vorrausgesetzt ihr habt 7777 auch in der server.cfg stehen. Ansonsten den Port den ihr da stehen habt eintragen. wenn nun alles richtig eingestellt und gespeichert wurde, sollte es klappen..


    die server ip für dich selber ist dann 127.0.0.1 und für die anderen ist diese:7777


    sollte eig klappen...

    ich kenne die maps, ich brauche jedoch die koords von jedem graffiti. ich könnte mir die arbeit ersparen, wenn die koordinaten der graffities schon irgentwo aufgelistet sind.


    und das möchte ich wissen, ob jemand die koords hat oder weiß wo ich sie finde, bzw. eine möglichkeit schneller zu den graffities zu gelangen

    Guten Tag


    Ich würde gerne wissen ob jemand alle Koordinaten der 100 Graffities in LS hat oder weiß wo ich die finde.
    Habe Sufu und alles benutzt, jedoch nichts nützliches gefunden.


    Mfg
    Simon

    Guten Tag


    Ich habe ein stinkt normalen Command erstellt, mit dem man in Restaurants essen kann. eigentlich nichts besonderes und es ist auch soweit eigentlich alles richtig gescriptet, nur crasht der server. ich habe vor jeder abfrage eine test message senden lassen, damit ich sehe an welcher stelle der server crasht, jedoch crasht er umgehend nachdem man /essen eingegeben hat.
    Ich frage mich nur was den Server crashen lässt..



    OnPlayerCommandText(playerid,cmd[])
    {
    if(strcmp("/essen", cmdtext, true, 10) == 0)
    {
    for(new i = 0; i < sizeof Restaurants; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.5,Restaurants[i][Thekex],Restaurants[i][Thekey],Restaurants[i][Thekez]) && GetPlayerInterior(playerid) == Restaurants[i][inter])
    {
    for(new j = 0; j < sizeof FFKetten; j++)
    {
    if(!strcmp(FFKetten[j][FFName],Restaurants[i][FFName2],true))
    {
    if(GetPlayerMoney(playerid) >= FFKetten[j][Preis]*100)
    {
    new str[100], Float:HP;
    GetPlayerHealth(playerid,HP);
    if(HP <= 79)
    {
    format(str,sizeof(str),"Du hast dir Essen für $%d gekauft. Deine HP hat sich um 20 erhöht!",FFKetten[j][Preis]);
    SetPlayerHealth(playerid,HP+20);
    }
    else if(HP <= 100)
    {
    format(str,sizeof(str),"Du hast dir Essen für $%d gekauft. Deine HP hat sich auf 100 erhöht!",FFKetten[j][Preis]);
    SetPlayerHealth(playerid,100);
    }
    else
    {
    format(str,sizeof(str),"Du hast dir Essen für $%d gekauft.",FFKetten[j][Preis]);
    }
    p_GivePlayerMoney(playerid,-FFKetten[j][Preis]*100);
    FFKetten[j][Kasse]+=FFKetten[j][Preis];
    SendClientMessage(playerid,green,str);
    }
    }
    }
    }
    }
    }
    return 1;
    }


    Wäre sehr nett wenn mir da jemand helfen könnte


    Mfg
    Simon


    /edit: klappt wieder alles

    Zeile 5:
    #define DIALOG_SPAWN 1000


    Zeile 66:
    ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"Herzlich Willkommen, Wo willst du gespawnt werden?","LS-Los Santos\nLV-Las Venturas","Bestätigen","Abbrechen");


    Zeile 68
    return 1;

    ähm, schick ma die zeilen.


    ein error kann ich dir schon sage:


    C:\Users\Ricardo\Desktop\pawno\new.pwn(66) : error 017: undefined symbol "ShowplayerDialog"


    ShowplayerDialog >> ShowPlayerDialog

    du musst auch angeben vor die Spielerdatei ist:

    new name[MAX_PLAYER_NAME], Spielerdatei[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/VERZEICHNIS/%s.ini",name);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));



    new name[MAX_PLAYER_NAME], Spielerdatei[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/VERZEICHNIS/%s.ini",name);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));