Beiträge von German_ScripterHD

    Hallo Brotfische,


    Mein OnPlayerWeaponShot Pots system geht nicht so ganz, da ich nicht an die stelle geportet werde sonderen immer an den 0 Punkt also bei Blueberry an der Farm.


    Codes:


    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(WeaponPort[playerid]!=1)return 1;
    if(hittype == BULLET_HIT_TYPE_NONE)
    {
    if(isAdmin(playerid,3))
    {
    SetPlayerPos(playerid, fX, fY, fZ);
    }
    return 1;
    }
    return 1;
    }



    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .

    Hallo Brotfische,


    Ich habe folgendes Problem, undzwar mein /lock befehl geht zwar, aber ich frage momentan ab ob der Spieler in der Nähe ist also mit (IsPlayerInRangeOfPoint), aber ich möchte gerne abfragen ob der Spieler in der Nähe ist also mit (IsPlayerInRangeOfPoint) und dass dann das näheste Auto aufgeschlossen und abgeschlossen wird wo er steht.


    Codes:


    ocmd:carlock(playerid,params[])
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    new vehicleid = cInfo[i][id_x];
    if(cInfo[i][besitzer]!=sInfo[playerid][db_id]) continue;
    new Float:x,Float:y,Float:z;
    GetVehiclePos(vehicleid,x,y,z);
    if(!IsPlayerInRangeOfPoint(playerid,50.0,x,y,z)) continue;
    new engine,lights,alarm,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,vehdoor,bonnet,boot,objective);
    if(vehdoor == 1)//zu
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~g~aufgeschlossen", 3000, 5);
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,0,bonnet,boot,objective);//aufschließen
    }
    else // auf
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~g~abgeschlossen", 3000, 5);
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,1,bonnet,boot,objective);//abschließen
    }
    return 1;
    }
    SendClientMessage(playerid,COLOR_RED,"Es befindet sich keines deiner Fahrzeuge in der Nähe.");
    return 1;
    }



    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .

    Hallo Brotfische,


    Ich würde gerne den Motor mit der W Taste starten (nicht ausschalten nur starten), der Problem ist ja nur das man ach auf der W Taste Gas gibt.
    Weiß jemand wie? :D


    Ich hoffe jemand kann mir helfen.


    MFG German_ScripterHD

    Hallo Brotfische,


    Ich habe folgendes Problem, wenn ich als Admin /drop eingebe können alle User item´s aufheben wie z.B: 12 Doller, problem ist nur die User können auch Hausmaker von ihren Häusern einsammel und bekommen dafür geld :(


    Codes:
    enum dropenum{
    drop_type,
    Float:drop_x,
    Float:drop_y,
    Float:drop_z,
    drop_anzahl,
    drop_virtualworld,
    id_x,
    Text3D:textlabel,
    db_id
    }
    new dropInfo[5000][dropenum];
    forward OnDrop(id);
    forward OnDropsLoad();


    //OnGameModeInit
    loadDrops();



    loadDrops()
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM drops WHERE id>='%i'",0);
    mysql_function_query(dbhandle,query,true,"OnDropsLoad","");
    return 1;
    }
    public OnDropsLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=GetFreeDropID(),string[128];
    dropInfo[id][drop_type]=cache_get_field_content_int(i,"pickup",dbhandle);
    dropInfo[id][drop_x]=cache_get_field_content_float(i,"x",dbhandle);
    dropInfo[id][drop_y]=cache_get_field_content_float(i,"y",dbhandle);
    dropInfo[id][drop_z]=cache_get_field_content_float(i,"z",dbhandle);
    dropInfo[id][drop_anzahl]=cache_get_field_content_int(i,"anzahl",dbhandle);
    dropInfo[id][drop_virtualworld]=cache_get_field_content_int(i,"VW",dbhandle);
    dropInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
    format(string,sizeof(string),"Anzahl: %i",dropInfo[id][drop_anzahl]);
    dropInfo[id][id_x]=CreatePickup(dropInfo[id][drop_type],1,dropInfo[id][drop_x],dropInfo[id][drop_y],dropInfo[id][drop_z],dropInfo[id][drop_virtualworld]);
    dropInfo[id][textlabel]=Create3DTextLabel(string,C_Weiß,dropInfo[id][drop_x],dropInfo[id][drop_y],dropInfo[id][drop_z],10.0,dropInfo[id][drop_virtualworld],0);
    }
    return 1;
    }
    ocmd:drop(playerid,params[])
    {
    if(!isAdmin(playerid,1))return SendClientMessage(playerid,C_Error,"Du bist kein Admin."); //Admin abfrage, muss aber angepasst werden, weil ich nicht weiss, welches admin system du hast
    ShowPlayerDialog(playerid,DIALOG_Trop,2,"Trop-Menü","Dollar\nM4","Wähle","Abbrechen");
    return 1;
    }
    //OnPlayerPickUpPickup


    for(new i; i<sizeof(dropInfo);i++)
    {
    if(dropInfo[i][id_x]>0)
    {
    if(dropInfo[i][drop_type]==item_dollar)
    {
    new query[128];
    giveplayermoney(playerid,dropInfo[i][drop_anzahl]);
    format(query,sizeof(query),"DELETE FROM drops WHERE id='%i'", dropInfo[i][db_id]);
    DestroyPickup(pickupid);
    Delete3DTextLabel(dropInfo[i][textlabel]);
    }
    return 1;
    }
    }



    GetFreeDropID()
    {
    for(new i; i<sizeof(dropInfo); i++)
    {
    if(!(i>0)) return i;
    }
    return 1;
    }


    stock Drop(type,Float:x,Float:y,Float:z,anzahl,virtualworld)
    {
    new id = GetFreeDropID();
    new query[128],string[32];
    format(string,sizeof(string),"Anzahl: %i",anzahl);
    dropInfo[id][id_x]=CreatePickup(type,1,x+1,y,z,virtualworld);
    dropInfo[id][textlabel]=Create3DTextLabel(string,C_Weiß,x+1,y,z,10.0,virtualworld,0);
    format(query,sizeof(query),"INSERT INTO drops (pickup,x,y,z,anzahl,VW) VALUES ('%i','%f','%f','%f','%i','%i')",type,x,y,z,anzahl,virtualworld);
    mysql_function_query(dbhandle,query,false,"","");
    dropInfo[id][drop_type]=type;
    dropInfo[id][drop_x]=x;
    dropInfo[id][drop_y]=y;
    dropInfo[id][drop_z]=z;
    dropInfo[id][drop_anzahl]=anzahl;
    dropInfo[id][drop_virtualworld]=virtualworld;
    mysql_function_query(dbhandle, query, true, "OnDrop", "i", id);
    return 1;
    }
    public OnDrop(id)
    {
    dropInfo[id][db_id]=cache_insert_id();
    return 1;
    }
    //OnDialogResponse


    if(dialogid == DIALOG_DOLLAR)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_DOLLAR,DIALOG_STYLE_INPUT,"Dollar","Du musst etwas eingeben.\nWie viel Dollar möchtest du droppen?","Bestätigen","Abbrechen");
    return 1;
    }
    else
    {
    new Float:x,Float:y,Float:z,anzahl;
    anzahl = strval(inputtext);
    GetPlayerPos(playerid,x,y,z);
    Drop(item_dollar,x,y,z,anzahl,GetPlayerVirtualWorld(playerid));
    return 1;
    }
    }
    }
    if(dialogid == DIALOG_Trop)
    {
    if(response == 0)
    {
    }
    if(response == 1)
    {
    switch (listitem)
    {
    case 0:
    {
    ShowPlayerDialog(playerid,DIALOG_DOLLAR,DIALOG_STYLE_INPUT,"Dollar","Wie viel Dollar möchtest du droppen?","Bestätigen","Abbrechen");
    }
    case 1:
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreatePickup(356,1,x,y,z,0);
    }
    }
    }
    }


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .

    probier es mal so:


    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Registrierung war nicht erfolgreich\nBitte registrieren sie sich um auf dem Server zu spielen.","Absenden","Abbrechen");
    }
    else
    {
    //eingegebenes Passwort
    new name[MAX_PLAYER_NAME],passwort[35],query[256];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //registrierungsfunktion
    SetPlayerScore(playerid,1);
    sInfo[playerid][level] = 1;
    GivePlayerMoney(playerid,15000);
    sInfo[playerid][geld] = 15000;
    sInfo[playerid][eingeloggt] = 1;
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,passwort) VALUES ('%s','%s')",name,inputtext);
    printf(query);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    else
    {
    }
    }
    }


    Und savePlayer und resetPlayer so:


    savePlayer(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;
    if(sInfo[playerid][eingeloggt]==0)return 1;
    new query[500];
    format(query,sizeof(query),"UPDATE user SET Adminlevel='%i' ,money='%i' ,level='%i',id='%i' WHERE id='%i'",sInfo[playerid][Adminlevel],GetPlayerMoney(playerid),sInfo[playerid][level],sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    resetPlayer(playerid)
    {
    for(new i=0; i<sizeof(sInfo[]); i++)
    {
    sInfo[playerid][playerInfo:i]=0;
    }
    return 1;
    }


    Ich hoffe ich konnte dir helfen :D


    MFG German_ScripterHD


    .

    Hallo Brotfische,


    Ich habe folgedes Problem, ich habe einen Dialog als DIALOG_STYLE_INPUT (also text Fenster) und das ganze lass ich dann bei OnPlayerPickUpPickup aufrufen, problem ist nur das der Dialog mehrmals kommt, also so das ich nichts schreiben kann. Giebt es dafür irgendeine Lösung wie (Include? oder so :) )


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .

    Jeffry


    Danke für deine schnelle Hilfe :thumbup:


    Doch leider verstehe ich das mit OnDialogResponse nicht ganz, sowie ich es jetzt gemacht habe, werden alle autos zu mir gespawnt...


    if(dialogid==GetMyCar)
    {
    if(!response)return 1;
    switch(listitem)
    {
    case 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][besitzer]!=sInfo[playerid][db_id]) continue;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetVehiclePos(cInfo[i][id_x],x,y,z);
    }
    }
    }
    }


    Ich hoffe es kann mir jemand mit dem OnDialogResponse weiterhelfen.


    MFG German_ScripterHD


    .

    Hallo Bortfische,


    Ich sitze sein knapp 5 Tagen an meinem "GetMyCarSystem", undzwar soll ein Admin /getmycar machen können, und dann soll ein Dialog mit allen Autos die der Admin hat, angezeigt werden.


    Als erstes, werden im Dialog komische zahlen wie 53 oder 0 angezeigt...
    und ich weiß auch nicht wie ich das unter "OnDialogResponse" machen soll :(


    Codes:
    enum carEnum{
    id_x,
    model,
    besitzer,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    db_id,
    Locked
    }


    new cInfo[2000][carEnum];


    ocmd:getmycar(playerid,params[])
    {
    new string[300];
    for(new i=0; i<sizeof(cInfo); i++)
    {
    format(string, sizeof(string), "%i\n%i",string,cInfo[i][id_x]);
    ShowPlayerDialog(playerid,GetMyCar,DIALOG_STYLE_LIST,"Meine Fahrzeuge",string,"Wählen","Abbrechen");
    }
    return 1;
    }


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .

    Hallo Brotfische,


    Meine Fraktionsfahrzeuge werden in der Datenbank gespeichert aber nicht geladen.


    Codes:


    forward OnFrakCarsLoad();


    //Unter OngameModeInit --> loadFrakCars();



    loadFrakCars()
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM `frakcars`");
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","");
    return 1;
    }


    public OnFrakCarsLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeFrakCarID();
    FrakCars[id][f_ModelID]=cache_get_field_content_int(i,"modelid",dbhandle);
    FrakCars[id][FraktionsID]=cache_get_field_content_int(i,"fraktion",dbhandle);
    FrakCars[id][f_x]=cache_get_field_content_float(i,"PosX",dbhandle);
    FrakCars[id][f_y]=cache_get_field_content_float(i,"PosY",dbhandle);
    FrakCars[id][f_z]=cache_get_field_content_float(i,"PosZ",dbhandle);
    FrakCars[id][f_r]=cache_get_field_content_float(i,"PosR",dbhandle);
    FrakCars[id][db_ID]=cache_get_field_content_int(i,"id",dbhandle);
    FrakCars[id][id_x]=CreateVehicle(FrakCars[id][f_ModelID],FrakCars[id][f_x],FrakCars[id][f_y],FrakCars[id][f_z],FrakCars[id][f_r],FrakCars[id][f_color1],FrakCars[id][f_color2],-1);
    tank[FrakCars[id][id_x]]=100;
    }
    return 1;
    }


    getFreeFrakCarID()
    {
    for(new i=0; i<sizeof(FrakCars); i++)
    {
    if(FrakCars[i][id_x]==0)return i;
    }
    return 0;
    }



    Bild der Datenbank:


    http://www.imgbox.de/show/img/VCzLD24qF4.JPG



    http://www.imgbox.de/show/img/D6N1JSBJv3.JPG





    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD



    .

    Ich wusste ich habe was vergessen :D


    Code:


    C:\Users\XXXX\Desktop\Reallife\gamemodes\script.pwn(3292) : warning 219: local variable "FraktionsID" shadows a variable at a preceding level
    C:\Users\XXXX\Desktop\Reallife\gamemodes\script.pwn(3295) : error 039: constant symbol has no size
    C:\Users\XXXX\Desktop\Reallife\gamemodes\script.pwn(3292) : warning 203: symbol is never used: "FraktionsID"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Hallo Brotfische,


    Ich habe mal wiede rein Problem, undzwar, Ich bekomme bei meiner "CreateFrakCar" Funktion Errors und Warnings, leider habe ich den Fehler nicht gefunden.


    Codes:


    CreateFraktionCar(FraktionsID,ModelID,Float:x,Float:y,Float:z,Float:rot,c1,c2)
    {
    new fcarFrakInfo;
    for(new ii=1; ii<sizeof(frakcarenum); ii++)
    {
    if(FrakCars[ii][f_CarID] != 0)continue;
    FrakCars[ii][FraktionsID] = sInfo[fcarFrakInfo][fraktion];
    FrakCars[ii][f_ModelID] = ModelID;
    FrakCars[ii][f_x]= x;
    FrakCars[ii][f_y]= y;
    FrakCars[ii][f_z]= z;
    FrakCars[ii][f_r]= rot;
    FrakCars[ii][f_color1]=c1;
    FrakCars[ii][f_color2]=c2;
    FrakCars[ii][f_CarID] = CreateVehicle(FrakCars[ii][f_ModelID],FrakCars[ii][f_x],FrakCars[ii][f_y],FrakCars[ii][f_z],FrakCars[ii][f_r],FrakCars[ii][f_color1],FrakCars[ii][f_color2],-1);
    printf("Server-Info: Fraktions Fahrzeug mit der ID %i wurde erstellt.",FrakCars[ii][f_CarID]);
    SaveFraktionCars(ii);
    return 1;
    }
    return 1;
    }


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .