-
Hali!
Tudom már van ilyen topik, nézegettem is de nekem nem világos :(
A segítségeteket szeretném kérni.
Van 3 TextDraw-om amiknek a nevei:textdraw1
textdraw2
textdraw3
És olyat szeretnék pl:/textdraw on akkor a textdrawok megjelennek,
/textdraw off akkor a textdrawok eltûnnek.
És alapból amikor elindítom a szervert akkor jelenjen meg.
Elõrre is köszönöm ha szántok rám idõt :)
-
Remélem jó,
public OnPlayerConnect ( playerid )
{
TextDrawShowForPlayer ( playerid, texdraw1 );
TextDrawShowForPlayer ( playerid, texdraw2 );
TextDrawShowForPlayer ( playerid, texdraw3 );
return 1;
}
OnPlayerCommandText ( playerid, cmdtext [ ] )
{
if ( strcmp ( cmdtext, \"/textdraw\", true ) == 0 )
{
new i_str [ 4 ];
i_str = strtok ( cmdtext, idx );
if ( !strlen ( i_str ) ) return SendClientMessage ( playerid, 0xFFFFFF, \"Használat: /textdraw [ ON -OFF]\" );
else if ( strcmp ( i_str,\"on\", true ) == 0 )
{
TextDrawShowForPlayer ( playerid, textdraw1 );
TextDrawShowForPlayer ( playerid, textdraw2 );
TextDrawShowForPlayer ( playerid, textdraw3 );
return 1;
}
else if ( strcmp ( i_str,\"off\",true ) == 0 )
{
TextDrawHideForPlayer ( playerid, textdraw1 );
TextDrawHideForPlayer ( playerid, textdraw2 );
TextDrawHideForPlayer ( playerid, textdraw3 );
return 1;
}
return 1;
}
return 0;
}
-
Köszi de beraktam és két error van:
C:\\Documents and Settings\\Feri\\Asztal\\SZERVER\\samp03csvr_win32\\gamemodes\\freerun.pwn(3315) : error 017: undefined symbol \"strtok\"
C:\\Documents and Settings\\Feri\\Asztal\\SZERVER\\samp03csvr_win32\\gamemodes\\freerun.pwn(3315) : error 033: array must be indexed (variable \"i_str\")
Lehet én vagyok hozzá hülye :D
-
töltsd le a dini include-t
-
Megvan de még mindig nem jó :S
Ötletek?
-
töltsd le a dini include-t
Mi köze van a dininek a TextDrawokhoz.
Amúgy rakd be a mód / filterszkript aljára a strtok kódot.
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
-
Hát elõször is köszi hogy foglalkoztok velem de én megõrülök :D
Megint 2 error
C:\\DOCUME~1\\Feri\\Asztal\\SZERVER\\SAMP03~1\\GAMEMO~1\\freerun.pwn(3315) : error 017: undefined symbol \"idx\"
C:\\DOCUME~1\\Feri\\Asztal\\SZERVER\\SAMP03~1\\GAMEMO~1\\freerun.pwn(3315) : error 047: array sizes do not match, or destination array is too small
-
Bocs... 1-2 dolog lemaradt az elõbb. :D
Tessék,
public OnPlayerConnect ( playerid )
{
TextDrawShowForPlayer ( playerid, texdraw1 );
TextDrawShowForPlayer ( playerid, texdraw2 );
TextDrawShowForPlayer ( playerid, texdraw3 );
return 1;
}
OnPlayerCommandText ( playerid, cmdtext [ ] )
{
new idx;
if ( strcmp ( cmdtext, \"/textdraw\", true ) == 0 )
{
new i_str [ 4 ];
i_str = strtok ( cmdtext, idx );
if ( !strlen ( i_str ) ) return SendClientMessage ( playerid, 0xFFFFFF, \"Használat: /textdraw [ ON -OFF]\" );
else if ( strcmp ( i_str,\"on\", true ) == 0 )
{
TextDrawShowForPlayer ( playerid, textdraw1 );
TextDrawShowForPlayer ( playerid, textdraw2 );
TextDrawShowForPlayer ( playerid, textdraw3 );
return 1;
}
else if ( strcmp ( i_str,\"off\",true ) == 0 )
{
TextDrawHideForPlayer ( playerid, textdraw1 );
TextDrawHideForPlayer ( playerid, textdraw2 );
TextDrawHideForPlayer ( playerid, textdraw3 );
return 1;
}
return 1;
}
return 0;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
-
Még 1 error:
C:\\Documents and Settings\\Feri\\Asztal\\SZERVER\\samp03csvr_win32\\gamemodes\\freerun.pwn(3317) : error 047: array sizes do not match, or destination array is too small
3317. sor:
i_str = strtok ( cmdtext, idx );
Nemigaz mennyi baj van velem :D
-
LoL :D
Elírtam az i_str méretét... ???
cseréld ki erre:
new i_str [ 24 ];
-
Na beraktam, nincs error viszont ha beírom h /textdraw nem ír semmit ha meg /textdraw on /textdraw off akkor Nem létezõ parancs
HELP
-
lambo96[]\" post=\"112155\" timestamp=\"1297272452\"]
Na beraktam, nincs error viszont ha beírom h /textdraw nem ír semmit ha meg /textdraw on /textdraw off akkor Nem létezõ parancs
HELP
[/quote]
Látszik, már nem vágom a sima parancsokat. :(
Remélem van sscanf és zcmd. :D
public OnPlayerConnect ( playerid )
{
TextDrawShowForPlayer ( playerid, texdraw1 );
TextDrawShowForPlayer ( playerid, texdraw2 );
TextDrawShowForPlayer ( playerid, texdraw3 );
return 1;
}
CMD:textdraw ( playerid, params [ ] )
{
new i_str [ 24 ];
if ( sscanf ( params, \"s[24]\", i_str ) ) return SendClientMessage ( playerid, 0xFFFFFF, \"Használat: /textdraw [ ON -OFF]\" );
else if ( strcmp ( i_str,\"on\", true ) == 0 )
{
TextDrawShowForPlayer ( playerid, textdraw1 );
TextDrawShowForPlayer ( playerid, textdraw2 );
TextDrawShowForPlayer ( playerid, textdraw3 );
return 1;
}
else if ( strcmp ( i_str,\"off\",true ) == 0 )
{
TextDrawHideForPlayer ( playerid, textdraw1 );
TextDrawHideForPlayer ( playerid, textdraw2 );
TextDrawHideForPlayer ( playerid, textdraw3 );
return 1;
}
return 1;
}