Wenn LV dann ein ausführliches mafias System.
Was ist für dich ausführlich? Kannst ja mal sagen was du für wichtig hälst ![]()
Wenn LV dann ein ausführliches mafias System.
Was ist für dich ausführlich? Kannst ja mal sagen was du für wichtig hälst ![]()
Moin Leute ich scripte zum spaß an einem Reallife Script es spielt zu 99% in LV jetzt meine frage an die Kreativen hier. Grundsysteme wie Fraktionen und Autohaus sind vorhanden aber mir fehlen Ideen für Jobs und die Aufgaben dort,
Aktivitäten für Bad Fraks und Staats Fraks,
Und was noch so reinkönnte.
Ich freue mich über jede Idee die ihr. Mir da lasst ![]()
Moin wie kann ich bei einer Schleife eine Fehlermeldung ausgeben wenn er z.B. nicht in der nähe ist, aber nur so das sie 1x mal ausgegeben wird hier mal mein code,
ocmd:rod(playerid)
{
if(!IsPlayerInArea(playerid,-1019.7507,2421.9194,-934.8757,2583.4988))return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Angel gebiet");
if(GetPVarInt(playerid,"ONFISHING") != 0) return SendClientMessage(playerid,COLOR_RED,"Du Angelst bereits");
for(new i=0; i<sizeof(jCars); i++)
{
new Float:x,Float:y, Float:z;
if(jCars[i][jc_jobid] != 1) continue;
GetVehiclePos(jCars[i][jc_cid],x,y,z);
if(!IsPlayerInRangeOfPoint(playerid,5.0,x,y,z)) continue; <--- Hier soll die wenn er nicht da ist eine Fehlermeldung ausgegeben werden
{
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,COLOR_RED,"Du stehst nicht auf Boot");
if(GetPVarFloat(playerid,"FISHCARRY") > 200000.0) return SendClientMessage(playerid,COLOR_RED,"Du trägst zuviel Fisch bei dir Verkaufe erst welchen");
freeze(playerid);
SetPlayerAttachedObject(playerid,0, 18632,6,0.1,0.04,0.025,0.0,180.0,180.0, 1.0, 1.0, 1.0, 0xFF00FF00);
ApplyAnimation(playerid,"SWORD", "sword_IDLE",4.1,1, 0, 0,1,0, 1);
SetPVarInt(playerid,"ONFISHING",1);
SendClientMessage(playerid,COLOR_YELLO,"*Du wirfst deine Angel aus*");
SetTimerEx("FishingTimer",10000,0,"i",playerid);
break;
}
}
return 1;
}
Alles anzeigen
jap er geht die 4 carids durch und gibt sie auch aus
Jetzt habe die abfrage so allerdings funktioniert es nicht er führt die anmiation nicht aus,
ocmd:rod(playerid)
{
if(!IsPlayerInArea(playerid,-677.0044,2126.6489,-532.3818,2258.1523))return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Angel gebiet");
for(new i=0; i<sizeof(jCars); i++)
{
if(jCars[i][jc_jobid] != 1) continue;
if(GetPlayerPositionNextToACar(playerid,jCars[i][jc_cid]) != 4) continue;
{
SetPlayerAttachedObject(playerid,0, 18632,6,0.1,0.04,0.025,0.0,180.0,180.0, 1.0, 1.0, 1.0, 0xFF00FF00);
ApplyAnimation(playerid,"SWORD", "sword_IDLE",4.1,1, 1, 1,0,0, 1);
break;
}
}
return 1;
}
Alles anzeigen
Hab die Positionen und die Anim gefunden jetzt eine andere Frage ich will dass man nur angeln kann wenn man am heck des fahrzeugs steht allerdings sagt er mir bei meiner abfrage jetzt immer das ich an keinem heck stehe obwohl ich auf dem boot bin. hier mien code
ocmd:rod(playerid)
{
if(!IsPlayerInArea(playerid,-677.0044,2126.6489,-532.3818,2258.1523))return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Angel gebiet");
for(new i=0; i<sizeof(jCars); i++)
{
if(jCars[i][jc_jobid] != 1) continue;
new Float:x,Float:y,Float:z;
GetVehiclePos(jCars[i][jc_cid],x,y,z);
if(!IsPlayerInRangeOfPoint(playerid,20,x,y,z)) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht am Heck des Bootes");
freeze(playerid);
SetPlayerAttachedObject(playerid,0, 18632,6,0.1,0.04,0.025,0.0,180.0,180.0, 1.0, 1.0, 1.0, 0xFF00FF00);
ApplyAnimation(playerid,"SWORD", "sword_IDLE",4.1,1, 1, 1,1,1, 1);
}
return 1;
}
Alles anzeigen
Moin leute ich wollte mal fragen da ich gerade dabei bin ein Angelsystem zu schreiben, Welche Animation es ist wo man eine Art Angel hält und ob jemand vielleicht das object dazu hat und das sogar noch mit der attach position am Player.
Danke im vorraus
Moin wenn ich die H taste drücke soll sich das tor öffnen soweit sogut tut es auch solange ich zu fuss bin aber es soll auch gehen wenn ich im auto sitze.
Hier mein code:
if (newkeys & KEY_CTRL_BACK) // H-TASTE
{
if(GetPVarInt(playerid,"StateChange") != 0) return SendClientMessage(playerid,COLOR_RED,"WARTE 2Sek");
{
if(IsPlayerInRangeOfPoint(playerid,1.5,METHINT_KOCHPOINT)) // WOHNWAGEN METHKÜCHE KOCHEN
{
new string[256];
format(string,sizeof(string),"\n\n\n{FF32DB}Psyedo{FFFFFF}: \t{FF32DB}5/{FFFFFF}%ig\n{FF32DB}Frostschutz{FFFFFF}: \t{FF32DB}200/{FFFFFF}%iml\n{FF32DB}R.Phosphor{FFFFFF}: \t{FF32DB}10/{FFFFFF}%ig\n\n\n\n{FF32DB}Benutze {FFFFFF}/abbrechen {FF32DB}um den Vorgang abzubrechen",tInfo[playerid][pseudo],tInfo[playerid][frostschutz],tInfo[playerid][redphosphor]);
ShowPlayerDialog(playerid,DIALOG_METHINFO,DIALOG_STYLE_MSGBOX,"{FF32DB}Willst du Meth Kochen?",string,"{FF32DB}Kochen","{FF32DB}Nein");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,2,METHINT_SPAWN))//WOHNWAGEN VERLASSEN
{
for(new i=0; i<sizeof(cInfo); i++)
{
new pworld = GetPlayerVirtualWorld(playerid);
if(pworld != cInfo[i][db_id]) continue;
new Float:r,Float:x,Float:y,Float:z;
GetVehiclePos(cInfo[i][c_id],x,y,z);
GetVehicleZAngle(cInfo[i][c_id],r);
SetPlayerPos(playerid,x,y-1.5,z);
SetPlayerFacingAngle(playerid,r);
SetPlayerVirtualWorld(playerid,0);
SendClientMessage(playerid,COLOR_RED,"METH SCHUPPEN VERLASSEN");
SetPVarInt(playerid,"StateChange",1);
SetTimerEx("StateChangeTimer",2000,false,"i",playerid);
break;
}
}
for(new k=0; k<sizeof(gInfo); k++)// Gate Öffnen mit hupe
{
if(!IsPlayerInRangeOfPoint(playerid,20,gInfo[k][g_closex],gInfo[k][g_closey],gInfo[k][g_closez])) continue;
if(gInfo[k][g_fID] != sInfo[playerid][fraktion]) continue;
{
MoveDynamicObject(objectGate[k],gInfo[k][g_openx],gInfo[k][g_openy],gInfo[k][g_openz],gInfo[k][g_speed],gInfo[k][g_openrx],gInfo[k][g_openry],gInfo[k][g_openrz]);
SendClientMessage(playerid,COLOR_RED,"[!]{FFFFFF}Gate geöffnet{FF0000}[!]");
SetPVarInt(playerid,"GateInUse",1);
SetTimerEx("GateCloseTimer",5000,false,"ii",playerid,k);
break;
}
}
for(new i=0; i<sizeof(iInfo); i++)//INFO i mit Dialogen
{
if(IsPlayerInRangeOfPoint(playerid,1.5,iInfo[i][info_x],iInfo[i][info_y],iInfo[i][info_z]))
{
ShowPlayerDialog(playerid,iInfo[i][infodialog],iInfo[i][idialog_style],iInfo[i][idialog_caption],iInfo[i][idialog_text],iInfo[i][idialog_button1],iInfo[i][idialog_button2]);
SetPVarInt(playerid,"StateChange",1);
SetTimerEx("StateChangeTimer",2000,false,"i",playerid);
break;
}
}
for(new i=0; i<sizeof(cInfo); i++)//WOHNWAGEN BETRETEN
{
if(cInfo[i][c_model] != 508) continue;
{
new Float:x,Float:y,Float:z;
GetVehiclePos(cInfo[i][c_id],x,y,z);
if(!IsPlayerInRangeOfPoint(playerid,5,x,y+1,z)) continue;
SetPlayerPos(playerid,METHINT_SPAWN);
SetPlayerVirtualWorld(playerid,cInfo[i][db_id]);
SendClientMessage(playerid,COLOR_RED,"METH SCHUPPEN BETRETEN");
SetPVarInt(playerid,"StateChange",1);
SetTimerEx("StateChangeTimer",2000,false,"i",playerid);
break;
}
}
}
return 1;
}
Alles anzeigen
Funktioniert soweit allerding spuckt die console nun diese warnings aus
so sieht nun der befehl aus
ocmd:set(playerid,params[])
{
new pID,menge,varname[28],name[MAX_PLAYER_NAME];
if(sscanf(params,"siu",varname,menge,pID)) return SendClientMessage(playerid,COLOR_RED,"Benutze /set [money/koks/meth] [menge] [PLAYERID/NAME]!");
GetPlayerName(pID,name,sizeof(name));
if(!strcmp(varname,"money", true))
{
GivePlayerMoney(pID,menge);
return 1;
}
if(!strcmp(varname,"koks", true))
{
tInfo[pID][koks] = menge;
return 1;
}
if(!strcmp(varname,"meth", true))
{
tInfo[pID][meth] = menge;
return 1;
}
return 1;
}
Alles anzeigen
Moin leute ich mal wieder,
habe eine Frage wie gehe ich vor wenn ich seinen /set [money/koks/meth] [menge] [PLAYERID/NAME] befehl scripten möchte:
mein Code bis jetzt allerdings weis ich nicht wie ich jetzt auslese ob er money koks oder meth eingegeben hat .
Ja wie oben schon erwähnt suche ich jemanden der ganz eigenständig paar Maps erstellen will er hat eigentlich alles Freiheiten über Standort und Gestaltung und eventuelle gimmicks die später per script dazu kommen sollen.
Also wer Lust am Mappen hat und etwas Zeit der kann sich gerne bei mir melden
Ich habe nun die werte von der Verkaufen carid alle auf 0 zurücksetzen lassen da gings wieder ![]()
Ich kann jetzt zwar jedes auto verkaufen allerding ein anderes problem Bsp: Ich kaufe mir ein auto ID0 bekommt es zugewiesen. Ich fahre zum sellcar kann es verkaufen alles gut, es wird aus er mySQL gelöscht. So jetzt kaufe weitere bsp. ID1 und D2 dann kann ich 1 und 2 verkaufen sie werden gelöscht aber in dem moment wo ich ID0 verkaufe bekomme ich das geld es wird auf dem server zerstört aber in der DB nicht gelöscht und das ist nur wenn er in cInfo die ID0 zugewiesen bekommen hat. Was könnte das sein?
Kannst du mir den Code vielleicht mal so umschreiben? Wie du das meinst
Moin leute ich habe ein problem mit meinem Sellcar befehl er liest immer nur das erste erstellte auto aus und nicjt solange bis er wirklich die id gefunden hat die er soll.
hier einmal mein code
ocmd:sellcar(playerid)
{
new vID = GetPlayerVehicleID(playerid);
new carid;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du sitzt in keinem Fahrzeug");
{
for(new k=0; k<sizeof(resaleInfo); k++)
{
if(!IsPlayerInRangeOfPoint(playerid,5,resaleInfo[k][rsc_x],resaleInfo[k][rsc_y],resaleInfo[k][rsc_z])) return SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Verkaufpuntk");
continue;
}
new string[123];
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][c_id] != vID) return SendClientMessage(playerid,COLOR_RED,"Du sitzt in keinem Fahrzeug das du verkaufen kannst");
if(cInfo[i][besitzer] != sInfo[playerid][db_pid]) return SendClientMessage(playerid,COLOR_RED,"Dieses Fahrzeug gehört dir nicht");
new query[128];
GivePlayerMoney(playerid,cInfo[i][c_resale]);
format(string,sizeof(string),"Fahrzeug cINFO %i erfolgreich verkauf",cInfo[i][c_id]);
SendClientMessage(playerid,COLOR_RED,string);
format(query, sizeof(query), "DELETE FROM cars WHERE id='%i'",cInfo[i][db_id]);
mysql_function_query(dbhandle,query,false,"","");
DestroyVehicle(cInfo[i][c_id]);
sInfo[playerid][carkey] = sInfo[playerid][carkey]-1;
break;
}
}
return 1;
}
Alles anzeigen
Wie sieht dein Code jetzt aus?
public onLoadPlayerCars()
{
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=getFreeCarId(),string[128],pstring[128];
cInfo[id][c_model]=cache_get_field_content_int(i,"model",dbhandle);
cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
cInfo[id][c_color1]=cache_get_field_content_int(i,"color1",dbhandle);
cInfo[id][c_color2]=cache_get_field_content_int(i,"color2",dbhandle);
cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
cInfo[id][c_id]=CreateVehicle(cInfo[id][c_model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][c_color1],cInfo[id][c_color2],-1,0);
format(pstring,sizeof(pstring),"SA-%s",cache_get_field_content(i,"ownername",string));
SetVehicleNumberPlate(cInfo[id][c_id],pstring);
}
return 1;
}
}
Alles anzeigen
Ich habe auch einen Checkbefehl gemacht da wird beim string nichts ausgegeben!
so sieht meine struktur in der db aus
Danke erstmal allerdings funktionier das auch nicht so wirklich nun steht auf dem Nummernschild nur []
Ja schon klar allerdings liest er den string aus der Mysql datenbank nicht aus
Ja moin es geht darum ich speichere in der DB ein Nummernschilder beim createn wird es auch richtig gesoeichert.
Jedoch setzt er es nicht wenn er die Fahrzeuge lädt.
hier mal der code :
public onLoadCars()
{
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=getFreeCarId();
cInfo[id][c_model]=cache_get_field_content_int(i,"model",dbhandle);
cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
cInfo[id][c_color1]=cache_get_field_content_int(i,"color1",dbhandle);
cInfo[id][c_color2]=cache_get_field_content_int(i,"color2",dbhandle);
cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
cInfo[id][c_plate]=cache_get_field(i,"plate",dbhandle);
CreateVehicle(cInfo[id][c_model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][c_color1],cInfo[id][c_color2],-1,0);
SetVehicleNumberPlate(id,cInfo[id][c_plate]);
}
return 1;
}
Alles anzeigen