• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Pad problem, really need help! I try everything

Status
Not open for further replies.

xNYARLx

Member
Hello. I have problem with pad.
1. D-pad work in game when i have pad without analog stick - OK
2. When i have pad with analog stick, in game work analog stick but not work d-pad too - NO OK
3. In menu don't work d-pad and analog stick (on Polish windows only - i think only on Polish bicouse from another country people don't have this problem in menu!) - NO OK
4. Keyboard work perfectly - OK

CREATE:
GML:
// INPUT VARS

global.input_key_left = -1;
global.input_key_right = -1;
global.input_key_up = -1;
global.input_key_down = -1;
global.input_key_x = -1;
global.input_key_z = -1;
global.input_key_dpad_left = -1;
global.input_key_dpad_right = -1;
global.input_key_dpad_up = -1;
global.input_key_dpad_down = -1;
global.input_key_fall = -1

global.input_key_dpad_left_pressed = -1;
global.input_key_dpad_right_pressed = -1;
global.input_key_dpad_up_pressed = -1;
global.input_key_dpad_down_pressed = -1;
global.input_key_enter_pressed = -1;
global.input_key_grab_pressed = -1;
global.input_key_fall_pressed = -1;
global.input_key_x_pressed = -1;
global.input_key_z_pressed = -1;
global.input_key_shift_pressed = -1;
global.input_key_d_pressed = -1;
global.input_key_ca_l_pressed = -1;
global.input_key_ca_r_pressed = -1;
global.input_key_ca_l2_pressed = -1;
global.input_key_ca_r2_pressed = -1;
global.input_key_pause_pressed = -1;


// DEFAULT [NOT IMPORTANT]

//input_index_default = "";
//input_index = "";
gamepad_connection_show = false;
gamepad_connection_show_n = 0;
gamepad_connection_y = -50;
gamepad_connection_gp_status = "Connected";
gamepad_connection_gp_index = 0;
gamepad_connection_gp_description = "gamepad description";


input_index_default = "keyboard";
input_index = input_index_default;
STEP:
GML:
/// @description INPUT

