damit können wir nicht viel anfangen da dein objekt zerstört werden muss
mit DestroyObject
Beiträge von IPrototypeI
-
-
Dazu solltest ein bot erstellen und wie du schon gesagt hattest diesen erstmal recorden und nun halt die cameraposition auf dne bot fixxieren
-
Alles anzeigen
Spoiler anzeigen COMMAND:veh(playerid,params[])
{
if(SpielerInfo[playerid][Adminlevel]<2) return SendClientMessage(playerid, GRAU, "Du hast nicht das benötigte Adminlevel.");
if(aLogin[playerid]!=1) return SendClientMessage(playerid,ROT,"Sie sind nicht als Admin eingeloggt.");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"Du bist nicht zu Fuß unterwegs!");
if(sscanf(params, "iii", carid, Farbe1, Farbe2)) return SendClientMessage(playerid,ROT,"/veh [AutoID] [Farbe1] [Farbe2]");
new carid,Farbe1,Farbe2,Float:VehPos[4], vehicleid;
if(carid<400 || carid>611) return SendClientMessage(playerid,ROT,"Die Fahrzeug-ID muss zwischen 400 und 611 sein!");
if(Farbe1<0 || Farbe1>126) return SendClientMessage(playerid,ROT,"Die FarbID muss zwischen 0 und 126 sein!");
if(Farbe2<0 || Farbe2>126) return SendClientMessage(playerid,ROT,"Sie dürfen nur Zahlen von 0-255 verwenden!");
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(carid,VehPos[0],VehPos[1],VehPos[2],VehPos[3],Farbe1,Farbe2,-1);
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}So ist es sowohl ressourcenschonender als auch Platzschonender gescripted.
Versuch mal obs geht
mal ehrlich wenn er sein sscanf updatet und davor sein command ging und nun nimmer liegt es an sscanf
hast du die normale definition die du vllt im script hast entfernt oder gibt die log ihrgend was aus ob ein fehler existiert.
hm weil ich würde es ja verstehen wenn du ein fehler mit den strings gemacht hättest
aber mit werten ? mehr als die zwei sachen fallen mir auch nicht ein
oder du hast vllt sscanf 2.6 falsch installiert oder du hast es nicht recompiled . -
Ich danke euch - aber ihr braucht keine Angst vor mir haben.
Ich beiße nicht
xD das denken wir nicht glückwunsch hast dir auch redlich verdient für die Hilfe die du immer leistes und für deine Arbeiten Bsp: Das mit den neuen Dialoge
und natürlich auch ein glückwunsch an Sniper und BloodyEric , welche auch einen guten Job machen. -
Naja ich befasse mich gerade auch mehr mit MYSQL
und zu den Erros welche hier viel bekommen will ich anmerken das paar funktionen umgeändert wurdenBsp:
Bei dem bekannten errorerror 017: undefined symbol "mysql_query"
hier wurde mysql_query zu mysql_function_query
native mysql_function_query(connectionHandle, query[], bool:cache, callback[], format[], {Float,_}:...);
//edit
Was wichtiges Vergessen
es lässt sich auch die Version Rc6 benutzen mit der gibt es keine komplikationen wegen den nativsmysql_fetch_row zu mysql_fetch_row_format
hm aber was ich mich frage ist wie benutze ich mysql_function_query mit weniger parameter oder gibts ein alternative dafür
-
Ein bool ist eine variabel die nur 2 Werte abspeicher kann true oder false standart mäßig ist der wert immer auf 0 also false
-
Ich muss auch zu geben das die Farbwahl mit dem starken orange ist an deinem Design fehl am platz. Der Anfang mit den dunklen Grundfarben im main bereich und in der menuleiste lassen gefallen mir und daraus kann man auch was schönes machen wenn man die passenden Farben wählt. Jedoch sollte es dezent bleiben und wie schon oben angemerkt nicht stechend
wirken. -
Beim GF wird es nicht komsich gespeichert
mit
format(var, 32, "Level=%d\n", PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
wird der string hier vom Passwort genommen und die account ini geöffnet von den spielr und rein geschrieben bzw aktualisiert
if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }wird das was unter Level steht herraus genommen in eine variabel übernommen hier val und über strval dem Spieler gegeben
das kannst du auch nochmal
hier genauer nachlesen
[ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden -
Sind aber höchstwarscheinlich gleich. Ein Hacker agiert bestimmt nicht über 10 Rechner oder so.
vpn mehr brauchst du nicht aber unednlich vpns gibts auch nicht hast du 0.3e oder 0.3d -
Ich würde diese Regelung weiterhin bestehen lassen, nur würde ich ein Sammelthread eröffnen

Die Idee von Nekro ist sehr gut ein Sammelthread dazu zu eröffnen da die Regel nach Objekten zu fragen sowieso missachtet wird
und es wird nicht immer ein neuer Thread eröffnet. -
wenn du den Timer schon geschrieben hast musst ihn in den command einfügen mit
SetTimerEx("Name des Timers",900000,0,"i",playerid);1000 millisekunde = 1 Sekunde und die Timer werden in Millisekunden angegeben
-
Alles anzeigen
wenn ich das so mache wie du, erhalte ich errors..
ocmd:tor(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,türkis,"Du bist kein Polizist");
if(IsPlayerInRangeOfPoint(playerid,10, 1592.19, -1638.02, 13.43)) // wenn er in der nehe des Tores ist soll es nur runter/rauf gehen
MoveObject(tor, 1592.19, -1638.02, 13.43-10,10); // und hier gehts runter..
SetTimerEx("torzu", 1000*5, 0, "i", playerid);
}
else if(IsPlayerInRangeOfPoint(playerid, 1548.81, -1627.67, 15.00))
{
MoveObject(tor2, 1548.81, -1627.67, 15.00-10,10);
SetTimerEx("torzu2", 1000*5, 0, "i", playerid);
}
return 1;
}errors:
wn(2007) : warning 209: function "ocmd_tor" should return a value
wn(2008) : error 010: invalid function or declaration
wn(2013) : error 010: invalid function or declaration
der Error kommt davon das du eine Klammer vergessen hast bei
if(IsPlayerInRangeOfPoint(playerid,10, 1592.19, -1638.02, 13.43)) -
Ein Programm wie bei GRP das man nur auf den SA:MP Server Connecten kann wenn man keine S0beit Datei auf dem Rechner hat.
// Wie kann man eig. machen das man per Button auf den Server kann und gleichzeitig ein Passwort eigegeben wird (per Programm)
Sowas ist leicht umgänglich du musst nur die priorität von cleo scripts runter drehen zum bespiel. Weil das script überprüft nur ob du dies beim ausführen
der gta.exe also über samp ob sowas aktiv ist . -
Ich find sie gut nur die Farben hätten anders sein können für zum beispiel Administrator bsp rot
aber im großen und ganzen finde ich sie wie oben schon genannt gut -
benutz doch einfach ein
else if
so als beispielocmd:tor(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,türkis,"Du bist kein Polizist");
if(IsPlayerInRangeOfPoint(playerid,10, 1592.19, -1638.02, 13.43)){
MoveObject(tor, 1592.19, -1638.02, 13.43-10,10); // und hier gehts runter..
SetTimerEx("torzu", 1000*5, 0, "i", playerid);
}else if(IsPlayerInRangeOfPoint(playerid,10, Koord)){
MoveObject(ID,Koord);
SetTimerEx("torzu2", 1000*5, 0, "i", playerid);
}
return 1;
}dafür bräuchtest du noch einen neuen Timer
du kannst es auch professionel machen und das alles mit einem enum machen das auch alle tore mit einem command auf gehen -
Hm richtiger command zum laden eingeben oder schau mal wieso er es nicht laden konnte weil bei MTA ist das anders als bei Samp , es gibt kein compiler der
dir die Erros mitteilt im script diese werden in der console ausgegeben. -
Bei mir startet Object Deleter nicht .
Woran kann das liegen ich mache alles so wie es beschrieben würd.MFG
Max
Sicher das du es im richtigen ordner hast
im Mta ordner bei server => mods => deathmatch => resources
und schau nochmal genau nach auch im richtigen MTA ordner -
Du hast ein fehler das muss
SBizzInfo[1][sbTill] += 250; heißen für Sbizze bei einem normalen Biz nur bTill
-
Vielen danke BlackAce klappt alles hervorragendwas hätte ich nur ohne dich gemacht

