Ich finde, dass der Streamer von Incognito (Klick hier) am besten ist, jedoch solltest du nur objekte die du nicht bewegen willst mit CreateDynamicObject ersetzen ![]()
mfg. ![]()
Ich finde, dass der Streamer von Incognito (Klick hier) am besten ist, jedoch solltest du nur objekte die du nicht bewegen willst mit CreateDynamicObject ersetzen ![]()
mfg. ![]()
Ich habe gelesen der Syntax von "C" ähnelt Pawno mehr?
Pawno und C++ haben einen C-Syntax ![]()
mfg. ![]()
schreibe mal das oben in dein Script, dann sollten ein Paar Fehlermeldungen weg sein:
#pragma tabsize 0
mfg. ![]()
Guten Taag,
ich wollte fragen, ob es eine Möglichkeit gibt, abzufragen ob die InterPolateCameraLookat / Pos an der jeweiligen Position ist.
Wenn dies nicht möglich ist, muss man (z.B. im Tutorial) mit einem Timer arbeiten, oder?
Grüße
Also mir ist außer dem Timer keine Möglichkeit bekannt ![]()
mfg. ![]()
Du verwendest SetTimerEx, damit übergibt man Variablen ![]()
Wenn in dem Callback "Tazer" der Parameter playerid steht, müsste der Timer z.B. so aussehen:
SetTimerEx("Tazer", 10000, 0, "i", playerid);
PS:
TogglePlayerControllable(issuerid, 1);//1 = unfreeze, du musst da ne 0 machen für freeze
mfg. ![]()
So:
dcmd:auto(playerid, params[])
{
new var[128];
if(sscanf(params,"s",var)) return SendClientMessage(playerid,rot,"Verwendung: /auto [Licht/Motor]");
if(strcmp(var,"Licht",true)==0)
{
//Wenn er Licht eingibt
}
else if(strcmp(var,"Motor",true)==0)
{
//Wenn er Motor eingibt
}
return 1;
}
mfg. ![]()
Bei mir gehts jetzt ![]()
War nur vorübergehend nicht erreichbar ![]()
mfg. ![]()
Schreibe es so, ich beziehe mal Goldkillers Post mit ein:
//oben in dein Script
new m, m1;
ocmd:move(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
{
if(!m)
{
m = 1;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);
}
else if(m)
{
m = 0;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);
}
}
else if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
{
if(!m1)
{
m1 = 1;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);//hier musste die objectid noch ändern !
}
else if(m1)
{
m1 = 0;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);//hier musste die objectid noch ändern !
}
}
return 1;
}
mfg. ![]()
//edit:
ups ja, habe das eine else vergessen gehabt
Das macht man am besten mit else if:
ocmd:move(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,5, 1587.0999755859, -1638.4000244141, 14.0))
{
if(Spieler[playerid][Torstatus] == 0)
{
Spieler[playerid][Torstatus] = 1;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 9.0, 5);
}
else if(Spieler[playerid][Torstatus] == 1)
{
Spieler[playerid][Torstatus] = 0;
MoveObject(pdtor1,1587.0999755859, -1638.4000244141, 14.0, 5);
}
}
return 1;
}
mfg. ![]()
#define fraktname 1 [Deine Fraktion]
Totaler Schwachsinn !
Ihr beiden, schaut euch mal das hier an: [ SCRIPTING ] Wie erstelle ich eine Fraktion
habe gerade extra für euch ein Tutorial geschrieben ![]()
mfg. ![]()
Sind immer noch da...
Dann könnte das 2 Gründe haben:
1. Du hast das 2x drinnen aber das eine mal mit (1), dann bitte das mit der (1) löschen.
2. Du hast es falsch eingefügt/vergessen zu compilieren/die falsche .amx geladen...
mfg. ![]()
So:
//unter OnGameModeInit
ShowPlayerMarkers(0);
mfg. ![]()
ich weiß nicht wie ich am besten anfangen soll?
kann mir bitte einer die grundfunktionen geben?
würde ich auch belohnen!
WTF, ich habe dir die Grundfunktionen doch gegeben ![]()
Noch ein Versuch, verstehst du es so besser:
//hier halt mein enum
//Der Ganze Befehl nochmal (in strcmp)
if(strcmp(cmd, "/makeleader", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /makeleader [spielerid] [Frakid]");
new pID, nummer;
pID = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /makeleader [spielerid] [Frakid]");
nummer = strval(tmp);
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
if(nummer > 1 && nummer < 5)
{
new str[128], name[24], pname[24];
GetPlayerName(pID, name, 24);
GetPlayerName(playerid, pname, 24);
format(str, 128,"Du hast Spieler %s zum Leader der id %d gemacht !",name,nummer);
SendClientMessage(playerid,blau,str);
format(str, 128,"Du wurdest von %s zum Leader der id %d gemacht !",pname,nummer);
SendClientMessage(pID,blau,str);
SpielerInfo[pID][sLeader] = nummer;
return 1;
}
else return SendClientMessage(playerid,rot,"Diese Fraktionsid ist ungültig !");
}
//und hier mal ein spawn bsp
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[pID][sLeader] == 1)
{
//was passieren soll, wenn der Spieler in der Frak 1 ist
}
return 1;
}
Und dann noch einfach wie eine gewöhnliche Variable (wie z.B. dein Level oder dein Geld) abspeichern ![]()
mfg. ![]()
hab mit fraktionen noch meine probleme.
Wo klemmt es denn ![]()
naja mit diesem kleinen mini code kann ich nicht viel machen soweit war ich auch schon aber trotzdem danke!
Und es ist kein *piep* GF es ist ein Selfmade!
Wenn du ein "Selfmade" schreiben kannst, wieso schaffst du es dann nicht, einer einfachen Variable einen Wert zu geben ![]()
Eine Fraktion ist nur eine Variable die einen bestimmten Wert hat, das solltest du nicht vergessen.
Einfach eine Variable erstellen, meistens macht man das mit einem enum und speichert diese ab und bei makeleader gibt man dieser Variable einen Wert für die entsprechende Fraktion.
Hier mal ein Bsp:
enum sinfo {
sLeader,
sMember,
sRang
};
new SpielerInfo[MAX_PLAYERS][sinfo];
//bei makeleader
SpielerInfo[playerid][sLeader] = 1;//playerid = Spieler der Leader werden soll
Bitte nicht so einfügen, ich denke mal, das wirft dein GF durcheinander, orientiere dich bitte nur daran ![]()
mfg. ![]()
/e
Muss die Abfrage ob der Spieler online ist auch unter den params?
Schreibe es genau dahin, wo ich es auch hingeschrieben habe ![]()
mfg. ![]()
Du musst die Funktion einfach in einen anderen Callback setzen ![]()
z.B. so:
public OnPlayerConnect(playerid)
{
SetTimerEx("Aendern", 1000, 0, "i", playerid);
return 1;
}
forward Aendern(playerid);
public Aendern(playerid)
{
InterpolateCameraPos(playerid, 2050.978515, 1370.146484, 23.198675, 2084.997558, 1446.584228, 11.660942, 5000);
InterpolateCameraLookAt(playerid, 2047.122680, 1367.145629, 22.136518, 2088.573730, 1450.074584, 11.493004, 5000);
return 1;
}
mfg. ![]()