das ist das einzigste was ich finde zu cashflow und das ist das wo es drüber geregelt wird ?
Ja..da wird es geregelt:
Das bedeutet, dass der Spieler einen Lohn zwischen 75$ & 114$ bekommt.
Das wird "zufällig" bestimmt, wie viel das genau ist ![]()
das ist das einzigste was ich finde zu cashflow und das ist das wo es drüber geregelt wird ?
Ja..da wird es geregelt:
Das bedeutet, dass der Spieler einen Lohn zwischen 75$ & 114$ bekommt.
Das wird "zufällig" bestimmt, wie viel das genau ist ![]()
....nichts für ungut...aber ich erkenne da gar nichts drauf..
Wo ist die Passwort schrift links hin?!
...was zur hölle?! ![]()
//Edit:
Spieler[playerid][pLohn] += cashflow;
Da wird...der Lohn erhöht...
Jetzt musste nur noch rausfinden wo du cashflow...deklarierst und editierst ![]()
wo wird pLohn ein wert zugewissen oder wie sieht es aus wenn ein enum ein wert zugewissen wird
Naja...irgendwo in deinem Skript...suche doch mal nach pLohn...
Aussehen tut das in etwa so:
//Wenn das enum auf eine Spieler-Variable bezogen ist..Variablenname ist natürlich nur fiktiv
SpielerInfo[playerid][pLohn] = 500;
danke wie kann ich einbauen bei Skill 4 wen der Spieler in ein Burrito sitzt kann er 50 Pakete nehmen wen er zu fuß unterwegs ist 20 Pakete
Versuche dich doch mal selbst..an deinen eigenen Systemen ![]()
Paar Code..schnipsel:
if(SpielerInfo[playerid][pWaffenSkill] == 4)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 482)
{
//Hier sitzt er in einem Burrito
if((pPacketsWD[playerid]+menge) > 40) return SendClientMessage(playerid,-1,"* Mehr als 40 Pakete!");
}
else
{
//Hier zu Fuß oder in einem anderen Fahrzeug
if((pPacketsWD[playerid]+menge) > 20) return SendClientMessage(playerid,-1,"* Mehr als 20 Pakete!");
}
}
Alles anzeigen
So?
Neiiin...ich sagte:
..du kannst kein if..in einem if Verwenden
Da steht doch jetzt immer noch ein if drinnen ...
if(Spieler[playerid][pWaffenSkill] == 1 && (pPacketsWD[playerid]+menge) > 5)
So wäre es richtig..
else if(Spieler[playerid][pWaffenSkill] == 5 && if(pPacketsWD[playerid]+menge) > 10)
Lesen kannst du aber schon oder? ![]()
...da stehen doch eindeutig 2 if's ![]()
Ich kann es nicht anklicken.
Das liegt an deinen Daten von TextDrawTextSize
Die sind ... unsinn...
//Mach das mal so:
TextDrawTextSize(Logint[2], 397.5, 16.0);
TextDrawTextSize(Logint[4], 397.5, 16.0);
es bleibt aber gleich?
..du kannst kein if..in einem if Verwenden ![]()
Wo liegt da mein Problem ?
Ja..das Frage ich mich auch...wo liegt denn dein Problem...beschreibe doch mal was nicht funktioniert?
Zeigst du die TextDraws..auch dem Spieler an...wo..und was willst du machen?
und dir ist klar, dass ~n~ einfach nur ein Zeilenumbruch ist..und du da nichts sehen wirst? ![]()
Das passiert, wenn du einen Actor in einem Interior (VirtualWorld 0) hast und keiner in dem Interior ist und InteriorID > 0.
Am besten du machst eine Art Actor Streamer...wenn jemand betritt, erstellst du den Actor..wenn der letzte den Interior verlässt (bzw keiner mehr in der Nähe ist evtl einfacher zu checken) zerstörst du den Actor ![]()
Dann verrutscht der Actor auch nicht o.ä. xD
if(sscanf(params, "s[30]i",Option)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
Ersetze diese Zeile zu:
if(IsNull(params)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
format(Option,30,params);
Oder liegt es evtl. an meinem Code?
Ja, du nutzt mehrmals die random Funktion...dadurch verändern sich die Koordinaten ![]()
new Float:X = float(random(floatround(dmZone[i][maxX]) - floatround(dmZone[i][minX])) + floatround(dmZone[i][minX]));
new Float:Y = float(random(floatround(dmZone[i][maxY]) - floatround(dmZone[i][minY])) + floatround(dmZone[i][minY]));
new Float:Z;
MapAndreas_FindZ_For2DCoord(X, Y, Z);
SetPlayerPos(playerid, X, Y, Z);
Wäre nice wenn es jemand wüsste
Na..
Geschwindigkeit = Weg / Zeit
Zeit = Weg / Geschwindigkeit
Also...weg Weg = https://wiki.sa-mp.com/wiki/GetVehicleDistanceFromPoint ...nimmst einfach den Punkt der Bushaltestelle
und teilst diesen durch die aktuelle Geschwindigkeit vom Bus ![]()
...eventuell anpassen mit m/s und km/h ... ![]()
Ansonsten müsste das klappen ![]()
Du musst dir die neuste Version von ocmd downloaden, dann kannst du das so nutzen ![]()
Würde das mit dem "== 0" in "== INVALID_VEHICLE_ID" ändern.
Nein, da:
Return Value: The vehicle ID of the trailer or 0 if no trailer is attached.
Nun da gibt es mehrere Möglichkeiten...eine einfache wäre, jede Position von Mod-Shops oder Pay'NSprays zu nehmen...und zu prüfen, wenn seine Car-Health plötzlich auf 100% ist...ob er da in der Nähe einer dieser Werkstätte ist...dann okay, wenn nicht = CarHeal ![]()
Und halt noch SetVehicleHealth natürlich hooken..und dann für das Fahrzeug eine Ausnahme machen ![]()
//Edit: Ich denke nicht, dass dir das wer perfekt für dein Skript macht...aber schau doch mal nach Anti-Cheats...da fliegen doch ein paar Free Versionen rum ![]()
wie ich diese Anlege bzw. genau für dieses Script erstellen kann ?
In der .rar Datei, die du hier downloadest, befindet sich ein Ordner Namens Datenbank.
Dort ist eine .sql Datei enthalten, die du importieren kannst..durch z.B. phpmyadmin ![]()
Was kann schlimmstenfalls passieren
Nun..wenn du sauber gearbeitet hast...nichts ![]()
Dennoch ist das komisch..was steht denn im log, wenn du z.B. nur die .static Version lädst? ![]()
solche Pointer Errors abzufragen
...da haste doch eine Möglichkeit ![]()
Auf was zeigt denn der Pointer...und was für Errors können denn auftreten die du catchen willst?
Da gibt es doch eigentlich nur... entweder zeigt auf nichts (NULL Pointer)..oder auf eine invalide Cell...was du da doch gecatcht hast ![]()
Rot markierten fehler gefixt, durch neue Mysql.so. Anderer fehler besteht weiterhin.
Man lädt nur die Mysql.so oder die static Version davon..nicht beide ![]()
gibt es dazu garkeine möglichkeit
Das liegt wahrscheinlich daran, dass du zwar einen MySQL Server hast zudem das Skript eine Verbindung aufbaut..aber keine Tabellen o.ä. ![]()
Kannst ja mal das crashdetect Plugin laufen lassen, dann müsste was im Log stehen oder eventuell erstellt sich ein mysql log ![]()
wie mache ich das dass er in einem TruckerVehs sitzen muss?
...nun das sind Basics, schau dir das nochmal an..
Je nachdem wie du das definiert hast...
//Oben im Command einfügen:
if(!IsTruckDriver(playerid)) return SendClientMessage(playerid,-1,"* Sie sind nicht der Fahrer eines Trucks!");
//Funktion
stock IsTruckDriver(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 0;
for(new i; i<sizeof(trucks); i++) //Variablenname trucks anpassen
{
if(IsPlayerInVehicle(playerid, trucks[i])) return 1;
}
return 0;
}
Alles anzeigen
Okay..naja hier paar Beispiel Codes..
//Tipp...wenn du IDs hier noch hinzufügen würdest...könnte der 2. Query schneller ausgeführt werden :)
//Zum Anzeigen:
mysql_pquery(handle, "SELECT `Name` FROM `TableName`", "ShowTeleports", "i", playerid);
forward ShowTeleports(playerid);
public ShowTeleports(playerid)
{
new rows = cache_get_row_count();
new string[512],buffer[32];
for(new i; i<rows; i++)
{
cache_get_row(i, 0, buffer);
format(string,sizeof(string),"%s%s\n",string,buffer);
}
ShowPlayerDialog(playerid,999,DIALOG_STYLE_LIST,"Teleports",string,"Teleport","Abbrechen");
return 1;
}
//Dann unter OnDialogResponse
if(dialogid == 999)
{
if(!response) return 1;
mysql_pquery(handle,"SELECT * FROM `Table_Name`","Teleport","ii",playerid,listitem);
return 1;
}
forward Teleport(playerid,row);
public Teleport(playerid,row)
{
new Float:x = cache_get_field_content_float(row, "PosX");
new Float:y = cache_get_field_content_float(row, "PosY");
new Float:z = cache_get_field_content_float(row, "PosZ");
new Float:a = cache_get_field_content_float(row, "PosA");
new world = cache_get_field_content_int(row, "VW");
new it = cache_get_field_content_int(row, "Int");
SetPlayerInterior(playerid,it);
SetPlayerVirtualWorld(playerid,world);
SetPlayerPos(playerid,x,y,z);
return 1;
}
Alles anzeigen
Achso dazu wollte ich noch sagen das wenn er /gettrailer macht ein Trailer an ihm dran "Spawnen" soll und nicht das er irgendwo steht und ich ihn dann so attache
...vielleicht so etwas..früher schreiben... ![]()
...die einfach spawnen Methode ist meiner Meinung nach..nicht so sinnvoll..denn wenn er z.B. nah an einer Wand steht..oder jemand / etwas hinter ihm ist...spawnt der trailer halt..darein...das könnte leute unter die Map werfen oder autos..in die Luft ![]()
Wie dem auch sei...das würde so aussehen:
ocmd:gettrailer(playerid)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"* Du befindest dich in keinem Fahrzeug!");
new Float:x,Float:y,Float:z,Float:a, v=GetPlayerVehicleID(playerid),Float:length,Float:tmp;
GetVehiclePos(v,x,y,z),GetVehicleZAngle(v, a);
GetVehicleModelInfo(GetVehicleModel(v), VEHICLE_MODEL_INFO_SIZE, tmp, length, tmp);
x += (-((length/2.0)+8.0)) * floatsin(-a, degrees);
y += (-((length/2.0)+8.0)) * floatcos(-a, degrees);
new trailer = CreateVehicle(435,x,y,z,a,-1,-1,-1);
AttachTrailerToVehicle(trailer,v);
return 1;
}
Alles anzeigen