wahrscheinlich bis in die Morgenstund weiter rum experimentiert.und wieder was neues dazu gelernt.
-
Guten Tag Breadfishler,
Ich hab ein kleines Problem bei meinem Zollsystem und zwar übernimmt er nicht die weiteren tore, was ich damit genau meine ist
mein erstes definiertes Tor in meinem enum funktioniert ohne Probleme es schließt auch ohne Probleme nun kommt er fehler er springt nicht weiter bei den anderen toren. Was ich vllt vermute ist das er nicht bei der For schleife alle definierten tore durch geht.
Wäre sehr nett wenn eine mir helfen könnte , da ich nun mit meinem Alphabet zu ende bin.enum :
enum zollsystem{
z_id, z_torid, Float: zollx, Float: zolly, Float: zollz, Float: zollax, Float: zollay, Float: zollaz,
Float: azollx, Float: azolly, Float: azollz, Float: azollax, Float: azollay, Float: azollaz, bool: zollvar, bool: zolllock
};
#define MAX_ZOLLE 20
new ZollInfo[MAX_ZOLLE][zollsystem] = {
{0,978,53.61148071,-1525.98864746,4.87745094,0.00000000,0.00000000,83.37002563,53.61148071,-1525.98864746,-6.87745094,0.00000000,0.00000000,83.37002563,false,false},
{1,978,55.77261353,-1539.03112793,4.95321989,0.00000000,0.50000000,79.91503906,55.77261353,-1539.03112793,-6.95321989,0.00000000,0.50000000,79.91503906,false,false},
{2,978,-981.43225098,-381.12454224,36.21669388,0.00000000,0.00000000,350.00000000,-981.43225098,-381.12454224,26.21669388,0.00000000,0.00000000,350.00000000,false,false}nur eine Auschnitt
der command:
ocmd:zoll(playerid,params[])
{
#pragma unused params
for(new i;i<sizeof(ZollInfo);i++){
if(ZollInfo[i][zolllock] == true) return SendClientMessage(playerid,COLOR_WHITE,"Der Zoll wurde gesperrt!");
if(IsPlayerInRangeOfPoint(playerid, 4.0, ZollInfo[i][zollx], ZollInfo[i][zolly], ZollInfo[i][zollz])){
if(ZollInfo[i][zollvar] == false){
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, COLOR_GREEN, "Zollgebühr in Höhe von 100$ bezahlt | Gute Weiterfahrt!");
MoveObject(ZollInfo[i][z_id],ZollInfo[i][azollx],ZollInfo[i][azolly],ZollInfo[i][azollz], 3.5, ZollInfo[i][azollax],ZollInfo[i][azollay],ZollInfo[i][azollaz]);
ZollInfo[i][zollvar] = true;
SetTimer("closegate", 3000, 0);
}
}else{ return SendClientMessage(playerid,COLOR_WHITE,"Du bist an keinem Zoll!");}
}
return 1;
}auch die tore werden erstellt ohne probleme
for(new i=0;i<MAX_ZOLLE;i++){
ZollInfo[i][z_id] = CreateObject(ZollInfo[i][z_torid],ZollInfo[i][zollx],ZollInfo[i][zolly],ZollInfo[i][zollz],ZollInfo[i][zollax],ZollInfo[i][zollay],ZollInfo[i][zollaz]);
}Ich hoffe eine rkann mir helfen.
ich hab es auch bei dem command auch anderes probiert
mit
for(new i=0;i<MAX_ZOLLE;i++)
aber dort ist es das selbe und es macht auch keinen großen unterschied zu for(new i;i<sizeof(ZollInfo);i++)/Edit
Ich habe noch etwas rum getestet und kam zu dem ergebnis das die Werte in der for schleife nicht durchgegangen werden. Sprich ich kann in
i bei der for schleife den wert 1 geben und ich kann nur das Tor mit der id 1 aufmachen
vllt bringt es was in der Problemlösung , ich selbst hab den fehler immer noch nicht gefunden.