switch (input_index)
{
    case "keyboard":
        // Check
        global.input_key_left = keyboard_check(vk_left);         //left | grid left
        global.input_key_right = keyboard_check(vk_right);       //right | grid right
        global.input_key_up = keyboard_check(vk_up);             //look up | grid/ladder up
        global.input_key_down = keyboard_check(vk_down);         //look down | grid/ladder down
        global.input_key_x = keyboard_check(ord("X"));           //skill
        global.input_key_z = keyboard_check(ord("Z"));           //spring | higher jump
        global.input_key_shift = keyboard_check(vk_shift);       //run
        global.input_key_dpad_left = keyboard_check(vk_left);    //menu navigation left
        global.input_key_dpad_right = keyboard_check(vk_right);  //menu navigation right
        global.input_key_dpad_up = keyboard_check(vk_up);        //menu navigation up
        global.input_key_dpad_down = keyboard_check(vk_down);    //menu navigation down
        global.input_key_fall = keyboard_check(vk_down);         //fall-through platforms
      

        // Pressed
        global.input_key_dpad_left_pressed = keyboard_check_pressed(vk_left);    //menu navigation left pressed
        global.input_key_dpad_right_pressed = keyboard_check_pressed(vk_right);  //menu navigation right pressed
        global.input_key_dpad_up_pressed = keyboard_check_pressed(vk_up);        //menu navigation up pressed
        global.input_key_dpad_down_pressed = keyboard_check_pressed(vk_down);    //menu navigation down pressed
        global.input_key_enter_pressed = keyboard_check_pressed(vk_enter);       //pause
        global.input_key_grab_pressed = keyboard_check_pressed(vk_up);           //grab grid
        global.input_key_fall_pressed = keyboard_check_pressed(vk_down);         //fall-through platforms
        global.input_key_x_pressed = keyboard_check_pressed(ord("X"));           //skill
        global.input_key_z_pressed = keyboard_check_pressed(ord("Z"));           //jump and swim | wall jump | leave grid
        global.input_key_shift_pressed = keyboard_check_pressed(vk_shift);       //read sign plate
        global.input_key_d_pressed = keyboard_check_pressed(ord("D"));           //reload gun
        global.input_key_ca_l_pressed = keyboard_check_pressed(ord("A"));        //skill --
        global.input_key_ca_r_pressed = keyboard_check_pressed(ord("S"));        //skill ++
        global.input_key_ca_l2_pressed = keyboard_check_pressed(ord("C"));         //bomb
        break;
  
  
    case "gamepad":
        for (var i=0; i<12; i+=1;)
        {
            if gamepad_is_connected(i)
            {
                // Check
                global.input_key_left = gamepad_axis_value(i, gp_axislh) < 0;          //left | grid left
                global.input_key_right = gamepad_axis_value(i, gp_axislh) > 0;           //right | grid right
                global.input_key_up = gamepad_axis_value(i, gp_axislv) < 0;            //look up | grid/ladder up
                global.input_key_down = gamepad_axis_value(i, gp_axislv) > 0;          //look down | grid/ladder down
                global.input_key_x = gamepad_button_value(i, gp_face1);                //shoot
                global.input_key_z = gamepad_button_value(i, gp_face4);                //spring | higher jump
                global.input_key_shift = gamepad_button_check(i, gp_face3);            //run
                global.input_key_dpad_left = gamepad_button_check(i, gp_padl);         //menu navigation left
                global.input_key_dpad_right = gamepad_button_check(i, gp_padr);        //menu navigation right
                global.input_key_dpad_up = gamepad_button_check(i, gp_padu);           //menu navigation up
                global.input_key_dpad_down = gamepad_button_check(i, gp_padd);         //menu navigation down
                global.input_key_fall = gamepad_axis_value(i, gp_axislv) > 0;           //fall-through platforms
      
                // Pressed
                global.input_key_dpad_left_pressed = gamepad_button_check_pressed(i, gp_padl);         //menu navigation left pressed
                global.input_key_dpad_right_pressed = gamepad_button_check_pressed(i, gp_padr);        //menu navigation right pressed
                global.input_key_dpad_up_pressed = gamepad_button_check_pressed(i, gp_padu);           //menu navigation up pressed
                global.input_key_dpad_down_pressed = gamepad_button_check_pressed(i, gp_padd);         //menu navigation down pressed
                global.input_key_enter_pressed = gamepad_button_check_pressed(i, gp_start);            //pause
                global.input_key_grab_pressed = gamepad_axis_value(i, gp_axislv) < 0;                   //grab grid and ladder
                global.input_key_fall_pressed = gamepad_axis_value(i, gp_axislv) > 0;                   //fall-through platforms
                global.input_key_x_pressed = gamepad_button_check_pressed(i, gp_face1);                //shoot
                global.input_key_z_pressed = gamepad_button_check_pressed(i, gp_face4);                //jump and swim | wall jump | grab grid | leave grid
                global.input_key_shift_pressed = gamepad_button_check_pressed(i, gp_face3);            //run
                global.input_key_d_pressed = gamepad_button_check_pressed(i, gp_face2);                //read sign plate
                global.input_key_ca_l_pressed = gamepad_button_check_pressed(i, gp_shoulderlb);        //skill --
                global.input_key_ca_r_pressed = gamepad_button_check_pressed(i, gp_shoulderrb);        //skill ++
                global.input_key_ca_l2_pressed = gamepad_button_check_pressed(i, gp_shoulderl);           //bomb
                global.input_key_ca_r2_pressed = gamepad_button_check_pressed(i, gp_shoulderr);           //skipp tutorial
                global.input_key_pause_pressed = gamepad_button_check_pressed(i, gp_select);           //restart
            }
        }
        break;
}



// HUD animation

if (gamepad_connection_show)
{
    gamepad_connection_y = lerp(gamepad_connection_y, 48, 0.2);
    gamepad_connection_show_n += 1;
    if (gamepad_connection_show_n >= 180)
    {
        gamepad_connection_show_n = 0;
        gamepad_connection_show = false;
    }
}
else
{
    gamepad_connection_y = lerp(gamepad_connection_y, -50, 0.2);
}
DRAW GUI:
GML:
// draw gamepad message conection status

if (gamepad_connection_show)
{
    gamepad_connection_y = lerp(gamepad_connection_y, 32, 0.2);
    gamepad_connection_show_n += 1;
    if (gamepad_connection_show_n >= 180)
    {
        gamepad_connection_show = false;
        gamepad_connection_show_n = 0;
    }
}
else
{
    gamepad_connection_y = lerp(gamepad_connection_y, -50, 0.2);
}
      
      
// draw info
var _xx = gui_w()/2 - 80;
var _yy = gamepad_connection_y;
      
