Der kommt bei OnPlayerCommandText
Beiträge von Vince
-
-
Du kannst dir in MTA ein Tor mappen, dann Doppelklick auf das Tor, wenn es offen ist und die Koordinaten rauskopieren. Das gleiche auch noch, wenn es zu ist.
Oben im Script musst du noch:
new Garage;
Und weiter unten bei OnGameModeInit:
Garage = CreateObject(Objekt ID, Koordinaten X Y Z, 0.0000, 0.0000, 0.0000);
if (strcmp(cmdtext, "/Command", true) == 0)
{
MoveObject(Garage,Deine Koordinaten,1.5);//1.5 = Geschwindigkeit des Tores
SendClientMessage(playerid, COLOR_BLUE, "** Beamter: Die Tore werden geschlossen **");
return 1;
}
if (strcmp(cmdtext, "/Command", true) == 0)
{
MoveObject(Garage,Deine Koordinaten,1.5); //1.5 = Geschwindigkeit des Tores
SendClientMessage(playerid, Deine Farbe, "** Beamter: Die Tore werden geöffnet **");
return 1;
}Ich hoffe, das ist so verständlich für dich
Edit: Schreibfehler
-
Habs rausgefunden.
Alle die das wissen möchten:
Hier ist ne Anleitung von MTA in SAMP:
-
Hi,
Ich habe ein FS, bei dem, wenn man Gas gibt, feuer hinten raus kommt..
Das hat mir jemand abgeändert, und zwar so, dass man nun /feueran und /feueraus machen muss..
Doch jetz geht kein einziger Command mehr vom Gamemode, nur noch die 2..
Hier das FS:
#include <a_samp>
new fire[MAX_PLAYERS],firee[MAX_PLAYERS],fireee[MAX_PLAYERS],fireeee[MAX_PLAYERS],fireeeee[MAX_PLAYERS],fireeeeee[MAX_PLAYERS],fireinfo[MAX_PLAYERS];
public OnFilterScriptInit()
{
return 1;
}public OnFilterScriptExit()
{
return 1;
}public OnPlayerConnect(playerid)
{
fireinfo[playerid] = 0;
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
new model = GetPlayerVehicleID(playerid);
model = GetVehicleModel(model);
if(strcmp(cmdtext,"/Feueran",true)==0)
{
if(model == 400||model == 401||model == 402||model == 404||model == 405||model == 410
||model == 411||model == 412||model == 413||model == 415||model == 418||model == 419
||model == 420||model == 421||model == 422||model == 426||model == 429||model == 436
||model == 438||model == 439||model == 440||model == 445||model == 451||model == 458
||model == 459||model == 466||model == 467||model == 470||model == 474||model == 475
||model == 477||model == 478||model == 479||model == 480||model == 482||model == 489
||model == 490||model == 491||model == 492||model == 494||model == 495||model == 496
||model == 500||model == 502||model == 503||model == 504||model == 505||model == 506
||model == 507||model == 516||model == 517||model == 518||model == 526||model == 527
||model == 528||model == 529||model == 533||model == 534||model == 535||model == 536
||model == 540||model == 541||model == 542||model == 543||model == 546||model == 547
||model == 549||model == 550||model == 551||model == 554||model == 555||model == 558
||model == 559||model == 560||model == 561||model == 562||model == 565||model == 566
||model == 567||model == 568||model == 575||model == 576||model == 579||model == 580
||model == 582||model == 585||model == 587||model == 589||model == 596||model == 597
||model == 598||model == 599||model == 600||model == 602||model == 603||model == 604||model == 605)
{
if(fireinfo[playerid] == 0)
{
fire[playerid] = CreateObject(18694,0,0,0,0,0,0);
firee[playerid] = CreateObject(18694,0,0,0,0,0,0);
fireee[playerid] = CreateObject(18694,0,0,0,0,0,0);
fireeee[playerid] = CreateObject(18694,0,0,0,0,0,0);
AttachObjectToVehicle(fire[playerid], GetPlayerVehicleID(playerid), -0.8, 2.0, -2.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(firee[playerid], GetPlayerVehicleID(playerid), 0.8, 2.0, -2.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(fireee[playerid], GetPlayerVehicleID(playerid), -0.8, -2.0, -2.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(fireeee[playerid], GetPlayerVehicleID(playerid), 0.8, -2.0, -2.0, 0.0, 0.0, 0.0);
fireinfo[playerid] = 1;
}
}
if(model == 465||model == 448||model == 581||model == 522||model == 461||model == 521
||model == 523||model == 463||model == 586||model == 468)
{
if(fireinfo[playerid] == 0)
{
fireeeee[playerid] = CreateObject(18694,0,0,0,0,0,0);
fireeeeee[playerid] = CreateObject(18694,0,0,0,0,0,0);
AttachObjectToVehicle(fireeeee[playerid], GetPlayerVehicleID(playerid), 0.0, 1.3, -2.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(fireeeeee[playerid], GetPlayerVehicleID(playerid), 0.0, -1.3, -2.0, 0.0, 0.0, 0.0);
fireinfo[playerid] = 1;
}
}
}
else if(strcmp(cmdtext,"/Feueraus",true)==0)
{
if(fireinfo[playerid] == 1)
{
DestroyObject(fire[playerid]);
DestroyObject(firee[playerid]);
DestroyObject(fireee[playerid]);
DestroyObject(fireeee[playerid]);
DestroyObject(fireeeee[playerid]);
DestroyObject(fireeeeee[playerid]);
fireinfo[playerid] = 0;
}
}
return 1;
}Mfg Vince
Edit: Schreibfehler
-
Ich weiss leider nicht, nach was ich da suchen soll..
-
Die neuen Objekte werden ja überschrieben in MTA..
Bei mir auf dem Server werden immer noch die alten angezeigt..
Also den neuen Objects werden keine neuen ID's zugeschrieben, nur das Objekt wird geändert...
-
So habs ausprobiert..
Funtkioniert nicht..
was muss ich amchen, damit die 0.3c Objekte angezeigt werden?
-
Aber wandelt der auch die ganz neuen Objekte um?
Sprich RC1-RC6 oder so?
-
Hi,
Also, ich habe einige Tutorials schon gelesen, wie man die 0.3c Objekte in MTA bekommt und ich habe es auch geschafft.. Doch wie bringe ich die Objekte von MTA wieder zu den Samp Objekten?
Dann sind nämlich wieder die Originalen da, habs ausprobiert..
Gibts da einen speziellen Konverter oder weiss ich was?
Mfg Vince
-
Wenn ich das alles unten dranhänge, stürzt der Compiler ab O.o
-
Hab ich gemacht, doch der Cmd /v funktioniert nicht..
-
Edit:
Commands funktionieren nicht, wenn ich compilen will, sagt der mir, dass sscanf nich da ist. Ich hab sscanf2.. Ist das was anderes?
-
Hast du keine Backups oder so?
-
Hi,
Neoner hat mir ein /veh System gemacht, aber es funktioniert nicht ganz richtig..
Es gibt 5 Slots, jeder kann /veh machen.. und mit /dveh sollten die Autos wieder entfernt werden, aber es entfernt sich immer nur 1. Obwohl alle weg sollten..
Hier Pastebin:
#include <a_samp>
#include <sscanf>#define FILTERSCRIPT
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_RED 0xFF0000FFnew veh_1[MAX_PLAYERS];
new veh_2[MAX_PLAYERS];
new veh_3[MAX_PLAYERS];
new veh_4[MAX_PLAYERS];
new Float:x;
new Float:y;
new Float:z;
new veh_spawned1[MAX_PLAYERS];
new veh_spawned2[MAX_PLAYERS];
new veh_spawned3[MAX_PLAYERS];
new veh_spawned4[MAX_PLAYERS];public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/dveh",true)==0)
{
DestroyVehicle(veh_1[playerid]);
DestroyVehicle(veh_2[playerid]);
DestroyVehicle(veh_3[playerid]);
DestroyVehicle(veh_4[playerid]);
veh_spawned1[playerid]=0;
veh_spawned2[playerid]=0;
veh_spawned3[playerid]=0;
veh_spawned4[playerid]=0;
SendClientMessage(playerid,COLOR_RED,"Deine Fahrzeuge wurden Zerstört.");
return 1;
}
dcmd(v,1,cmdtext);
return 0;
}public OnPlayerConnect(playerid)
{
veh_spawned1[playerid]=0;
veh_spawned2[playerid]=0;
veh_spawned3[playerid]=0;
veh_spawned4[playerid]=0;
return 1;
}dcmd_v(playerid,params[])
{
new veh,color1,color2;
if(sscanf(params,"ddd",veh,color1,color2)){
return SendClientMessage(playerid,COLOR_RED,"Nutzung: /veh [vehicleID] [color1] [color2]");
}
if(veh < 400){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Fahrzeug ID! Nur ID's Zwischen [400-611] erlaubt.");
}
if(veh > 611){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Fahrzeug ID! Nur ID's Zwischen [400-611] erlaubt.");
}
if(color1 < 0){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Farb ID.Nur Farben zwischen [0-126] gestattet.");
}
if(color1 > 126){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Farb ID.Nur Farben zwischen [0-126] gestattet.");
}
if(color2 < 0){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Farb ID.Nur Farben zwischen [0-126] gestattet.");
}
if(color2 > 126){
return SendClientMessage(playerid,COLOR_RED,"Fehlerhafte Farb ID.Nur Farben zwischen [0-126] gestattet.");
}
if(veh_spawned1[playerid] == 0)
{
GetPlayerPos(playerid,x,y,z);
veh_1[playerid]=CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
veh_spawned1[playerid]==1;
exit;
}
if(veh_spawned2[playerid] == 0)
{
GetPlayerPos(playerid,x,y,z);
veh_2[playerid]=CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
veh_spawned2[playerid]==1;
exit;
}
if(veh_spawned3[playerid] == 0)
{
GetPlayerPos(playerid,x,y,z);
veh_3[playerid]=CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
veh_spawned3[playerid]==1;
exit;
}
if(veh_spawned4[playerid] == 0)
{
GetPlayerPos(playerid,x,y,z);
veh_4[playerid]=CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
veh_spawned4[playerid]==1;
exit;
}
if(veh_spawned4[playerid] == 1)
{
SendClientMessage(playerid,COLOR_RED,"Du hast dir bereits 4 Fahrzeuge Gespawnt.");
SendClientMessage(playerid,COLOR_RED,"Lösche diese Fahrzeuge erst mit dem befehl /dveh");
SendClientMessage(playerid,COLOR_RED,"Nachdem du das getan hast, kannst du dir wieder Fahrzeuge Spawnen.");
exit;
}
return 1;
}Mfg Vince
Edit: Direktcode
Edit: Edit vergessen
Edit: Was im Script vergessen.. -
Das mit den Mods ist so ne Sache.. Auf manchen Server läuft alles perfekt, auf anderen üüberhaupt nicht..
Ich selbst hab ein paar Car Mods drinne und bekomm hin und wieder Warnings und Crashs..
Also wenn dich das zu sehr stört, mach die Mods wieder raus..
-
Funktioniert bei mir nicht..
Wenn ich das FS reinmache, gehen alle Cmds nicht mehr..
nur noch /vcontrol, aber auch sonst keine Wirkungen bzw Lichter/Motorhaube etc. gehen auch nicht auf..
-
Joa, habs grad probiert...
Geht aber immer Connecten wieder raus, paar Leerzeichen, wieder connecten, bis gut ist
Ok, vielen Dank!
Warst eine groosse Hilfe für mich!
Mfg Vince
-
Und Zentrieren?
Also ich möchte, dass es nachher so im Server ist:
(¯`·._.·[Server News]·._.·´¯)
Besuche uns doch im Forum unter: ..................
-
Edit: Funktioniert wunderbar, kann ich jetz auch 2 SendClientMessage untereinander machen?
-
Wären 5000 nicht 5 Sekunden?
Bei mir sind da 60'000 drinn