Beiträge von Kasakow

    Guten Tag,


    Mein Name lautet MrPawn.
    Das mit dem Objekt erstellen klappt jetzt super, danke Goldkiller:
    Doch leider funktionert jetzt das mit dem Laden nicht so ganz.
    Wenn ich die Laden Funktion drinnen habe kommt immer folgendes wenn ich auf den Server Connecte


    Im Script habe ich das so gemacht:
    //Mülltonnen System
    mysql_query(handle, "SELECT * FROM nlr_tonne");
    while(cache_get_field_count(handle)){
    new data = cache_get_row_int(0, 0);
    mInfo[data][M_ID] = data;
    mInfo[data][Fx] = cache_get_row_float(1, 1, handle),mInfo[data][Fy] = cache_get_row_float(2, 2, handle),mInfo[data][Fz] = cache_get_row_float(3, 3, handle);
    mInfo[data][FRotX] = cache_get_row_float(4, 4, handle),mInfo[data][FRotX] = cache_get_row_float(5, 5, handle),mInfo[data][FRotZ] = cache_get_row_float(6, 6, handle);
    CreateObject(1337, mInfo[data][Fx], mInfo[data][Fy], mInfo[data][Fz], mInfo[data][FRotX], mInfo[data][FRotY], mInfo[data][FRotZ]);
    }


    Mit freundlichen Grüßen,


    MrPawn

    Guten Tag,


    Mein Name lautet MrPawn.
    ich habe ein Dynamisches Mülltonnensystem angefangen. Zurzeit werden Mülltonen erstellt und geladen(?) - das hab ich aber noch nicht getestet.
    Mein Problem ist jetzt, wenn ich die Mülltonne erstelle bringe ich den Player dann in den Objekt Edit Mode.
    Wenn ich die Mülltonne nicht verschiebe, gibt es nur einen Eintrag in der MySQL Datenbank, verschiebe ich es aber, gibt es pro zug bzw. pro fertigen zug, einen Eintrag in die MySQL Datenbank.
    Es sieht bisher so aus:
    In der Datenbank


    Im Script
    ocmd:ctonne(playerid)
    {
    new Float:x, Float:y, Float:z;
    if(uInfo[playerid][sAdminlevel] < 6)return SendClientMessage(playerid, COLOR_LIGHTRED, "FEHLER: {FFFFFF}Du hast nicht das Recht dazu.");
    GetPlayerPos(playerid, x, y, z);
    Tonne[playerid] = CreatePlayerObject(playerid, 1337, x, y, z, 0.0, 0.0, 0.0);
    EditPlayerObject(playerid, Tonne[playerid]);
    return 1;
    }


    public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
    {
    new query[256];
    if(!response)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "FEHLER: {FFFFFF}Du hast das verschieben der Mülltonne abgebrochen!");
    DestroyObject(Tonne[playerid]);
    }
    else if(response)
    {
    if(playerobject){
    format(query, sizeof(query), "INSERT INTO nlr_tonne (X,Y,Z,rX,rY,rZ) VALUES ('%f','%f','%f','%f','%f','%f')", fX, fY, fZ, fRotX, fRotY, fRotZ);
    mysql_query(handle, query);}
    }
    return 1;
    }


    Mit freundlichen Grüßen,


    MrPawn

    Guten Tag,


    Mein Name lautet MrPawn.
    Und zwar brauche ich folgende sache/tipp für mein Roleplay Script.
    Ich mache für den anfang einen Bankraub, und habe in die Bank eine Bot namens Kristina hingestellt.
    Dann werden unten im Tresorraum PlayerObjekte erstellt.
    Da geht zwar alles aber mein Problem ist:
    Alle Spieler sind in der gleichen Virtualen Welt (25)
    Und sehen somit den Bot, wunderbar
    Aber leider erstellen sich die Objekte auch mehrfach und das ist das Problem.
    Deswegen wollte ich einfach ein Objekt für jeden der in der Anfangsmission ist erstellen.
    Aber leider sieht man den Ingame nicht.(Soll ein anscheinden Skins sein)
    Und dafür brauche ich nun einen Tipp.


    Mit freundlichen Grüßen,


    MrPawn

    format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x]);


    zu


    format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i\n%s",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x],string);


    Versuche das mal :thumbup:

    Wie Jeffry schon meinte, sollte der link helfen, dennoch lasse ich dir auch mal einen Beispielcode da.


    Erstellung des Arrays/Variable:
    new NoobCar[anzahl];


    Erstellung des Fahrzeuges:
    Also meiner Meinung her würde ich sagen, erstelle es beim Serverstart. (Fahrzeuge)
    NoobCar[0] = CreateVehicle(..);


    Mit einer Schleife die Fahrzeuge durchgehen:
    for(new i;i<sizeof(NoobCar);i++)
    {
    DestroyVehicle(NoobCar[i]);
    }


    Natürlich ist dies nur ein Beispiel code ;)


    Ich Hoffe ich konnte dir helfen. :thumbup:


    Mit freundlichen Grüßen,


    MrPawn

    Es kann ja sein, das der Code von euch auch Funktioniert.
    Habe es nur bis jetzt immer so gemacht.
    Das der String mit nochmal unten drunter ausgegeben wird, und hatte nie Probleme.
    Dennoch sage ich nicht das euer Code nicht stimmt, kann ich ja schließlich auch nicht da ich es noch nicht ausprobiert habe.


    Mit freundlichen Grüßen,


    MrPawn :thumbup:

    format(str,sizeof(str),"%sSpieler: %s | Text: %s\n",str,besitzer,text);


    format(str,sizeof(str),"Spieler: %s | Text: %s\n",besitzer,text,str);


    Das müsste Funktionieren :thumbup:

    Pvars/Variablen erhöhen/vermindern
    Danach mal mit Timern arbeiten, dann mit deiner jeweiligen Speicherungsart das ganze Speichern lassen:


    Beispiel:
    forward timer(playerid);


    public OnPlayerConnect(playerid)
    {
    SetTimerEx("timer", 60000, true, "i", playerid);
    }


    public timer(playerid)
    {
    if(PayDay[playerid] >= 59)
    {
    //Payday
    }
    else PayDay[playerid] ++;
    }


    Natürlich solltest du den Timer ja nicht bei OnPlayerConnect starten lassen, ist nähmlich nur ein Beispiel

    Guten Tag,


    Mein Name lautet MrPawn,


    Und zwar habe ich ein Gruppen System angefangen, und diese Funktioniert auch fast.
    Nur klappt das Speicher des String, "Groupname" und das lesen vom string "Groupname" nicht ganz.


    Speicherung
    format(var, 32, "Groupname=%s\n",PlayerInfo[playerid][pGroupname]);fwrite(hFile, var);


    Laden
    if( strcmp( key , "Groupname" , true ) == 0 ) { val = ini_GetValue ( Data ); PlayerInfo[playerid][pGroupname] = strval ( val ); }


    Vielleicht muss ich ja den string erstmal auspacken . (strmid)
    Ich weiß es nicht , und deswegen frage ich euch.
    Das ganze soll gespeichert sowie geladen werden.


    Mit freundlichen Grüßen,


    MrPawn

    Aktuell habe ich es so:


    ocmd:moneydrop(playerid)
    {
    new vehid, string[136];
    if(PlayerInfo[playerid][pJob] != 22)return SendClientMessage(playerid, -1, "Du bist kein Geldlieferant.");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, -1, "Du sitzt in keinem Fahrzeug.");
    new carid = GetPlayerVehicleID(playerid);
    if(!IsASecuricar(carid))return SendClientMessage(playerid, -1, "Du sitzt in keinem Geldtransporter.");
    for ( new i; i < sizeof(Lieferantveh); i++)
    {
    if(carid != Lieferantveh[i])continue;
    vehid = i;
    }
    if(MoneyLoad[vehid] == 0)return SendClientMessage(playerid, -1, "Der Geldtransporter ist nicht beladen.");
    for(new i;i<sizeof(aInfo);i++){
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, aInfo[i][a_x], aInfo[i][a_y], aInfo[i][a_z]))continue;
    if(aInfo[i][LoadValue] >= 15000)return SendClientMessage(playerid, -1, "Der Automat hat bereits, $15.000");
    aInfo[i][LoadValue] += 100;
    }
    new rand = 300 + random(200);
    GivePlayerMoney(playerid, rand), MoneyLoad[vehid] = 0;
    format(string, sizeof(string), "ERFOLGREICH: {FFFFFF}Du hast den Geldtransporter erfolgreich entladen. Verdienst: $%i", rand);
    return SendClientMessage(playerid, COLOR_GREEN, string);
    }


    Und da besteht der Fehler auch wenn ich nicht in der Nähe eines ATM´s bin kann ich den Geldtransporter entladen.


    enum ATMINFO {
    Float:a_x, Float:a_y, Float:a_z,
    LoadValue,
    };


    new aInfo[][ATMINFO] = {
    {1185.8193, -1046.6255, 31.9194, 0}
    };


    Hiermal ein video zu:

    Spoiler anzeigen
    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.