draw_sprite_ext(spr_hud_gamepad, 0, _xx, _yy, 1, 1, 0, c_white, 1);
draw_text(_xx+64, _yy-9, string(gamepad_connection_gp_description)+string(" (")+string(gamepad_connection_gp_index)+string(")\n")+string(gamepad_connection_gp_status));
ASYNC - SYSTEM:
GML:
// get gamepads (any os supports it)

switch (async_load[? "event_type"])
{
    case "gamepad discovered":                     //a game pad has been discovered
        var pad = async_load[? "pad_index"];       //get the pad index value from the async_load map
        gamepad_set_axis_deadzone(pad, 0.5);       //set the "deadzone" for the axis
        gamepad_set_button_threshold(pad, 0.1);    //set the "threshold" for the triggers
      
        // show message and now is using the gamepad
        input_index = "gamepad";
        gamepad_connection_gp_status = "Connected";
        gamepad_connection_gp_index = pad;
        gamepad_connection_gp_description = gamepad_get_description(pad);
        gamepad_connection_show = true;
        break;
  
  
    case "gamepad lost":                           //gamepad has been removed or otherwise disabled
        var pad = async_load[? "pad_index"];       //get the pad index
      
        // show message and now is using default device
        input_index = input_index_default;
        gamepad_connection_gp_status = "Disconnected";
        gamepad_connection_gp_index = pad;
        gamepad_connection_gp_description = gamepad_get_description(pad);
        gamepad_connection_show = true;
        break;
}
 
Last edited:

Nidoking

Member
Could you also show how you're using these variables to perform the actions you say aren't working? That seems to be the important part.
 

xNYARLx

Member
Could you also show how you're using these variables to perform the actions you say aren't working? That seems to be the important part.
GML:
// MOVE AND GRAVITY
   
    // wall jump time
    wall_jump_delay = max(0, wall_jump_delay-1);
   
   
    // only can move freely if is not in a "wall jump"
    if (wall_jump_delay == 0)
    {
        // get main input
        input_h = global.input_key_right - global.input_key_left; // horizontal input
        input_v = global.input_key_down - global.input_key_up; // vertical input
       
        // direction 180 input
        if (abs(input_h) || abs(global.input_key_up)) {
        input_dir180 = point_direction(0,0,input_h, -global.input_key_up);}
       
        // direction 360 input
        if (abs(input_h) || abs(input_v)) {
        input_dir360 = point_direction(0,0,input_h,input_v);}
       
       
        // reset direction if UP or DOWN not pressed
        if !(global.input_key_up || global.input_key_down)
        {
            if (image_xscale == 1) {input_dir180 = 0; input_dir360 = 0;}
            if (image_xscale == -1) {input_dir180 = 180; input_dir360 = 180;}
        }
       
       
        // horizontal movement [hspeed, acceleration + friction]
        if abs(input_h) {hsp += move_speed_acceleration * input_h;} else {hsp = approach(hsp, 0, move_speed_friction);}
    }
    else
    {
        // change the "move direction" in a "wall jump", this will only happen if the player have jumped off the wall
        hsp += wall_jump_delay * wall_jump_dir;
    }
IN MENU - EXAMPLE:
GML:
...
// move cursor
    if (global.input_key_dpad_up_pressed)
    {
        if (menu_main_index > 0)
        {
            audio_play_sound(snd_menu_move, 0, false);
            menu_main_index -= 1;
        }
    }
...
 
Last edited:

Nidoking

Member
Okay, so have another look at your list of problems:

2. When i have pad with analog stick, in game work analog stick but not work d-pad too - NO OK
3. In menu don't work d-pad and analog stick (on Polish windows only - i think only on Polish bicouse from another country people don't have this problem in menu!) - NO OK
And now look at the actual checks you're performing:

input_h = global.input_key_right - global.input_key_left; // horizontal input
input_v = global.input_key_down - global.input_key_up; // vertical input
These are only checking one of the two types of input you're describing. When you use the keyboard, you're setting both sets of input variables on the same function call, but on the gamepad, you've got the axes and the d-pad on two different sets of variables. If you want to use both inputs, you have to use both inputs.
 

xNYARLx

Member
And here I have a problem because I don't know how to add it here now. I have tried in all the ways known to me. And if I add anything with the d-pad, the control on the analog stick does not work for me and d-pad dont work too. :(
 

Nidoking

