Wenn ich das so richtig habe, kann er nur zwischen 12 und 60 Jahre alt sein oder?
if(Age < 12 || Age > 60)
Nein, unter 12 und über 60
Wenn ich das so richtig habe, kann er nur zwischen 12 und 60 Jahre alt sein oder?
if(Age < 12 || Age > 60)
Nein, unter 12 und über 60
Exqoolz erstellst du die Box auch als Erstes?
-------------------------------------------------------------------------------------------------------
new len = strlen(inputtext), pass[16];
PlayerInfo[playerid][dPassword] = len;
Wenn ich dPassword ausgeben lasse, gibt er nichts aus. Hoffe das mir jemand helfen kann.
Mit freundlichen Grüßen
Grapefruit
Alles anzeigenExqoolz erstellst du die Box auch als Erstes?
-------------------------------------------------------------------------------------------------------
new len = strlen(inputtext), pass[16];
PlayerInfo[playerid][dPassword] = len;
Wenn ich dPassword ausgeben lasse, gibt er nichts aus. Hoffe das mir jemand helfen kann.
Mit freundlichen Grüßen
Grapefruit
Jap
Das liegt an deinen Farbcode die können garnicht hinter der Box sein
Grapefruit:
new len = strlen(inputtext), pass[16];
PlayerInfo[playerid][dPassword] = len;
zu:
new len = strlen(inputtext), pass[16];
format(PlayerInfo[playerid][dPassword], 16, inputtext);
enum e_Gangzone
{
gOwner,
Float:gMinX,
Float:gMinY,
Float:gMaxX,
Float:gMaxY,
gRunning,
gScore1,
gScore2,
gAttacker
}
new Gangzones[MAX_GANGZONES][e_Gangzone] = {
{0,1856.0,-1132.0,2063.0,-1257.0,0,0,0,0},
{0,0.0,0.0,0.0,0.0,0,0,0,0}
};
new Gangzone[1];
public OnPlayerSpawn(playerid)
{
PlayerTextDrawHide(playerid, pTextTime[playerid][0]);
PlayerTextDrawHide(playerid, pTextTime[playerid][1]);
PlayerTextDrawHide(playerid, pTextTime[playerid][2]);
PlayerTextDrawHide(playerid, pTextHUD[playerid][17]);
PlayerTextDrawShow(playerid, pTextHUD[playerid][17]);
for(new i; i<sizeof(Gangzones); i++)
{
new color;
if(Gangzones[i][gOwner] == 2){
color = 0x57575757;
}
if(Gangzones[i][gOwner] == 4){
color = 0x23C70202;
}
GangZoneShowForPlayer(playerid, Gangzone[i], color);
}
new datumstring[100], uhrstring[100], framesstring[100], bankstring[100];
format(datumstring, sizeof(datumstring), "%02d.%02d.%04d", tag, monat, jahr);
Seitdem ich diesen for(new-Teil eingefügt habe, geht das OnPlayerSpawn nicht mehr richtig?
Also alles danach wird nicht ausgeführt.
new Gangzone[1];
zu:
new Gangzone[MAX_GANGZONES];
stock IsPlayerInGangzone(playerid)
{
for(new i;i<sizeof(Gangzones);i++)
{
new Float:GetX,Float:GetY,Float:GetZ;
GetPlayerPos(playerid,GetX,GetY,GetZ);
if(Gangzones[i][gMinX] < GetX && Gangzones[i][gMaxX] > GetX && Gangzones[i][gMinY] < GetY && Gangzones[i][gMaxY] > GetY)
{
return i;
}
return -1;
}
return -1;
}
CMD:invade(playerid)
{
if(!IsLoggedIn(playerid))return 1;
if(Spieler[playerid][pFraktion] == 1)return SendClientMessage(playerid, COLOR_GREY, "** Du bist in keiner Gang oder Mafia!");
if(Spieler[playerid][pFraktion] == 3)return SendClientMessage(playerid, COLOR_GREY, "** Du bist in keiner Gang oder Mafia!");
if(Spieler[playerid][pRank] < 7)return SendClientMessage(playerid, COLOR_GREY, "** Du bist kein Co-Leader oder höher.");
if(IsPlayerInGangzone(playerid) > -1)
{
new string[128];
new zone = IsPlayerInGangzone(playerid);
if(Gangzones[zone][gRunning] == 1)return SendClientMessage(playerid,COLOR_GREY,"** Das Gebiet wird bereits angegriffen!");
if(Gangzones[zone][gOwner] == Spieler[playerid][pFraktion]) return SendClientMessage(playerid,COLOR_GREY,"** Ihr seid bereits im Besitz dieses Gebietes.");
Gangzones[zone][gAttacker] = Spieler[playerid][pFraktion];
Gangzones[zone][gRunning] = 1;
SetTimerEx("Gangfight",1800000,0,"i",zone);
format(string, sizeof(string), "[ GANGFIGHT ] Die Fraktion %s greift ein Gebiet der Fraktion %s an!", GetFraktionName(Gangzones[zone][gAttacker]), GetFraktionName(Gangzones[zone][gOwner]));
SendClientMessageToAll(COLOR_ORANGE, string);
}else{
SendClientMessage(playerid, COLOR_GREY, "** Du bist in keinem Gebiet.");
}
return 1;
}
Sagt mir immer, dass ich in keinem Gebiet drin bin?
Hallo.
Ich habe folgendes Problem bei einem Befehl.
Den Befehl gibt es nicht und dieser debug kommt:
[18:40:33] [debug] Run time error 4: "Array index out of bounds"
[18:40:33] [debug] Accessing element at index 18 past array upper bound 17
[18:40:33] [debug] Backtrace (most recent call first):
[18:40:33] [debug] #0 0037c3d0 in public ocmd_bizlist (playerid=0, params[]=@0x00000000 "") at D:\pRP\gamemodes\purerpscript_pub.pwn:38307
[18:40:33] [debug] #1 ???????? in native CallLocalFunction () from samp-server.exe
[18:40:33] [debug] #2 00008484 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00000000 "") at D:\pRP\pawno\include\ocmd.inc:31
for (new i = 0; i < sizeof(BizInfo); i++)
{
format(string, sizeof(string), "%s\n%s [ %i/%i ]", string, BizName(i), BizInfo[i][biz_prods], bMaxProds[BizInfo[i][biz_art]-1][0]); // Zeile 38307
}
ShowPlayerDialog(playerid, DIALOG_TRUCKER_BIZLIST, DIALOG_STYLE_LIST, "Bizliste", string, "Checkpoint", "Abbrechen");
ocmd:
Habe die etwas verändert:
#include <a_samp>
#define ocmd:%1(%2) forward ocmd_%1(%2);\
public ocmd_%1(%2)
public OnPlayerCommandText(playerid,cmdtext[])
{
cmdtext[0]='_';
new ocmdStr[128],ocmdParams[128],bool:ocmdAffe,ocmdFu;
for(new i;i<128;i++)
{
if(cmdtext[i]=='\0')break;
if((cmdtext[i]==' ')&&(!ocmdAffe))
{
ocmdAffe=true;
continue;
}
if(!ocmdAffe)ocmdStr[i]=cmdtext[i];
else
{
ocmdParams[ocmdFu]=cmdtext[i];
ocmdFu++;
}
}
format(ocmdStr,128,"ocmd%s",ocmdStr);
if(!strlen(ocmdParams))format(ocmdParams,128," ");
if(CallLocalFunction(ocmdStr,"ds",playerid,ocmdParams))return 1; // error zeile
cmdtext[0]='/';
return CallLocalFunction("ocmd_OnPlayerCommandText","ds",playerid,cmdtext);
}
#if defined _ALS_OnPlayerCommandText
#undef OnPlayerCommandText
#else
#define _ALS_OnPlayerCommandText
#endif
#define OnPlayerCommandText ocmd_OnPlayerCommandText
forward ocmd_OnPlayerCommandText(playerid, cmdtext[]);
FineTime:
Zur Verhaftung kenne ich diese Animation:
"ped", "ARRESTgun"
Viele (alle?) Animationen findest du auch hier:
https://wiki.sa-mp.com/wiki/Animations
Pascal.: Das ist keine kleine Frage.
Exqoolz: Ebenso. Macht bitte einen Thread auf, das wird nur unübersichtlich, wenn hier jeder irgendwelche Codes postet.
"ARRESTgun" kommt nicht im Video vor. Wichtiger wäre mir aber auch
das Hinlegen auf den Boden und das Anlegen der Handschellen.
Die Animationsliste hab ich mir bereits angesehen und ein paar Animationen
stichprobenartig getestet. Es war jedoch nichts aus dem Intro dabei.
Theoretisch müssten diese Animationen zwar da sein, nur ob man darauf zugreifen kann, oder ob sie wieder entfernt wurden (einige Teile sind wirklich nur aufgenommen) kann ich nicht genau sagen.
Das ARRESTgun kommt da vor, wo die beiden aus dem Polizeiauto aussteigen und die Waffen nach vorne halten.
Möglicherweise kennt jemand durch Zufall die Animationen falls es sie gibt. Ich kenne die nicht alle auswendig, sorry.
Jeffry: Brauche mal wieder deine Hilfe
Ich wollte ein Textdraw austesten mit einem FilterScript. Das Problem ist, beim laden des FilterScripts erscheint das Textdraw nicht. Also habe ich testweise ein Befehl erstellt der diese Funktion ausführt, dann funktioniert es.
Doch das ganze sollte natürlich ohne dem Befehl funktionieren, ich glaube ich habe ein Problem bei OnPlayerConnect.
Wenn unbedingt nötig, kann ich auch ein Beispiel der Textdraws posten, in veränderter Form.
Schaut so aus:
#include <a_samp>
#include <ZCMD>
new Text:DevDisplay[5];
public OnFilterScriptInit()
{
TEXTDRAWS...
TEXTDRAWS...
TEXTDRAWS...
TEXTDRAWS...
TEXTDRAWS...
TEXTDRAWS...
TEXTDRAWS...
return 1;
}
public OnPlayerConnect(playerid)
{
print("OnPlayerConnect wurde im Filterscript aufgerufen");
for(new i = 0; i < 5; i++){TextDrawShowForPlayer(playerid, DevDisplay[i]);}
return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
//Version:
if(clickedid == DevDisplay[1])
{
}
return 1;
}
//Befehle
CMD:test(playerid,params[])
{
for(new i = 0; i < 5; i++){TextDrawShowForPlayer(playerid, DevDisplay[i]);}
return 1;
}
Bei OnFilterScriptInit:
for(new p=0; p<MAX_PLAYERS; p++) for(new i = 0; i < 5; i++) TextDrawShowForPlayer(p, DevDisplay[i]);
Falls das nicht hilft, wird der print bei OnPlayerConnect aufgerufen?
Startest du den Filterscript mit dem Server-Start oder danach mit rcon loadfs?
Hey,
gibt es einen Codeschnipsel um das Fahrzeug zu wählen was bei dir in der nähe ist ? Also das nächste Fahrzeug in deiner nähe ?
Matthew_Mahone: Herrausfinden ob Spieler vor einem Fahrzeug ist
@[LnD]JustMe.77:
Dann sollte es klappen, wenn du nach dem Erstellen der Textdraws ganz unten in OnFilterScriptInit das hier einfügst:
for(new p=0; p<MAX_PLAYERS; p++) for(new i = 0; i < 5; i++) TextDrawShowForPlayer(p, DevDisplay[i]);
OnPlayerConnect wird ja nur aufgerufen, wenn du den Server betrittst, nicht wenn der Filterscript geladen wird.