Member
You're subtracting booleans. I know it's what all the cool tutorials do, but treating them as numbers is a bad idea and is going to hurt you in the long run, as you're discovering. Booleans should be manipulated with boolean operators. Don't write any code. Stop writing code. Instead, describe in actual, natural language what you want to happen. If such-and-such key is pressed or this axis is pressed in this direction, then... and once you've done that, NOW you can write some code to do that.
 

xNYARLx

Member
You're subtracting booleans. I know it's what all the cool tutorials do, but treating them as numbers is a bad idea and is going to hurt you in the long run, as you're discovering. Booleans should be manipulated with boolean operators. Don't write any code. Stop writing code. Instead, describe in actual, natural language what you want to happen. If such-and-such key is pressed or this axis is pressed in this direction, then... and once you've done that, NOW you can write some code to do that.
Unfortunately, everything goes wrong with me then. I just need some example along with my input_h and then it should go. I do this all the time, the only problem is that it doesn't work afterwards.

This code is not mine and I do not understand why the dpad works on a pad without an analog stick, and on pad with analog stick, dpad not work but work an analog stick.

Yes i know there
input_h = global.input_key_right - global.input_key_left; // horizontal input
input_v = global.input_key_down - global.input_key_up; // vertical input
i must put this:
global.input_key_dpad_left = gamepad_button_check(i, gp_padl); //menu navigation left
global.input_key_dpad_right = gamepad_button_check(i, gp_padr); //menu navigation right
global.input_key_dpad_up = gamepad_button_check(i, gp_padu); //menu navigation up
global.input_key_dpad_down = gamepad_button_check(i, gp_padd);
but how? nothing want work. And when i change this for dpad_keys dont work too.


In menu when i make this:
if (global.input_key_dpad_up_pressed || global.input_key_up)
analog stick work but , dpad still dont want work. but is problem, analog stick work very fast
 
Last edited:

kburkhart84

Firehammer Games
This code is not mine and I do not understand why the dpad works on a pad without an analog stick, and only an analog stick, a dpad not work but work an analog stick.
This is your problem. You are using code that you didn't write and don't understand. The only time it is good to use code you don't understand is if it is in a "black box" and is designed to simply add to your game(like many marketplace assets) or is if you actually understand the code. In the first case you may not have to fully understand it to use it since it was designed like that, though as soon as you start making changes you need to understand it. And in the second case you REALLY need to understand it as it may not have even been designed to just bolt-on to a project in a generic manner.
 

xNYARLx

Member
This is your problem. You are using code that you didn't write and don't understand. The only time it is good to use code you don't understand is if it is in a "black box" and is designed to simply add to your game(like many marketplace assets) or is if you actually understand the code. In the first case you may not have to fully understand it to use it since it was designed like that, though as soon as you start making changes you need to understand it. And in the second case you REALLY need to understand it as it may not have even been designed to just bolt-on to a project in a generic manner.
Well, yes, but there is no problem for me to change the keys or add new ones, and so on. The only problem is the one on the menu because there is a problem with Polish windows, in another country pad work normally in the menu. and second i dont can add analog stick and dpad in this same time.
The problem is also that I don't know what command to use, and I've tried many different solutions. And I ask someone to give me some examples. It doesn't need to touch my code at all.
 

kburkhart84

Firehammer Games
If all you need is to figure out how to check the gamepad pads, you can find the functions in the manual. But you keep saying that you tried it and can't make it work with your original code. You contradict yourself.

second i dont can add analog stick and dpad in this same time.
It doesn't need to touch my code at all.
Which is it? Do you need to figure out how to check the gamepads or how to make it work with your code? It CAN be both but you aren't clear on what you need. But if you want to make something work with your code(even if that code isn't directly in the same code as the new code), you still need to understand the code.
 

xNYARLx

Member
If all you need is to figure out how to check the gamepad pads, you can find the functions in the manual. But you keep saying that you tried it and can't make it work with your original code. You contradict yourself.





Which is it? Do you need to figure out how to check the gamepads or how to make it work with your code? It CAN be both but you aren't clear on what you need. But if you want to make something work with your code(even if that code isn't directly in the same code as the new code), you still need to understand the code.
With my code but noboody write it for me for free. Meybe some examples helps me.
 

kburkhart84

Firehammer Games
Can you show me the latest code that you have fixed now? Show me both the code where you check the inputs as well as the code that actually uses them. Please use code tags, and please specify where exactly each piece of code is(step event, script, etc...).
 

xNYARLx

Member
Can you show me the latest code that you have fixed now? Show me both the code where you check the inputs as well as the code that actually uses them. Please use code tags, and please specify where exactly each piece of code is(step event, script, etc...).
I've already restored the original one since it didn't work
 

xNYARLx

Member
Then I guess next time you try adding the DPad stuff again you can post for help, here or in a new topic if it goes for a long time.
The problem is that I can't connect one to the other here.
GML:
        // get main input
        input_h = global.input_key_right - global.input_key_left; // horizontal input
        input_v = global.input_key_down - global.input_key_up; // vertical input
I try make new input "input_h2", try ||, and, or, &&, else, and many other options, no matter if I should use them or not, but then I was already flying blind.

And I don't know where it decides when to use the analog stick when it is in pad... and when not use dpad.

Normally if I want to use two keys together it gives &&, separately but to make them do the same I give ||.
 
Last edited:

kburkhart84

Firehammer Games
To start with, you are still using booleans like numbers, which as someone mentioned above, is a bad thing. A boolean is true/false and should be used as such. It may work right now and is popular in tutorials but really isn't a good thing to do.

The problem is that I can't connect one to the other here.
The code there only uses some global variables...it doesn't actually check any input. You didn't show me any code that checks input so I don't know what you are doing.

And I don't know where it decides when to use the analog stick when it is in pad ... that if it detects that there is an analog stick it doesn't use the dpad.
This is a separate thing...you have to detect the gamepad, and the use if/else statements in some code do do one thing or another based on whether you detected the gamepad. Note that there are 12 gamepad slots on Windows builds so you need to account for that if you want to fully support them. Also note that even if a player has a gamepad connected, they may not want to use it, so you may want to account for that as well.

I specialize in input stuff, input is kinda my thing, so as far as handling the input you are talking with the right person :)
 

xNYARLx

Member
To start with, you are still using booleans like numbers, which as someone mentioned above, is a bad thing. A boolean is true/false and should be used as such. It may work right now and is popular in tutorials but really isn't a good thing to do.



The code there only uses some global variables...it doesn't actually check any input. You didn't show me any code that checks input so I don't know what you are doing.



This is a separate thing...you have to detect the gamepad, and the use if/else statements in some code do do one thing or another based on whether you detected the gamepad. Note that there are 12 gamepad slots on Windows builds so you need to account for that if you want to fully support them. Also note that even if a player has a gamepad connected, they may not want to use it, so you may want to account for that as well.

I specialize in input stuff, input is kinda my thing, so as far as handling the input you are talking with the right person :)
Okay, but I'm too stupid with this. inputs is my biggest problem. If I ask people about different things here, they will either guide me or I will solve the puzzle myself. Once someone just gave me a simple code. I try to do it myself. But here I am flooded with blood.
 

Nidoking

Member
Stop writing code. Instead, describe in actual, natural language what you want to happen. If such-and-such key is pressed or this axis is pressed in this direction, then...
What was the result when you did this? Where is the natural language description of what you want to happen? Show me that if you want to claim that you're putting any work into this and not just asking people to give you the answer.
 

xNYARLx

Member
To start with, you are still using booleans like numbers, which as someone mentioned above, is a bad thing. A boolean is true/false and should be used as such. It may work right now and is popular in tutorials but really isn't a good thing to do.


It probably can't do otherwise, but it's probably simple and pretty much the same. I'm learning.

The code there only uses some global variables...it doesn't actually check any input. You didn't show me any code that checks input so I don't know what you are doing.

At the beginning I pasted everything I got from it and nothing else.
Only these examples:
GML:
case player_state.walk:
                if (input_dir180 == 0 or input_dir180 == 180) //if pressed right or left, look to right or left
                {
                    sprite_index = spr_pl_shooter_walk; //player sprite
                }
                
                if (input_dir180 == 45 or input_dir180 == 135) //if press Left+Up or Right+Up look to diagonal
                {
                    sprite_index = spr_pl_shooter_walk; //player sprite
                }
                if !(input_h == 0) {image_xscale = input_h;} //flip player
                image_speed = 0.2; //sprite speed
                //if (abs(hsp) > 0) {image_speed = 0.2;} else {image_speed = 0; image_index = 0;}
                break;
GML:
// RUN
    if !(p_state == player_state.idle) && !(p_state == player_state.climb) && !(p_state == player_state.ladder) && !(p_state == player_state.swim) && !(p_state == player_state.jump) && !(p_state == player_state.slide)
    {
        if abs(input_h)
        {
            if (global.input_key_shift)
            {
                player_walk_running = true;
                move_speed = move_speed_run;
            }
            else
            {
                player_walk_running = false;
                move_speed = move_speed_default;
            }
        }
    }
 

xNYARLx

Member
What was the result when you did this? Where is the natural language description of what you want to happen? Show me that if you want to claim that you're putting any work into this and not just asking people to give you the answer.
Proszę Censored ~Tsuk o pomoc, a nie o odpowiedź i gotowy kod. Przetłumacz sobie to. :mad:

What should I write to you, if I press the knob down, I want to select the options below in the menu?
now: global.input_key_down_pressed = gamepad_axis_value(i, gp_axislv) > 0;
GML:
    if (global.input_key_down_pressed)
    {
        if (menu_main_index < array_length(menu_main_array)-1)
        {
            audio_play_sound(snd_menu_move, 0, false);
            menu_main_index += 1;
        }
    }
}
 

kburkhart84

Firehammer Games
Okay, but I'm too stupid with this. inputs is my biggest problem. If I ask people about different things here, they will either guide me or I will solve the puzzle myself. Once someone just gave me a simple code. I try to do it myself. But here I am flooded with blood.
Based on your post history you have a few topics that are now tagged as "solved" so I'm guessing you are learning from all of this. But you can't really expect people to just give you code. What you should be doing is trying to write the code yourself, and then when it doesn't work, you can show that code here. It is one thing to ask about functions that you can typically find in the manual, like which collision function to use in a situation, but you won't likely find many people just giving you code for free(unless it is published as a tutorial for example). If you can show code, ONLY the code that is relevant to the specific question, it will be easier to help you figure out why it isn't working.

At the beginning I pasted everything I got from it and nothing else.
I saw bunches of code at the beginning but I have no way to know what out of that is code that is relevant to the question...you seem to just be copying code from a tutorial and have no idea what it does, and therefore you don't know how to fix it or make it work for your game.

Proszę Censored ~Tsuk o pomoc, a nie o odpowiedź i gotowy kod. Przetłumacz sobie to. :mad:
Talk like this can get you reported. You haven't really shown me either as far as something of code you have written or understood...and you haven't shown any natural language description as requested by Nidoking either. Thanks to this attitude(even if it wasn't directed at me), you will not be getting any help from me. This is my last post in this topic, and like any other topic of your asking for help as long as I remember you. Change your attitude :(
 

xNYARLx

Member
Okay, whatever.
It is alone without grace.
Nowhere did I say that I want a ready code, but I asked for help in explaining it. This kind of Censored ~Tsuk, this friend can leave for his wife. It's nice that he wanted to help, but it turned out awkward. Two in Polish are "commas". Do you want to play racists?

The word Censored ~Tsuk is on our agenda.

And it does not only mean insults but also dissatisfaction. I ask again, do you want to play racist by reporting me for my mother tongue?
I will only add that I did not offend this gentleman in any way...

And I expressed my dissatisfaction because I wrote once that I am not asking for a ready-made code, but for guidance or help in understanding. Apparently, I found that the translator did not translate it well for me and let my colleague translate it himself.

THANKS FOR HELP, OVER AND OUT

Censored ~Tsuk
 
Last edited:

TsukaYuriko

☄️
Forum Staff
Moderator
If you want help, express yourself in a friendly way. Don't expect any help of any kind whatsoever otherwise. If you're unhappy with the help you receive, by all means, let the responder know what kind of help you'd like to receive and what you're having issues with putting the help you've received to good use, but do so politely.
 

xNYARLx

Member
Racism
If you want help, express yourself in a friendly way. Don't expect any help of any kind whatsoever otherwise. If you're unhappy with the help you receive, by all means, let the responder know what kind of help you'd like to receive and what you're having issues with putting the help you've received to good use, but do so politely.
Tsuka... This is a friendly way...
In my language, it depends on how you use the word, it may be ugly but not directed at someone, it does not offend them in any way!!!
He expresses dissatisfaction, Poles talk like this all the time, each of us knows how this word was used, I cannot expect it from you, but ignoring someone like this because you don't understand something is not going in the right direction. I am not English or Italian to behave like them, I am Polish and I have my Polish behavior. What offends you, not me and vice versa.

But there is not even a question of insulting anyone here.

And why is the last sentence censored if it's true?
 
Last edited:
Status
Not open for further replies.
Top